rds

package
v2.39.1 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Account

type Account struct {
	pulumi.CustomResourceState

	AccountDescription pulumi.StringOutput `pulumi:"accountDescription"`
	AccountName        pulumi.StringOutput `pulumi:"accountName"`
	AccountPassword    pulumi.StringOutput `pulumi:"accountPassword"`
	AccountType        pulumi.StringOutput `pulumi:"accountType"`
	DbInstanceId       pulumi.StringOutput `pulumi:"dbInstanceId"`
	// Database 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.
	//
	// Deprecated: Field 'description' has been deprecated from provider version 1.120.0. New field 'account_description' instead.
	Description pulumi.StringOutput `pulumi:"description"`
	// The Id of instance in which account belongs.
	//
	// Deprecated: Field 'instance_id' has been deprecated from provider version 1.120.0. New field 'db_instance_id' instead.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	// An KMS encrypts password used to a db account. If the `password` 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"`
	// 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.
	//
	// Deprecated: Field 'name' has been deprecated from provider version 1.120.0. New field 'account_name' instead.
	Name pulumi.StringOutput `pulumi:"name"`
	// Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. You have to specify one of `password` and `kmsEncryptedPassword` fields.
	//
	// Deprecated: Field 'password' has been deprecated from provider version 1.120.0. New field 'account_password' instead.
	Password pulumi.StringOutput `pulumi:"password"`
	Status   pulumi.StringOutput `pulumi:"status"`
	// Privilege type of account.
	// - Normal: Common privilege.
	// - Super: High privilege.
	//
	// Deprecated: Field 'type' has been deprecated from provider version 1.120.0. New field 'account_type' instead.
	Type pulumi.StringOutput `pulumi:"type"`
}

## Import

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

```sh

$ pulumi import alicloud:rds/account:Account example "rm-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 added in v2.25.1

func (*Account) ElementType() reflect.Type

func (*Account) ToAccountOutput added in v2.25.1

func (i *Account) ToAccountOutput() AccountOutput

func (*Account) ToAccountOutputWithContext added in v2.25.1

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

func (*Account) ToAccountPtrOutput added in v2.35.1

func (i *Account) ToAccountPtrOutput() AccountPtrOutput

func (*Account) ToAccountPtrOutputWithContext added in v2.35.1

func (i *Account) ToAccountPtrOutputWithContext(ctx context.Context) AccountPtrOutput

type AccountArgs

type AccountArgs struct {
	AccountDescription pulumi.StringPtrInput
	AccountName        pulumi.StringPtrInput
	AccountPassword    pulumi.StringPtrInput
	AccountType        pulumi.StringPtrInput
	DbInstanceId       pulumi.StringPtrInput
	// Database 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.
	//
	// Deprecated: Field 'description' has been deprecated from provider version 1.120.0. New field 'account_description' instead.
	Description pulumi.StringPtrInput
	// The Id of instance in which account belongs.
	//
	// Deprecated: Field 'instance_id' has been deprecated from provider version 1.120.0. New field 'db_instance_id' instead.
	InstanceId pulumi.StringPtrInput
	// An KMS encrypts password used to a db account. If the `password` 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
	// 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.
	//
	// Deprecated: Field 'name' has been deprecated from provider version 1.120.0. New field 'account_name' instead.
	Name pulumi.StringPtrInput
	// Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. You have to specify one of `password` and `kmsEncryptedPassword` fields.
	//
	// Deprecated: Field 'password' has been deprecated from provider version 1.120.0. New field 'account_password' instead.
	Password pulumi.StringPtrInput
	// Privilege type of account.
	// - Normal: Common privilege.
	// - Super: High privilege.
	//
	// Deprecated: Field 'type' has been deprecated from provider version 1.120.0. New field 'account_type' instead.
	Type pulumi.StringPtrInput
}

The set of arguments for constructing a Account resource.

func (AccountArgs) ElementType

func (AccountArgs) ElementType() reflect.Type

type AccountArray added in v2.35.1

type AccountArray []AccountInput

func (AccountArray) ElementType added in v2.35.1

func (AccountArray) ElementType() reflect.Type

func (AccountArray) ToAccountArrayOutput added in v2.35.1

func (i AccountArray) ToAccountArrayOutput() AccountArrayOutput

func (AccountArray) ToAccountArrayOutputWithContext added in v2.35.1

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

type AccountArrayInput added in v2.35.1

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

type AccountArrayOutput struct{ *pulumi.OutputState }

func (AccountArrayOutput) ElementType added in v2.35.1

func (AccountArrayOutput) ElementType() reflect.Type

func (AccountArrayOutput) Index added in v2.35.1

func (AccountArrayOutput) ToAccountArrayOutput added in v2.35.1

func (o AccountArrayOutput) ToAccountArrayOutput() AccountArrayOutput

func (AccountArrayOutput) ToAccountArrayOutputWithContext added in v2.35.1

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

type AccountInput added in v2.25.1

type AccountInput interface {
	pulumi.Input

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

type AccountMap added in v2.35.1

type AccountMap map[string]AccountInput

func (AccountMap) ElementType added in v2.35.1

func (AccountMap) ElementType() reflect.Type

func (AccountMap) ToAccountMapOutput added in v2.35.1

func (i AccountMap) ToAccountMapOutput() AccountMapOutput

func (AccountMap) ToAccountMapOutputWithContext added in v2.35.1

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

type AccountMapInput added in v2.35.1

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

type AccountMapOutput struct{ *pulumi.OutputState }

func (AccountMapOutput) ElementType added in v2.35.1

func (AccountMapOutput) ElementType() reflect.Type

func (AccountMapOutput) MapIndex added in v2.35.1

func (AccountMapOutput) ToAccountMapOutput added in v2.35.1

func (o AccountMapOutput) ToAccountMapOutput() AccountMapOutput

func (AccountMapOutput) ToAccountMapOutputWithContext added in v2.35.1

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

type AccountOutput added in v2.25.1

type AccountOutput struct {
	*pulumi.OutputState
}

func (AccountOutput) ElementType added in v2.25.1

func (AccountOutput) ElementType() reflect.Type

func (AccountOutput) ToAccountOutput added in v2.25.1

func (o AccountOutput) ToAccountOutput() AccountOutput

func (AccountOutput) ToAccountOutputWithContext added in v2.25.1

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

func (AccountOutput) ToAccountPtrOutput added in v2.35.1

func (o AccountOutput) ToAccountPtrOutput() AccountPtrOutput

func (AccountOutput) ToAccountPtrOutputWithContext added in v2.35.1

func (o AccountOutput) ToAccountPtrOutputWithContext(ctx context.Context) AccountPtrOutput

type AccountPrivilege

type AccountPrivilege struct {
	pulumi.CustomResourceState

	// A specified account name.
	AccountName pulumi.StringOutput `pulumi:"accountName"`
	// List of specified database name.
	DbNames pulumi.StringArrayOutput `pulumi:"dbNames"`
	// The Id of instance in which account belongs.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	// The privilege of one account access database. Valid values:
	// - ReadOnly: This value is only for MySQL, MariaDB and SQL Server
	// - ReadWrite: This value is only for MySQL, MariaDB and SQL Server
	// - DDLOnly: (Available in 1.64.0+) This value is only for MySQL and MariaDB
	// - DMLOnly: (Available in 1.64.0+) This value is only for MySQL and MariaDB
	// - DBOwner: (Available in 1.64.0+) This value is only for SQL Server and PostgreSQL.
	Privilege pulumi.StringPtrOutput `pulumi:"privilege"`
}

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

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		creation := "Rds"
		if param := cfg.Get("creation"); param != "" {
			creation = param
		}
		name := "dbaccountprivilegebasic"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		opt0 := creation
		defaultZones, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: &opt0,
		}, 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"),
			AvailabilityZone: pulumi.String(defaultZones.Zones[0].Id),
			VswitchName:      pulumi.String(name),
		})
		if err != nil {
			return err
		}
		instance, err := rds.NewInstance(ctx, "instance", &rds.InstanceArgs{
			Engine:          pulumi.String("MySQL"),
			EngineVersion:   pulumi.String("5.6"),
			InstanceType:    pulumi.String("rds.mysql.s1.small"),
			InstanceStorage: pulumi.Int(10),
			VswitchId:       defaultSwitch.ID(),
			InstanceName:    pulumi.String(name),
		})
		if err != nil {
			return err
		}
		var db []*rds.Database
		for key0, _ := range 2 {
			__res, err := rds.NewDatabase(ctx, fmt.Sprintf("db-%v", key0), &rds.DatabaseArgs{
				InstanceId:  instance.ID(),
				Description: pulumi.String("from terraform"),
			})
			if err != nil {
				return err
			}
			db = append(db, __res)
		}
		account, err := rds.NewAccount(ctx, "account", &rds.AccountArgs{
			InstanceId:  instance.ID(),
			Password:    pulumi.String("Test12345"),
			Description: pulumi.String("from terraform"),
		})
		if err != nil {
			return err
		}
		var splat0 pulumi.StringArray
		for _, val0 := range db {
			splat0 = append(splat0, val0.Name)
		}
		_, err = rds.NewAccountPrivilege(ctx, "privilege", &rds.AccountPrivilegeArgs{
			InstanceId:  instance.ID(),
			AccountName: account.Name,
			Privilege:   pulumi.String("ReadOnly"),
			DbNames:     toPulumiStringArray(splat0),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
func toPulumiStringArray(arr []string) pulumi.StringArray {
	var pulumiArr pulumi.StringArray
	for _, v := range arr {
		pulumiArr = append(pulumiArr, pulumi.String(v))
	}
	return pulumiArr
}

```

## Import

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

```sh

$ pulumi import alicloud:rds/accountPrivilege:AccountPrivilege example "rm-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 added in v2.25.1

func (*AccountPrivilege) ElementType() reflect.Type

func (*AccountPrivilege) ToAccountPrivilegeOutput added in v2.25.1

func (i *AccountPrivilege) ToAccountPrivilegeOutput() AccountPrivilegeOutput

func (*AccountPrivilege) ToAccountPrivilegeOutputWithContext added in v2.25.1

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

func (*AccountPrivilege) ToAccountPrivilegePtrOutput added in v2.35.1

func (i *AccountPrivilege) ToAccountPrivilegePtrOutput() AccountPrivilegePtrOutput

func (*AccountPrivilege) ToAccountPrivilegePtrOutputWithContext added in v2.35.1

func (i *AccountPrivilege) ToAccountPrivilegePtrOutputWithContext(ctx context.Context) AccountPrivilegePtrOutput

type AccountPrivilegeArgs

type AccountPrivilegeArgs struct {
	// A specified account name.
	AccountName pulumi.StringInput
	// List of specified database name.
	DbNames pulumi.StringArrayInput
	// The Id of instance in which account belongs.
	InstanceId pulumi.StringInput
	// The privilege of one account access database. Valid values:
	// - ReadOnly: This value is only for MySQL, MariaDB and SQL Server
	// - ReadWrite: This value is only for MySQL, MariaDB and SQL Server
	// - DDLOnly: (Available in 1.64.0+) This value is only for MySQL and MariaDB
	// - DMLOnly: (Available in 1.64.0+) This value is only for MySQL and MariaDB
	// - DBOwner: (Available in 1.64.0+) This value is only for SQL Server and PostgreSQL.
	Privilege pulumi.StringPtrInput
}

The set of arguments for constructing a AccountPrivilege resource.

func (AccountPrivilegeArgs) ElementType

func (AccountPrivilegeArgs) ElementType() reflect.Type

type AccountPrivilegeArray added in v2.35.1

type AccountPrivilegeArray []AccountPrivilegeInput

func (AccountPrivilegeArray) ElementType added in v2.35.1

func (AccountPrivilegeArray) ElementType() reflect.Type

func (AccountPrivilegeArray) ToAccountPrivilegeArrayOutput added in v2.35.1

func (i AccountPrivilegeArray) ToAccountPrivilegeArrayOutput() AccountPrivilegeArrayOutput

func (AccountPrivilegeArray) ToAccountPrivilegeArrayOutputWithContext added in v2.35.1

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

type AccountPrivilegeArrayInput added in v2.35.1

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

type AccountPrivilegeArrayOutput struct{ *pulumi.OutputState }

func (AccountPrivilegeArrayOutput) ElementType added in v2.35.1

func (AccountPrivilegeArrayOutput) Index added in v2.35.1

func (AccountPrivilegeArrayOutput) ToAccountPrivilegeArrayOutput added in v2.35.1

func (o AccountPrivilegeArrayOutput) ToAccountPrivilegeArrayOutput() AccountPrivilegeArrayOutput

func (AccountPrivilegeArrayOutput) ToAccountPrivilegeArrayOutputWithContext added in v2.35.1

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

type AccountPrivilegeInput added in v2.25.1

type AccountPrivilegeInput interface {
	pulumi.Input

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

type AccountPrivilegeMap added in v2.35.1

type AccountPrivilegeMap map[string]AccountPrivilegeInput

func (AccountPrivilegeMap) ElementType added in v2.35.1

func (AccountPrivilegeMap) ElementType() reflect.Type

func (AccountPrivilegeMap) ToAccountPrivilegeMapOutput added in v2.35.1

func (i AccountPrivilegeMap) ToAccountPrivilegeMapOutput() AccountPrivilegeMapOutput

func (AccountPrivilegeMap) ToAccountPrivilegeMapOutputWithContext added in v2.35.1

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

type AccountPrivilegeMapInput added in v2.35.1

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

type AccountPrivilegeMapOutput struct{ *pulumi.OutputState }

func (AccountPrivilegeMapOutput) ElementType added in v2.35.1

func (AccountPrivilegeMapOutput) ElementType() reflect.Type

func (AccountPrivilegeMapOutput) MapIndex added in v2.35.1

func (AccountPrivilegeMapOutput) ToAccountPrivilegeMapOutput added in v2.35.1

func (o AccountPrivilegeMapOutput) ToAccountPrivilegeMapOutput() AccountPrivilegeMapOutput

func (AccountPrivilegeMapOutput) ToAccountPrivilegeMapOutputWithContext added in v2.35.1

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

type AccountPrivilegeOutput added in v2.25.1

type AccountPrivilegeOutput struct {
	*pulumi.OutputState
}

func (AccountPrivilegeOutput) ElementType added in v2.25.1

func (AccountPrivilegeOutput) ElementType() reflect.Type

func (AccountPrivilegeOutput) ToAccountPrivilegeOutput added in v2.25.1

func (o AccountPrivilegeOutput) ToAccountPrivilegeOutput() AccountPrivilegeOutput

func (AccountPrivilegeOutput) ToAccountPrivilegeOutputWithContext added in v2.25.1

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

func (AccountPrivilegeOutput) ToAccountPrivilegePtrOutput added in v2.35.1

func (o AccountPrivilegeOutput) ToAccountPrivilegePtrOutput() AccountPrivilegePtrOutput

func (AccountPrivilegeOutput) ToAccountPrivilegePtrOutputWithContext added in v2.35.1

func (o AccountPrivilegeOutput) ToAccountPrivilegePtrOutputWithContext(ctx context.Context) AccountPrivilegePtrOutput

type AccountPrivilegePtrInput added in v2.35.1

type AccountPrivilegePtrInput interface {
	pulumi.Input

	ToAccountPrivilegePtrOutput() AccountPrivilegePtrOutput
	ToAccountPrivilegePtrOutputWithContext(ctx context.Context) AccountPrivilegePtrOutput
}

type AccountPrivilegePtrOutput added in v2.35.1

type AccountPrivilegePtrOutput struct {
	*pulumi.OutputState
}

func (AccountPrivilegePtrOutput) ElementType added in v2.35.1

func (AccountPrivilegePtrOutput) ElementType() reflect.Type

func (AccountPrivilegePtrOutput) ToAccountPrivilegePtrOutput added in v2.35.1

func (o AccountPrivilegePtrOutput) ToAccountPrivilegePtrOutput() AccountPrivilegePtrOutput

func (AccountPrivilegePtrOutput) ToAccountPrivilegePtrOutputWithContext added in v2.35.1

func (o AccountPrivilegePtrOutput) ToAccountPrivilegePtrOutputWithContext(ctx context.Context) AccountPrivilegePtrOutput

type AccountPrivilegeState

type AccountPrivilegeState struct {
	// A specified account name.
	AccountName pulumi.StringPtrInput
	// List of specified database name.
	DbNames pulumi.StringArrayInput
	// The Id of instance in which account belongs.
	InstanceId pulumi.StringPtrInput
	// The privilege of one account access database. Valid values:
	// - ReadOnly: This value is only for MySQL, MariaDB and SQL Server
	// - ReadWrite: This value is only for MySQL, MariaDB and SQL Server
	// - DDLOnly: (Available in 1.64.0+) This value is only for MySQL and MariaDB
	// - DMLOnly: (Available in 1.64.0+) This value is only for MySQL and MariaDB
	// - DBOwner: (Available in 1.64.0+) This value is only for SQL Server and PostgreSQL.
	Privilege pulumi.StringPtrInput
}

func (AccountPrivilegeState) ElementType

func (AccountPrivilegeState) ElementType() reflect.Type

type AccountPtrInput added in v2.35.1

type AccountPtrInput interface {
	pulumi.Input

	ToAccountPtrOutput() AccountPtrOutput
	ToAccountPtrOutputWithContext(ctx context.Context) AccountPtrOutput
}

type AccountPtrOutput added in v2.35.1

type AccountPtrOutput struct {
	*pulumi.OutputState
}

func (AccountPtrOutput) ElementType added in v2.35.1

func (AccountPtrOutput) ElementType() reflect.Type

func (AccountPtrOutput) ToAccountPtrOutput added in v2.35.1

func (o AccountPtrOutput) ToAccountPtrOutput() AccountPtrOutput

func (AccountPtrOutput) ToAccountPtrOutputWithContext added in v2.35.1

func (o AccountPtrOutput) ToAccountPtrOutputWithContext(ctx context.Context) AccountPtrOutput

type AccountState

type AccountState struct {
	AccountDescription pulumi.StringPtrInput
	AccountName        pulumi.StringPtrInput
	AccountPassword    pulumi.StringPtrInput
	AccountType        pulumi.StringPtrInput
	DbInstanceId       pulumi.StringPtrInput
	// Database 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.
	//
	// Deprecated: Field 'description' has been deprecated from provider version 1.120.0. New field 'account_description' instead.
	Description pulumi.StringPtrInput
	// The Id of instance in which account belongs.
	//
	// Deprecated: Field 'instance_id' has been deprecated from provider version 1.120.0. New field 'db_instance_id' instead.
	InstanceId pulumi.StringPtrInput
	// An KMS encrypts password used to a db account. If the `password` 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
	// 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.
	//
	// Deprecated: Field 'name' has been deprecated from provider version 1.120.0. New field 'account_name' instead.
	Name pulumi.StringPtrInput
	// Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. You have to specify one of `password` and `kmsEncryptedPassword` fields.
	//
	// Deprecated: Field 'password' has been deprecated from provider version 1.120.0. New field 'account_password' instead.
	Password pulumi.StringPtrInput
	Status   pulumi.StringPtrInput
	// Privilege type of account.
	// - Normal: Common privilege.
	// - Super: High privilege.
	//
	// Deprecated: Field 'type' has been deprecated from provider version 1.120.0. New field 'account_type' instead.
	Type pulumi.StringPtrInput
}

func (AccountState) ElementType

func (AccountState) ElementType() reflect.Type

type BackupPolicy

type BackupPolicy struct {
	pulumi.CustomResourceState

	// Instance archive backup keep count. Valid when the `enableBackupLog` is `true` and instance is mysql local disk. When `archiveBackupKeepPolicy` is `ByMonth` Valid values: [1-31]. When `archiveBackupKeepPolicy` is `ByWeek` Valid values: [1-7].
	ArchiveBackupKeepCount pulumi.IntOutput `pulumi:"archiveBackupKeepCount"`
	// Instance archive backup keep policy. Valid when the `enableBackupLog` is `true` and instance is mysql local disk. Valid values are `ByMonth`, `Disable`, `KeepAll`.
	ArchiveBackupKeepPolicy pulumi.StringOutput `pulumi:"archiveBackupKeepPolicy"`
	// Instance archive backup retention days. Valid when the `enableBackupLog` is `true` and instance is mysql local disk. Valid values: [30-1095], and `archiveBackupRetentionPeriod` must larger than `backupRetentionPeriod` 730.
	ArchiveBackupRetentionPeriod pulumi.IntOutput `pulumi:"archiveBackupRetentionPeriod"`
	// It has been deprecated from version 1.69.0, and use field 'preferred_backup_period' instead.
	//
	// Deprecated: Attribute 'backup_period' has been deprecated from version 1.69.0. Use `preferred_backup_period` instead
	BackupPeriods pulumi.StringArrayOutput `pulumi:"backupPeriods"`
	// Instance backup retention days. Valid values: [7-730]. Default to 7. But mysql local disk is unlimited.
	BackupRetentionPeriod pulumi.IntPtrOutput `pulumi:"backupRetentionPeriod"`
	// It has been deprecated from version 1.69.0, and use field 'preferred_backup_time' instead.
	//
	// Deprecated: Attribute 'backup_time' has been deprecated from version 1.69.0. Use `preferred_backup_time` instead
	BackupTime pulumi.StringOutput `pulumi:"backupTime"`
	// The compress type of instance policy. Valid values are `1`, `4`, `8`.
	CompressType pulumi.StringOutput `pulumi:"compressType"`
	// Whether to backup instance log. Valid values are `true`, `false`, Default to `true`. Note: The 'Basic Edition' category Rds instance does not support setting log backup. [What is Basic Edition](https://www.alibabacloud.com/help/doc-detail/48980.htm).
	EnableBackupLog pulumi.BoolOutput `pulumi:"enableBackupLog"`
	// Instance high space usage protection policy. Valid when the `enableBackupLog` is `true`. Valid values are `Enable`, `Disable`.
	HighSpaceUsageProtection pulumi.StringPtrOutput `pulumi:"highSpaceUsageProtection"`
	// The Id of instance that can run database.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	// Instance log backup local retention hours. Valid when the `enableBackupLog` is `true`. Valid values: [0-7*24].
	LocalLogRetentionHours pulumi.IntOutput `pulumi:"localLogRetentionHours"`
	// Instance log backup local retention space. Valid when the `enableBackupLog` is `true`. Valid values: [0-50].
	LocalLogRetentionSpace pulumi.IntOutput `pulumi:"localLogRetentionSpace"`
	// It has been deprecated from version 1.68.0, and use field 'enable_backup_log' instead.
	//
	// Deprecated: Attribute 'log_backup' has been deprecated from version 1.68.0. Use `enable_backup_log` instead
	LogBackup pulumi.BoolOutput `pulumi:"logBackup"`
	// Instance log backup frequency. Valid when the instance engine is `SQLServer`. Valid values are `LogInterval`.
	LogBackupFrequency pulumi.StringOutput `pulumi:"logBackupFrequency"`
	// Instance log backup retention days. Valid when the `enableBackupLog` is `1`. Valid values: [7-730]. Default to 7. It cannot be larger than `backupRetentionPeriod`.
	LogBackupRetentionPeriod pulumi.IntOutput `pulumi:"logBackupRetentionPeriod"`
	// It has been deprecated from version 1.69.0, and use field 'log_backup_retention_period' instead.
	//
	// Deprecated: Attribute 'log_retention_period' has been deprecated from version 1.69.0. Use `log_backup_retention_period` instead
	LogRetentionPeriod pulumi.IntOutput `pulumi:"logRetentionPeriod"`
	// DB Instance backup period. Please set at least two days to ensure backing up at least twice a week. Valid values: [Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday]. Default to ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"].
	PreferredBackupPeriods pulumi.StringArrayOutput `pulumi:"preferredBackupPeriods"`
	// DB instance 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"`
	// It has been deprecated from version 1.69.0, and use field 'backup_retention_period' instead.
	//
	// Deprecated: Attribute 'retention_period' has been deprecated from version 1.69.0. Use `backup_retention_period` instead
	RetentionPeriod pulumi.IntOutput `pulumi:"retentionPeriod"`
}

Provides an RDS instance backup policy resource and used to configure instance backup policy.

> **NOTE:** Each DB instance has a backup policy and it will be set default values when destroying the resource.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		creation := "Rds"
		if param := cfg.Get("creation"); param != "" {
			creation = param
		}
		name := "dbbackuppolicybasic"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		opt0 := creation
		defaultZones, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: &opt0,
		}, 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"),
			AvailabilityZone: pulumi.String(defaultZones.Zones[0].Id),
			VswitchName:      pulumi.String(name),
		})
		if err != nil {
			return err
		}
		instance, err := rds.NewInstance(ctx, "instance", &rds.InstanceArgs{
			Engine:          pulumi.String("MySQL"),
			EngineVersion:   pulumi.String("5.6"),
			InstanceType:    pulumi.String("rds.mysql.s1.small"),
			InstanceStorage: pulumi.Int(10),
			VswitchId:       defaultSwitch.ID(),
			InstanceName:    pulumi.String(name),
		})
		if err != nil {
			return err
		}
		_, err = rds.NewBackupPolicy(ctx, "policy", &rds.BackupPolicyArgs{
			InstanceId: instance.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

RDS backup policy can be imported using the id or instance id, e.g.

```sh

$ pulumi import alicloud:rds/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 added in v2.25.1

func (*BackupPolicy) ElementType() reflect.Type

func (*BackupPolicy) ToBackupPolicyOutput added in v2.25.1

func (i *BackupPolicy) ToBackupPolicyOutput() BackupPolicyOutput

func (*BackupPolicy) ToBackupPolicyOutputWithContext added in v2.25.1

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

func (*BackupPolicy) ToBackupPolicyPtrOutput added in v2.35.1

func (i *BackupPolicy) ToBackupPolicyPtrOutput() BackupPolicyPtrOutput

func (*BackupPolicy) ToBackupPolicyPtrOutputWithContext added in v2.35.1

func (i *BackupPolicy) ToBackupPolicyPtrOutputWithContext(ctx context.Context) BackupPolicyPtrOutput

type BackupPolicyArgs

type BackupPolicyArgs struct {
	// Instance archive backup keep count. Valid when the `enableBackupLog` is `true` and instance is mysql local disk. When `archiveBackupKeepPolicy` is `ByMonth` Valid values: [1-31]. When `archiveBackupKeepPolicy` is `ByWeek` Valid values: [1-7].
	ArchiveBackupKeepCount pulumi.IntPtrInput
	// Instance archive backup keep policy. Valid when the `enableBackupLog` is `true` and instance is mysql local disk. Valid values are `ByMonth`, `Disable`, `KeepAll`.
	ArchiveBackupKeepPolicy pulumi.StringPtrInput
	// Instance archive backup retention days. Valid when the `enableBackupLog` is `true` and instance is mysql local disk. Valid values: [30-1095], and `archiveBackupRetentionPeriod` must larger than `backupRetentionPeriod` 730.
	ArchiveBackupRetentionPeriod pulumi.IntPtrInput
	// It has been deprecated from version 1.69.0, and use field 'preferred_backup_period' instead.
	//
	// Deprecated: Attribute 'backup_period' has been deprecated from version 1.69.0. Use `preferred_backup_period` instead
	BackupPeriods pulumi.StringArrayInput
	// Instance backup retention days. Valid values: [7-730]. Default to 7. But mysql local disk is unlimited.
	BackupRetentionPeriod pulumi.IntPtrInput
	// It has been deprecated from version 1.69.0, and use field 'preferred_backup_time' instead.
	//
	// Deprecated: Attribute 'backup_time' has been deprecated from version 1.69.0. Use `preferred_backup_time` instead
	BackupTime pulumi.StringPtrInput
	// The compress type of instance policy. Valid values are `1`, `4`, `8`.
	CompressType pulumi.StringPtrInput
	// Whether to backup instance log. Valid values are `true`, `false`, Default to `true`. Note: The 'Basic Edition' category Rds instance does not support setting log backup. [What is Basic Edition](https://www.alibabacloud.com/help/doc-detail/48980.htm).
	EnableBackupLog pulumi.BoolPtrInput
	// Instance high space usage protection policy. Valid when the `enableBackupLog` is `true`. Valid values are `Enable`, `Disable`.
	HighSpaceUsageProtection pulumi.StringPtrInput
	// The Id of instance that can run database.
	InstanceId pulumi.StringInput
	// Instance log backup local retention hours. Valid when the `enableBackupLog` is `true`. Valid values: [0-7*24].
	LocalLogRetentionHours pulumi.IntPtrInput
	// Instance log backup local retention space. Valid when the `enableBackupLog` is `true`. Valid values: [0-50].
	LocalLogRetentionSpace pulumi.IntPtrInput
	// It has been deprecated from version 1.68.0, and use field 'enable_backup_log' instead.
	//
	// Deprecated: Attribute 'log_backup' has been deprecated from version 1.68.0. Use `enable_backup_log` instead
	LogBackup pulumi.BoolPtrInput
	// Instance log backup frequency. Valid when the instance engine is `SQLServer`. Valid values are `LogInterval`.
	LogBackupFrequency pulumi.StringPtrInput
	// Instance log backup retention days. Valid when the `enableBackupLog` is `1`. Valid values: [7-730]. Default to 7. It cannot be larger than `backupRetentionPeriod`.
	LogBackupRetentionPeriod pulumi.IntPtrInput
	// It has been deprecated from version 1.69.0, and use field 'log_backup_retention_period' instead.
	//
	// Deprecated: Attribute 'log_retention_period' has been deprecated from version 1.69.0. Use `log_backup_retention_period` instead
	LogRetentionPeriod pulumi.IntPtrInput
	// DB Instance backup period. Please set at least two days to ensure backing up at least twice a week. Valid values: [Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday]. Default to ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"].
	PreferredBackupPeriods pulumi.StringArrayInput
	// DB instance 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
	// It has been deprecated from version 1.69.0, and use field 'backup_retention_period' instead.
	//
	// Deprecated: Attribute 'retention_period' has been deprecated from version 1.69.0. Use `backup_retention_period` instead
	RetentionPeriod pulumi.IntPtrInput
}

The set of arguments for constructing a BackupPolicy resource.

func (BackupPolicyArgs) ElementType

func (BackupPolicyArgs) ElementType() reflect.Type

type BackupPolicyArray added in v2.35.1

type BackupPolicyArray []BackupPolicyInput

func (BackupPolicyArray) ElementType added in v2.35.1

func (BackupPolicyArray) ElementType() reflect.Type

func (BackupPolicyArray) ToBackupPolicyArrayOutput added in v2.35.1

func (i BackupPolicyArray) ToBackupPolicyArrayOutput() BackupPolicyArrayOutput

func (BackupPolicyArray) ToBackupPolicyArrayOutputWithContext added in v2.35.1

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

type BackupPolicyArrayInput added in v2.35.1

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

type BackupPolicyArrayOutput struct{ *pulumi.OutputState }

func (BackupPolicyArrayOutput) ElementType added in v2.35.1

func (BackupPolicyArrayOutput) ElementType() reflect.Type

func (BackupPolicyArrayOutput) Index added in v2.35.1

func (BackupPolicyArrayOutput) ToBackupPolicyArrayOutput added in v2.35.1

func (o BackupPolicyArrayOutput) ToBackupPolicyArrayOutput() BackupPolicyArrayOutput

func (BackupPolicyArrayOutput) ToBackupPolicyArrayOutputWithContext added in v2.35.1

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

type BackupPolicyInput added in v2.25.1

type BackupPolicyInput interface {
	pulumi.Input

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

type BackupPolicyMap added in v2.35.1

type BackupPolicyMap map[string]BackupPolicyInput

func (BackupPolicyMap) ElementType added in v2.35.1

func (BackupPolicyMap) ElementType() reflect.Type

func (BackupPolicyMap) ToBackupPolicyMapOutput added in v2.35.1

func (i BackupPolicyMap) ToBackupPolicyMapOutput() BackupPolicyMapOutput

func (BackupPolicyMap) ToBackupPolicyMapOutputWithContext added in v2.35.1

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

type BackupPolicyMapInput added in v2.35.1

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

type BackupPolicyMapOutput struct{ *pulumi.OutputState }

func (BackupPolicyMapOutput) ElementType added in v2.35.1

func (BackupPolicyMapOutput) ElementType() reflect.Type

func (BackupPolicyMapOutput) MapIndex added in v2.35.1

func (BackupPolicyMapOutput) ToBackupPolicyMapOutput added in v2.35.1

func (o BackupPolicyMapOutput) ToBackupPolicyMapOutput() BackupPolicyMapOutput

func (BackupPolicyMapOutput) ToBackupPolicyMapOutputWithContext added in v2.35.1

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

type BackupPolicyOutput added in v2.25.1

type BackupPolicyOutput struct {
	*pulumi.OutputState
}

func (BackupPolicyOutput) ElementType added in v2.25.1

func (BackupPolicyOutput) ElementType() reflect.Type

func (BackupPolicyOutput) ToBackupPolicyOutput added in v2.25.1

func (o BackupPolicyOutput) ToBackupPolicyOutput() BackupPolicyOutput

func (BackupPolicyOutput) ToBackupPolicyOutputWithContext added in v2.25.1

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

func (BackupPolicyOutput) ToBackupPolicyPtrOutput added in v2.35.1

func (o BackupPolicyOutput) ToBackupPolicyPtrOutput() BackupPolicyPtrOutput

func (BackupPolicyOutput) ToBackupPolicyPtrOutputWithContext added in v2.35.1

func (o BackupPolicyOutput) ToBackupPolicyPtrOutputWithContext(ctx context.Context) BackupPolicyPtrOutput

type BackupPolicyPtrInput added in v2.35.1

type BackupPolicyPtrInput interface {
	pulumi.Input

	ToBackupPolicyPtrOutput() BackupPolicyPtrOutput
	ToBackupPolicyPtrOutputWithContext(ctx context.Context) BackupPolicyPtrOutput
}

type BackupPolicyPtrOutput added in v2.35.1

type BackupPolicyPtrOutput struct {
	*pulumi.OutputState
}

func (BackupPolicyPtrOutput) ElementType added in v2.35.1

func (BackupPolicyPtrOutput) ElementType() reflect.Type

func (BackupPolicyPtrOutput) ToBackupPolicyPtrOutput added in v2.35.1

func (o BackupPolicyPtrOutput) ToBackupPolicyPtrOutput() BackupPolicyPtrOutput

func (BackupPolicyPtrOutput) ToBackupPolicyPtrOutputWithContext added in v2.35.1

func (o BackupPolicyPtrOutput) ToBackupPolicyPtrOutputWithContext(ctx context.Context) BackupPolicyPtrOutput

type BackupPolicyState

type BackupPolicyState struct {
	// Instance archive backup keep count. Valid when the `enableBackupLog` is `true` and instance is mysql local disk. When `archiveBackupKeepPolicy` is `ByMonth` Valid values: [1-31]. When `archiveBackupKeepPolicy` is `ByWeek` Valid values: [1-7].
	ArchiveBackupKeepCount pulumi.IntPtrInput
	// Instance archive backup keep policy. Valid when the `enableBackupLog` is `true` and instance is mysql local disk. Valid values are `ByMonth`, `Disable`, `KeepAll`.
	ArchiveBackupKeepPolicy pulumi.StringPtrInput
	// Instance archive backup retention days. Valid when the `enableBackupLog` is `true` and instance is mysql local disk. Valid values: [30-1095], and `archiveBackupRetentionPeriod` must larger than `backupRetentionPeriod` 730.
	ArchiveBackupRetentionPeriod pulumi.IntPtrInput
	// It has been deprecated from version 1.69.0, and use field 'preferred_backup_period' instead.
	//
	// Deprecated: Attribute 'backup_period' has been deprecated from version 1.69.0. Use `preferred_backup_period` instead
	BackupPeriods pulumi.StringArrayInput
	// Instance backup retention days. Valid values: [7-730]. Default to 7. But mysql local disk is unlimited.
	BackupRetentionPeriod pulumi.IntPtrInput
	// It has been deprecated from version 1.69.0, and use field 'preferred_backup_time' instead.
	//
	// Deprecated: Attribute 'backup_time' has been deprecated from version 1.69.0. Use `preferred_backup_time` instead
	BackupTime pulumi.StringPtrInput
	// The compress type of instance policy. Valid values are `1`, `4`, `8`.
	CompressType pulumi.StringPtrInput
	// Whether to backup instance log. Valid values are `true`, `false`, Default to `true`. Note: The 'Basic Edition' category Rds instance does not support setting log backup. [What is Basic Edition](https://www.alibabacloud.com/help/doc-detail/48980.htm).
	EnableBackupLog pulumi.BoolPtrInput
	// Instance high space usage protection policy. Valid when the `enableBackupLog` is `true`. Valid values are `Enable`, `Disable`.
	HighSpaceUsageProtection pulumi.StringPtrInput
	// The Id of instance that can run database.
	InstanceId pulumi.StringPtrInput
	// Instance log backup local retention hours. Valid when the `enableBackupLog` is `true`. Valid values: [0-7*24].
	LocalLogRetentionHours pulumi.IntPtrInput
	// Instance log backup local retention space. Valid when the `enableBackupLog` is `true`. Valid values: [0-50].
	LocalLogRetentionSpace pulumi.IntPtrInput
	// It has been deprecated from version 1.68.0, and use field 'enable_backup_log' instead.
	//
	// Deprecated: Attribute 'log_backup' has been deprecated from version 1.68.0. Use `enable_backup_log` instead
	LogBackup pulumi.BoolPtrInput
	// Instance log backup frequency. Valid when the instance engine is `SQLServer`. Valid values are `LogInterval`.
	LogBackupFrequency pulumi.StringPtrInput
	// Instance log backup retention days. Valid when the `enableBackupLog` is `1`. Valid values: [7-730]. Default to 7. It cannot be larger than `backupRetentionPeriod`.
	LogBackupRetentionPeriod pulumi.IntPtrInput
	// It has been deprecated from version 1.69.0, and use field 'log_backup_retention_period' instead.
	//
	// Deprecated: Attribute 'log_retention_period' has been deprecated from version 1.69.0. Use `log_backup_retention_period` instead
	LogRetentionPeriod pulumi.IntPtrInput
	// DB Instance backup period. Please set at least two days to ensure backing up at least twice a week. Valid values: [Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday]. Default to ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"].
	PreferredBackupPeriods pulumi.StringArrayInput
	// DB instance 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
	// It has been deprecated from version 1.69.0, and use field 'backup_retention_period' instead.
	//
	// Deprecated: Attribute 'retention_period' has been deprecated from version 1.69.0. Use `backup_retention_period` instead
	RetentionPeriod pulumi.IntPtrInput
}

func (BackupPolicyState) ElementType

func (BackupPolicyState) ElementType() reflect.Type

type Connection

type Connection struct {
	pulumi.CustomResourceState

	// Prefix of an Internet connection string. It must be checked for uniqueness. It may consist of lowercase letters, numbers, and underlines, and must start with a letter and have no more than 40 characters. Default to <instance_id> + 'tf'.
	ConnectionPrefix pulumi.StringOutput `pulumi:"connectionPrefix"`
	// Connection instance string.
	ConnectionString pulumi.StringOutput `pulumi:"connectionString"`
	// The Id of instance that can run database.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	// The ip address of connection string.
	IpAddress pulumi.StringOutput `pulumi:"ipAddress"`
	// Internet connection port. Valid value: [1000-5999]. Default to 3306.
	Port pulumi.StringPtrOutput `pulumi:"port"`
}

Provides an RDS connection resource to allocate an Internet connection string for RDS instance.

> **NOTE:** Each RDS instance will allocate a intranet connnection string automatically and its prifix is RDS instance 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/v2/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/rds"
"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/vpc"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		creation := "Rds"
		if param := cfg.Get("creation"); param != "" {
			creation = param
		}
		name := "dbconnectionbasic"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		opt0 := creation
		defaultZones, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: &opt0,
		}, 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"),
			AvailabilityZone: pulumi.String(defaultZones.Zones[0].Id),
			VswitchName:      pulumi.String(name),
		})
		if err != nil {
			return err
		}
		instance, err := rds.NewInstance(ctx, "instance", &rds.InstanceArgs{
			Engine:          pulumi.String("MySQL"),
			EngineVersion:   pulumi.String("5.6"),
			InstanceType:    pulumi.String("rds.mysql.t1.small"),
			InstanceStorage: pulumi.Int(10),
			VswitchId:       defaultSwitch.ID(),
			InstanceName:    pulumi.String(name),
		})
		if err != nil {
			return err
		}
		_, err = rds.NewConnection(ctx, "foo", &rds.ConnectionArgs{
			InstanceId:       instance.ID(),
			ConnectionPrefix: pulumi.String("testabc"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

RDS connection can be imported using the id, e.g.

```sh

$ pulumi import alicloud:rds/connection:Connection example abc12345678

```

func GetConnection

func GetConnection(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ConnectionState, opts ...pulumi.ResourceOption) (*Connection, error)

GetConnection gets an existing Connection 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 NewConnection

func NewConnection(ctx *pulumi.Context,
	name string, args *ConnectionArgs, opts ...pulumi.ResourceOption) (*Connection, error)

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

func (*Connection) ElementType added in v2.25.1

func (*Connection) ElementType() reflect.Type

func (*Connection) ToConnectionOutput added in v2.25.1

func (i *Connection) ToConnectionOutput() ConnectionOutput

func (*Connection) ToConnectionOutputWithContext added in v2.25.1

func (i *Connection) ToConnectionOutputWithContext(ctx context.Context) ConnectionOutput

func (*Connection) ToConnectionPtrOutput added in v2.35.1

func (i *Connection) ToConnectionPtrOutput() ConnectionPtrOutput

func (*Connection) ToConnectionPtrOutputWithContext added in v2.35.1

func (i *Connection) ToConnectionPtrOutputWithContext(ctx context.Context) ConnectionPtrOutput

type ConnectionArgs

type ConnectionArgs struct {
	// Prefix of an Internet connection string. It must be checked for uniqueness. It may consist of lowercase letters, numbers, and underlines, and must start with a letter and have no more than 40 characters. Default to <instance_id> + 'tf'.
	ConnectionPrefix pulumi.StringPtrInput
	// The Id of instance that can run database.
	InstanceId pulumi.StringInput
	// Internet connection port. Valid value: [1000-5999]. Default to 3306.
	Port pulumi.StringPtrInput
}

The set of arguments for constructing a Connection resource.

func (ConnectionArgs) ElementType

func (ConnectionArgs) ElementType() reflect.Type

type ConnectionArray added in v2.35.1

type ConnectionArray []ConnectionInput

func (ConnectionArray) ElementType added in v2.35.1

func (ConnectionArray) ElementType() reflect.Type

func (ConnectionArray) ToConnectionArrayOutput added in v2.35.1

func (i ConnectionArray) ToConnectionArrayOutput() ConnectionArrayOutput

func (ConnectionArray) ToConnectionArrayOutputWithContext added in v2.35.1

func (i ConnectionArray) ToConnectionArrayOutputWithContext(ctx context.Context) ConnectionArrayOutput

type ConnectionArrayInput added in v2.35.1

type ConnectionArrayInput interface {
	pulumi.Input

	ToConnectionArrayOutput() ConnectionArrayOutput
	ToConnectionArrayOutputWithContext(context.Context) ConnectionArrayOutput
}

ConnectionArrayInput is an input type that accepts ConnectionArray and ConnectionArrayOutput values. You can construct a concrete instance of `ConnectionArrayInput` via:

ConnectionArray{ ConnectionArgs{...} }

type ConnectionArrayOutput added in v2.35.1

type ConnectionArrayOutput struct{ *pulumi.OutputState }

func (ConnectionArrayOutput) ElementType added in v2.35.1

func (ConnectionArrayOutput) ElementType() reflect.Type

func (ConnectionArrayOutput) Index added in v2.35.1

func (ConnectionArrayOutput) ToConnectionArrayOutput added in v2.35.1

func (o ConnectionArrayOutput) ToConnectionArrayOutput() ConnectionArrayOutput

func (ConnectionArrayOutput) ToConnectionArrayOutputWithContext added in v2.35.1

func (o ConnectionArrayOutput) ToConnectionArrayOutputWithContext(ctx context.Context) ConnectionArrayOutput

type ConnectionInput added in v2.25.1

type ConnectionInput interface {
	pulumi.Input

	ToConnectionOutput() ConnectionOutput
	ToConnectionOutputWithContext(ctx context.Context) ConnectionOutput
}

type ConnectionMap added in v2.35.1

type ConnectionMap map[string]ConnectionInput

func (ConnectionMap) ElementType added in v2.35.1

func (ConnectionMap) ElementType() reflect.Type

func (ConnectionMap) ToConnectionMapOutput added in v2.35.1

func (i ConnectionMap) ToConnectionMapOutput() ConnectionMapOutput

func (ConnectionMap) ToConnectionMapOutputWithContext added in v2.35.1

func (i ConnectionMap) ToConnectionMapOutputWithContext(ctx context.Context) ConnectionMapOutput

type ConnectionMapInput added in v2.35.1

type ConnectionMapInput interface {
	pulumi.Input

	ToConnectionMapOutput() ConnectionMapOutput
	ToConnectionMapOutputWithContext(context.Context) ConnectionMapOutput
}

ConnectionMapInput is an input type that accepts ConnectionMap and ConnectionMapOutput values. You can construct a concrete instance of `ConnectionMapInput` via:

ConnectionMap{ "key": ConnectionArgs{...} }

type ConnectionMapOutput added in v2.35.1

type ConnectionMapOutput struct{ *pulumi.OutputState }

func (ConnectionMapOutput) ElementType added in v2.35.1

func (ConnectionMapOutput) ElementType() reflect.Type

func (ConnectionMapOutput) MapIndex added in v2.35.1

func (ConnectionMapOutput) ToConnectionMapOutput added in v2.35.1

func (o ConnectionMapOutput) ToConnectionMapOutput() ConnectionMapOutput

func (ConnectionMapOutput) ToConnectionMapOutputWithContext added in v2.35.1

func (o ConnectionMapOutput) ToConnectionMapOutputWithContext(ctx context.Context) ConnectionMapOutput

type ConnectionOutput added in v2.25.1

type ConnectionOutput struct {
	*pulumi.OutputState
}

func (ConnectionOutput) ElementType added in v2.25.1

func (ConnectionOutput) ElementType() reflect.Type

func (ConnectionOutput) ToConnectionOutput added in v2.25.1

func (o ConnectionOutput) ToConnectionOutput() ConnectionOutput

func (ConnectionOutput) ToConnectionOutputWithContext added in v2.25.1

func (o ConnectionOutput) ToConnectionOutputWithContext(ctx context.Context) ConnectionOutput

func (ConnectionOutput) ToConnectionPtrOutput added in v2.35.1

func (o ConnectionOutput) ToConnectionPtrOutput() ConnectionPtrOutput

func (ConnectionOutput) ToConnectionPtrOutputWithContext added in v2.35.1

func (o ConnectionOutput) ToConnectionPtrOutputWithContext(ctx context.Context) ConnectionPtrOutput

type ConnectionPtrInput added in v2.35.1

type ConnectionPtrInput interface {
	pulumi.Input

	ToConnectionPtrOutput() ConnectionPtrOutput
	ToConnectionPtrOutputWithContext(ctx context.Context) ConnectionPtrOutput
}

type ConnectionPtrOutput added in v2.35.1

type ConnectionPtrOutput struct {
	*pulumi.OutputState
}

func (ConnectionPtrOutput) ElementType added in v2.35.1

func (ConnectionPtrOutput) ElementType() reflect.Type

func (ConnectionPtrOutput) ToConnectionPtrOutput added in v2.35.1

func (o ConnectionPtrOutput) ToConnectionPtrOutput() ConnectionPtrOutput

func (ConnectionPtrOutput) ToConnectionPtrOutputWithContext added in v2.35.1

func (o ConnectionPtrOutput) ToConnectionPtrOutputWithContext(ctx context.Context) ConnectionPtrOutput

type ConnectionState

type ConnectionState struct {
	// Prefix of an Internet connection string. It must be checked for uniqueness. It may consist of lowercase letters, numbers, and underlines, and must start with a letter and have no more than 40 characters. Default to <instance_id> + 'tf'.
	ConnectionPrefix pulumi.StringPtrInput
	// Connection instance string.
	ConnectionString pulumi.StringPtrInput
	// The Id of instance that can run database.
	InstanceId pulumi.StringPtrInput
	// The ip address of connection string.
	IpAddress pulumi.StringPtrInput
	// Internet connection port. Valid value: [1000-5999]. Default to 3306.
	Port pulumi.StringPtrInput
}

func (ConnectionState) ElementType

func (ConnectionState) ElementType() reflect.Type

type Database

type Database struct {
	pulumi.CustomResourceState

	// Character set. The value range is limited to the following:
	// - MySQL: [ utf8, gbk, latin1, utf8mb4 ] \(`utf8mb4` only supports versions 5.5 and 5.6\).
	// - SQLServer: [ Chinese_PRC_CI_AS, Chinese_PRC_CS_AS, SQL_Latin1_General_CP1_CI_AS, SQL_Latin1_General_CP1_CS_AS, Chinese_PRC_BIN ]
	// - PostgreSQL: [ KOI8U、UTF8、WIN866、WIN874、WIN1250、WIN1251、WIN1252、WIN1253、WIN1254、WIN1255、WIN1256、WIN1257、WIN1258、EUC_CN、EUC_KR、EUC_TW、EUC_JP、EUC_JIS_2004、KOI8R、MULE_INTERNAL、LATIN1、LATIN2、LATIN3、LATIN4、LATIN5、LATIN6、LATIN7、LATIN8、LATIN9、LATIN10、ISO_8859_5、ISO_8859_6、ISO_8859_7、ISO_8859_8、SQL_ASCII ]
	CharacterSet pulumi.StringPtrOutput `pulumi:"characterSet"`
	// Database 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.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The Id of instance that can run database.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	// Name of the database 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 64 characters.
	Name pulumi.StringOutput `pulumi:"name"`
}

Provides an RDS database resource. A DB database deployed in a DB instance. A DB instance can own multiple databases.

> **NOTE:** This resource does not support creating 'PPAS' database. You have to login RDS instance to create manually.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		creation := "Rds"
		if param := cfg.Get("creation"); param != "" {
			creation = param
		}
		name := "dbdatabasebasic"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		opt0 := creation
		defaultZones, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: &opt0,
		}, 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"),
			AvailabilityZone: pulumi.String(defaultZones.Zones[0].Id),
			VswitchName:      pulumi.String(name),
		})
		if err != nil {
			return err
		}
		instance, err := rds.NewInstance(ctx, "instance", &rds.InstanceArgs{
			Engine:          pulumi.String("MySQL"),
			EngineVersion:   pulumi.String("5.6"),
			InstanceType:    pulumi.String("rds.mysql.s1.small"),
			InstanceStorage: pulumi.Int(10),
			VswitchId:       defaultSwitch.ID(),
			InstanceName:    pulumi.String(name),
		})
		if err != nil {
			return err
		}
		_, err = rds.NewDatabase(ctx, "defaultDatabase", &rds.DatabaseArgs{
			InstanceId: instance.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh

$ pulumi import alicloud:rds/database:Database example "rm-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 added in v2.25.1

func (*Database) ElementType() reflect.Type

func (*Database) ToDatabaseOutput added in v2.25.1

func (i *Database) ToDatabaseOutput() DatabaseOutput

func (*Database) ToDatabaseOutputWithContext added in v2.25.1

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

func (*Database) ToDatabasePtrOutput added in v2.35.1

func (i *Database) ToDatabasePtrOutput() DatabasePtrOutput

func (*Database) ToDatabasePtrOutputWithContext added in v2.35.1

func (i *Database) ToDatabasePtrOutputWithContext(ctx context.Context) DatabasePtrOutput

type DatabaseArgs

type DatabaseArgs struct {
	// Character set. The value range is limited to the following:
	// - MySQL: [ utf8, gbk, latin1, utf8mb4 ] \(`utf8mb4` only supports versions 5.5 and 5.6\).
	// - SQLServer: [ Chinese_PRC_CI_AS, Chinese_PRC_CS_AS, SQL_Latin1_General_CP1_CI_AS, SQL_Latin1_General_CP1_CS_AS, Chinese_PRC_BIN ]
	// - PostgreSQL: [ KOI8U、UTF8、WIN866、WIN874、WIN1250、WIN1251、WIN1252、WIN1253、WIN1254、WIN1255、WIN1256、WIN1257、WIN1258、EUC_CN、EUC_KR、EUC_TW、EUC_JP、EUC_JIS_2004、KOI8R、MULE_INTERNAL、LATIN1、LATIN2、LATIN3、LATIN4、LATIN5、LATIN6、LATIN7、LATIN8、LATIN9、LATIN10、ISO_8859_5、ISO_8859_6、ISO_8859_7、ISO_8859_8、SQL_ASCII ]
	CharacterSet pulumi.StringPtrInput
	// Database 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.
	Description pulumi.StringPtrInput
	// The Id of instance that can run database.
	InstanceId pulumi.StringInput
	// Name of the database 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 64 characters.
	Name pulumi.StringPtrInput
}

The set of arguments for constructing a Database resource.

func (DatabaseArgs) ElementType

func (DatabaseArgs) ElementType() reflect.Type

type DatabaseArray added in v2.35.1

type DatabaseArray []DatabaseInput

func (DatabaseArray) ElementType added in v2.35.1

func (DatabaseArray) ElementType() reflect.Type

func (DatabaseArray) ToDatabaseArrayOutput added in v2.35.1

func (i DatabaseArray) ToDatabaseArrayOutput() DatabaseArrayOutput

func (DatabaseArray) ToDatabaseArrayOutputWithContext added in v2.35.1

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

type DatabaseArrayInput added in v2.35.1

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

type DatabaseArrayOutput struct{ *pulumi.OutputState }

func (DatabaseArrayOutput) ElementType added in v2.35.1

func (DatabaseArrayOutput) ElementType() reflect.Type

func (DatabaseArrayOutput) Index added in v2.35.1

func (DatabaseArrayOutput) ToDatabaseArrayOutput added in v2.35.1

func (o DatabaseArrayOutput) ToDatabaseArrayOutput() DatabaseArrayOutput

func (DatabaseArrayOutput) ToDatabaseArrayOutputWithContext added in v2.35.1

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

type DatabaseInput added in v2.25.1

type DatabaseInput interface {
	pulumi.Input

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

type DatabaseMap added in v2.35.1

type DatabaseMap map[string]DatabaseInput

func (DatabaseMap) ElementType added in v2.35.1

func (DatabaseMap) ElementType() reflect.Type

func (DatabaseMap) ToDatabaseMapOutput added in v2.35.1

func (i DatabaseMap) ToDatabaseMapOutput() DatabaseMapOutput

func (DatabaseMap) ToDatabaseMapOutputWithContext added in v2.35.1

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

type DatabaseMapInput added in v2.35.1

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

type DatabaseMapOutput struct{ *pulumi.OutputState }

func (DatabaseMapOutput) ElementType added in v2.35.1

func (DatabaseMapOutput) ElementType() reflect.Type

func (DatabaseMapOutput) MapIndex added in v2.35.1

func (DatabaseMapOutput) ToDatabaseMapOutput added in v2.35.1

func (o DatabaseMapOutput) ToDatabaseMapOutput() DatabaseMapOutput

func (DatabaseMapOutput) ToDatabaseMapOutputWithContext added in v2.35.1

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

type DatabaseOutput added in v2.25.1

type DatabaseOutput struct {
	*pulumi.OutputState
}

func (DatabaseOutput) ElementType added in v2.25.1

func (DatabaseOutput) ElementType() reflect.Type

func (DatabaseOutput) ToDatabaseOutput added in v2.25.1

func (o DatabaseOutput) ToDatabaseOutput() DatabaseOutput

func (DatabaseOutput) ToDatabaseOutputWithContext added in v2.25.1

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

func (DatabaseOutput) ToDatabasePtrOutput added in v2.35.1

func (o DatabaseOutput) ToDatabasePtrOutput() DatabasePtrOutput

func (DatabaseOutput) ToDatabasePtrOutputWithContext added in v2.35.1

func (o DatabaseOutput) ToDatabasePtrOutputWithContext(ctx context.Context) DatabasePtrOutput

type DatabasePtrInput added in v2.35.1

type DatabasePtrInput interface {
	pulumi.Input

	ToDatabasePtrOutput() DatabasePtrOutput
	ToDatabasePtrOutputWithContext(ctx context.Context) DatabasePtrOutput
}

type DatabasePtrOutput added in v2.35.1

type DatabasePtrOutput struct {
	*pulumi.OutputState
}

func (DatabasePtrOutput) ElementType added in v2.35.1

func (DatabasePtrOutput) ElementType() reflect.Type

func (DatabasePtrOutput) ToDatabasePtrOutput added in v2.35.1

func (o DatabasePtrOutput) ToDatabasePtrOutput() DatabasePtrOutput

func (DatabasePtrOutput) ToDatabasePtrOutputWithContext added in v2.35.1

func (o DatabasePtrOutput) ToDatabasePtrOutputWithContext(ctx context.Context) DatabasePtrOutput

type DatabaseState

type DatabaseState struct {
	// Character set. The value range is limited to the following:
	// - MySQL: [ utf8, gbk, latin1, utf8mb4 ] \(`utf8mb4` only supports versions 5.5 and 5.6\).
	// - SQLServer: [ Chinese_PRC_CI_AS, Chinese_PRC_CS_AS, SQL_Latin1_General_CP1_CI_AS, SQL_Latin1_General_CP1_CS_AS, Chinese_PRC_BIN ]
	// - PostgreSQL: [ KOI8U、UTF8、WIN866、WIN874、WIN1250、WIN1251、WIN1252、WIN1253、WIN1254、WIN1255、WIN1256、WIN1257、WIN1258、EUC_CN、EUC_KR、EUC_TW、EUC_JP、EUC_JIS_2004、KOI8R、MULE_INTERNAL、LATIN1、LATIN2、LATIN3、LATIN4、LATIN5、LATIN6、LATIN7、LATIN8、LATIN9、LATIN10、ISO_8859_5、ISO_8859_6、ISO_8859_7、ISO_8859_8、SQL_ASCII ]
	CharacterSet pulumi.StringPtrInput
	// Database 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.
	Description pulumi.StringPtrInput
	// The Id of instance that can run database.
	InstanceId 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 letter
	// and have no more than 64 characters.
	Name pulumi.StringPtrInput
}

func (DatabaseState) ElementType

func (DatabaseState) ElementType() reflect.Type

type GetAccountsAccount added in v2.39.0

type GetAccountsAccount struct {
	// Database description.
	AccountDescription string `pulumi:"accountDescription"`
	// Name of database account.
	AccountName string `pulumi:"accountName"`
	// Privilege type of account.
	AccountType string `pulumi:"accountType"`
	// A list of database permissions the account has.
	DatabasePrivileges []GetAccountsAccountDatabasePrivilege `pulumi:"databasePrivileges"`
	// The ID of the Account.
	Id string `pulumi:"id"`
	// Whether the maximum number of databases managed by the account is exceeded.
	PrivExceeded string `pulumi:"privExceeded"`
	// The status of the resource.
	Status string `pulumi:"status"`
}

type GetAccountsAccountArgs added in v2.39.0

type GetAccountsAccountArgs struct {
	// Database description.
	AccountDescription pulumi.StringInput `pulumi:"accountDescription"`
	// Name of database account.
	AccountName pulumi.StringInput `pulumi:"accountName"`
	// Privilege type of account.
	AccountType pulumi.StringInput `pulumi:"accountType"`
	// A list of database permissions the account has.
	DatabasePrivileges GetAccountsAccountDatabasePrivilegeArrayInput `pulumi:"databasePrivileges"`
	// The ID of the Account.
	Id pulumi.StringInput `pulumi:"id"`
	// Whether the maximum number of databases managed by the account is exceeded.
	PrivExceeded pulumi.StringInput `pulumi:"privExceeded"`
	// The status of the resource.
	Status pulumi.StringInput `pulumi:"status"`
}

func (GetAccountsAccountArgs) ElementType added in v2.39.0

func (GetAccountsAccountArgs) ElementType() reflect.Type

func (GetAccountsAccountArgs) ToGetAccountsAccountOutput added in v2.39.0

func (i GetAccountsAccountArgs) ToGetAccountsAccountOutput() GetAccountsAccountOutput

func (GetAccountsAccountArgs) ToGetAccountsAccountOutputWithContext added in v2.39.0

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

type GetAccountsAccountArray added in v2.39.0

type GetAccountsAccountArray []GetAccountsAccountInput

func (GetAccountsAccountArray) ElementType added in v2.39.0

func (GetAccountsAccountArray) ElementType() reflect.Type

func (GetAccountsAccountArray) ToGetAccountsAccountArrayOutput added in v2.39.0

func (i GetAccountsAccountArray) ToGetAccountsAccountArrayOutput() GetAccountsAccountArrayOutput

func (GetAccountsAccountArray) ToGetAccountsAccountArrayOutputWithContext added in v2.39.0

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

type GetAccountsAccountArrayInput added in v2.39.0

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

type GetAccountsAccountArrayOutput struct{ *pulumi.OutputState }

func (GetAccountsAccountArrayOutput) ElementType added in v2.39.0

func (GetAccountsAccountArrayOutput) Index added in v2.39.0

func (GetAccountsAccountArrayOutput) ToGetAccountsAccountArrayOutput added in v2.39.0

func (o GetAccountsAccountArrayOutput) ToGetAccountsAccountArrayOutput() GetAccountsAccountArrayOutput

func (GetAccountsAccountArrayOutput) ToGetAccountsAccountArrayOutputWithContext added in v2.39.0

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

type GetAccountsAccountDatabasePrivilege added in v2.39.0

type GetAccountsAccountDatabasePrivilege struct {
	// The type of permission for the account.
	AccountPrivilege string `pulumi:"accountPrivilege"`
	// The specific permissions corresponding to the type of account permissions.
	AccountPrivilegeDetail string `pulumi:"accountPrivilegeDetail"`
	// Database name.
	DbName string `pulumi:"dbName"`
}

type GetAccountsAccountDatabasePrivilegeArgs added in v2.39.0

type GetAccountsAccountDatabasePrivilegeArgs struct {
	// The type of permission for the account.
	AccountPrivilege pulumi.StringInput `pulumi:"accountPrivilege"`
	// The specific permissions corresponding to the type of account permissions.
	AccountPrivilegeDetail pulumi.StringInput `pulumi:"accountPrivilegeDetail"`
	// Database name.
	DbName pulumi.StringInput `pulumi:"dbName"`
}

func (GetAccountsAccountDatabasePrivilegeArgs) ElementType added in v2.39.0

func (GetAccountsAccountDatabasePrivilegeArgs) ToGetAccountsAccountDatabasePrivilegeOutput added in v2.39.0

func (i GetAccountsAccountDatabasePrivilegeArgs) ToGetAccountsAccountDatabasePrivilegeOutput() GetAccountsAccountDatabasePrivilegeOutput

func (GetAccountsAccountDatabasePrivilegeArgs) ToGetAccountsAccountDatabasePrivilegeOutputWithContext added in v2.39.0

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

type GetAccountsAccountDatabasePrivilegeArray added in v2.39.0

type GetAccountsAccountDatabasePrivilegeArray []GetAccountsAccountDatabasePrivilegeInput

func (GetAccountsAccountDatabasePrivilegeArray) ElementType added in v2.39.0

func (GetAccountsAccountDatabasePrivilegeArray) ToGetAccountsAccountDatabasePrivilegeArrayOutput added in v2.39.0

func (i GetAccountsAccountDatabasePrivilegeArray) ToGetAccountsAccountDatabasePrivilegeArrayOutput() GetAccountsAccountDatabasePrivilegeArrayOutput

func (GetAccountsAccountDatabasePrivilegeArray) ToGetAccountsAccountDatabasePrivilegeArrayOutputWithContext added in v2.39.0

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

type GetAccountsAccountDatabasePrivilegeArrayInput added in v2.39.0

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

type GetAccountsAccountDatabasePrivilegeArrayOutput struct{ *pulumi.OutputState }

func (GetAccountsAccountDatabasePrivilegeArrayOutput) ElementType added in v2.39.0

func (GetAccountsAccountDatabasePrivilegeArrayOutput) Index added in v2.39.0

func (GetAccountsAccountDatabasePrivilegeArrayOutput) ToGetAccountsAccountDatabasePrivilegeArrayOutput added in v2.39.0

func (o GetAccountsAccountDatabasePrivilegeArrayOutput) ToGetAccountsAccountDatabasePrivilegeArrayOutput() GetAccountsAccountDatabasePrivilegeArrayOutput

func (GetAccountsAccountDatabasePrivilegeArrayOutput) ToGetAccountsAccountDatabasePrivilegeArrayOutputWithContext added in v2.39.0

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

type GetAccountsAccountDatabasePrivilegeInput added in v2.39.0

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

type GetAccountsAccountDatabasePrivilegeOutput struct{ *pulumi.OutputState }

func (GetAccountsAccountDatabasePrivilegeOutput) AccountPrivilege added in v2.39.0

The type of permission for the account.

func (GetAccountsAccountDatabasePrivilegeOutput) AccountPrivilegeDetail added in v2.39.0

The specific permissions corresponding to the type of account permissions.

func (GetAccountsAccountDatabasePrivilegeOutput) DbName added in v2.39.0

Database name.

func (GetAccountsAccountDatabasePrivilegeOutput) ElementType added in v2.39.0

func (GetAccountsAccountDatabasePrivilegeOutput) ToGetAccountsAccountDatabasePrivilegeOutput added in v2.39.0

func (o GetAccountsAccountDatabasePrivilegeOutput) ToGetAccountsAccountDatabasePrivilegeOutput() GetAccountsAccountDatabasePrivilegeOutput

func (GetAccountsAccountDatabasePrivilegeOutput) ToGetAccountsAccountDatabasePrivilegeOutputWithContext added in v2.39.0

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

type GetAccountsAccountInput added in v2.39.0

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

type GetAccountsAccountOutput struct{ *pulumi.OutputState }

func (GetAccountsAccountOutput) AccountDescription added in v2.39.0

func (o GetAccountsAccountOutput) AccountDescription() pulumi.StringOutput

Database description.

func (GetAccountsAccountOutput) AccountName added in v2.39.0

Name of database account.

func (GetAccountsAccountOutput) AccountType added in v2.39.0

Privilege type of account.

func (GetAccountsAccountOutput) DatabasePrivileges added in v2.39.0

A list of database permissions the account has.

func (GetAccountsAccountOutput) ElementType added in v2.39.0

func (GetAccountsAccountOutput) ElementType() reflect.Type

func (GetAccountsAccountOutput) Id added in v2.39.0

The ID of the Account.

func (GetAccountsAccountOutput) PrivExceeded added in v2.39.0

func (o GetAccountsAccountOutput) PrivExceeded() pulumi.StringOutput

Whether the maximum number of databases managed by the account is exceeded.

func (GetAccountsAccountOutput) Status added in v2.39.0

The status of the resource.

func (GetAccountsAccountOutput) ToGetAccountsAccountOutput added in v2.39.0

func (o GetAccountsAccountOutput) ToGetAccountsAccountOutput() GetAccountsAccountOutput

func (GetAccountsAccountOutput) ToGetAccountsAccountOutputWithContext added in v2.39.0

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

type GetAccountsArgs added in v2.39.0

type GetAccountsArgs struct {
	// The db instance id.
	DbInstanceId string `pulumi:"dbInstanceId"`
	// A list of Account IDs.
	Ids []string `pulumi:"ids"`
	// A regex string to filter results by Account name.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
	// The status of the resource.
	Status *string `pulumi:"status"`
}

A collection of arguments for invoking getAccounts.

type GetAccountsResult added in v2.39.0

type GetAccountsResult struct {
	Accounts     []GetAccountsAccount `pulumi:"accounts"`
	DbInstanceId string               `pulumi:"dbInstanceId"`
	// The provider-assigned unique ID for this managed resource.
	Id         string   `pulumi:"id"`
	Ids        []string `pulumi:"ids"`
	NameRegex  *string  `pulumi:"nameRegex"`
	Names      []string `pulumi:"names"`
	OutputFile *string  `pulumi:"outputFile"`
	Status     *string  `pulumi:"status"`
}

A collection of values returned by getAccounts.

func GetAccounts added in v2.39.0

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

This data source provides the Rds Accounts of the current Alibaba Cloud user.

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "the_resource_name"
		example, err := rds.GetAccounts(ctx, &rds.GetAccountsArgs{
			DbInstanceId: "example_value",
			NameRegex:    &opt0,
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("firstRdsAccountId", example.Accounts[0].Id)
		return nil
	})
}

```

type GetInstanceClassesArgs

type GetInstanceClassesArgs struct {
	// DB Instance category. the value like [`Basic`, `HighAvailability`, `Finance`], [detail info](https://www.alibabacloud.com/help/doc-detail/69795.htm).
	Category *string `pulumi:"category"`
	// The DB instance class type by the user.
	DbInstanceClass *string `pulumi:"dbInstanceClass"`
	// Database type. Options are `MySQL`, `SQLServer`, `PostgreSQL` and `PPAS`. If no value is specified, all types are returned.
	Engine *string `pulumi:"engine"`
	// Database version required by the user. Value options can refer to the latest docs [detail info](https://www.alibabacloud.com/help/doc-detail/26228.htm) `EngineVersion`.
	EngineVersion *string `pulumi:"engineVersion"`
	// Filter the results by charge type. Valid values: `PrePaid` and `PostPaid`. Default to `PostPaid`.
	InstanceChargeType *string `pulumi:"instanceChargeType"`
	// Whether to show multi available zone. Default false to not show multi availability zone.
	MultiZone  *bool   `pulumi:"multiZone"`
	OutputFile *string `pulumi:"outputFile"`
	SortedBy   *string `pulumi:"sortedBy"`
	// The DB instance storage space required by the user. Valid values: `cloudSsd` and `localSsd`.
	StorageType *string `pulumi:"storageType"`
	// The Zone to launch the DB instance.
	ZoneId *string `pulumi:"zoneId"`
}

A collection of arguments for invoking getInstanceClasses.

type GetInstanceClassesInstanceClass

type GetInstanceClassesInstanceClass struct {
	// DB Instance available class.
	InstanceClass string `pulumi:"instanceClass"`
	Price         string `pulumi:"price"`
	// DB Instance available storage range.
	StorageRange GetInstanceClassesInstanceClassStorageRange `pulumi:"storageRange"`
	// A list of Zone to launch the DB instance.
	ZoneIds []GetInstanceClassesInstanceClassZoneId `pulumi:"zoneIds"`
}

type GetInstanceClassesInstanceClassArgs

type GetInstanceClassesInstanceClassArgs struct {
	// DB Instance available class.
	InstanceClass pulumi.StringInput `pulumi:"instanceClass"`
	Price         pulumi.StringInput `pulumi:"price"`
	// DB Instance available storage range.
	StorageRange GetInstanceClassesInstanceClassStorageRangeInput `pulumi:"storageRange"`
	// A list of Zone to launch the DB instance.
	ZoneIds GetInstanceClassesInstanceClassZoneIdArrayInput `pulumi:"zoneIds"`
}

func (GetInstanceClassesInstanceClassArgs) ElementType

func (GetInstanceClassesInstanceClassArgs) ToGetInstanceClassesInstanceClassOutput

func (i GetInstanceClassesInstanceClassArgs) ToGetInstanceClassesInstanceClassOutput() GetInstanceClassesInstanceClassOutput

func (GetInstanceClassesInstanceClassArgs) ToGetInstanceClassesInstanceClassOutputWithContext

func (i GetInstanceClassesInstanceClassArgs) ToGetInstanceClassesInstanceClassOutputWithContext(ctx context.Context) GetInstanceClassesInstanceClassOutput

type GetInstanceClassesInstanceClassArray

type GetInstanceClassesInstanceClassArray []GetInstanceClassesInstanceClassInput

func (GetInstanceClassesInstanceClassArray) ElementType

func (GetInstanceClassesInstanceClassArray) ToGetInstanceClassesInstanceClassArrayOutput

func (i GetInstanceClassesInstanceClassArray) ToGetInstanceClassesInstanceClassArrayOutput() GetInstanceClassesInstanceClassArrayOutput

func (GetInstanceClassesInstanceClassArray) ToGetInstanceClassesInstanceClassArrayOutputWithContext

func (i GetInstanceClassesInstanceClassArray) ToGetInstanceClassesInstanceClassArrayOutputWithContext(ctx context.Context) GetInstanceClassesInstanceClassArrayOutput

type GetInstanceClassesInstanceClassArrayInput

type GetInstanceClassesInstanceClassArrayInput interface {
	pulumi.Input

	ToGetInstanceClassesInstanceClassArrayOutput() GetInstanceClassesInstanceClassArrayOutput
	ToGetInstanceClassesInstanceClassArrayOutputWithContext(context.Context) GetInstanceClassesInstanceClassArrayOutput
}

GetInstanceClassesInstanceClassArrayInput is an input type that accepts GetInstanceClassesInstanceClassArray and GetInstanceClassesInstanceClassArrayOutput values. You can construct a concrete instance of `GetInstanceClassesInstanceClassArrayInput` via:

GetInstanceClassesInstanceClassArray{ GetInstanceClassesInstanceClassArgs{...} }

type GetInstanceClassesInstanceClassArrayOutput

type GetInstanceClassesInstanceClassArrayOutput struct{ *pulumi.OutputState }

func (GetInstanceClassesInstanceClassArrayOutput) ElementType

func (GetInstanceClassesInstanceClassArrayOutput) Index

func (GetInstanceClassesInstanceClassArrayOutput) ToGetInstanceClassesInstanceClassArrayOutput

func (o GetInstanceClassesInstanceClassArrayOutput) ToGetInstanceClassesInstanceClassArrayOutput() GetInstanceClassesInstanceClassArrayOutput

func (GetInstanceClassesInstanceClassArrayOutput) ToGetInstanceClassesInstanceClassArrayOutputWithContext

func (o GetInstanceClassesInstanceClassArrayOutput) ToGetInstanceClassesInstanceClassArrayOutputWithContext(ctx context.Context) GetInstanceClassesInstanceClassArrayOutput

type GetInstanceClassesInstanceClassInput

type GetInstanceClassesInstanceClassInput interface {
	pulumi.Input

	ToGetInstanceClassesInstanceClassOutput() GetInstanceClassesInstanceClassOutput
	ToGetInstanceClassesInstanceClassOutputWithContext(context.Context) GetInstanceClassesInstanceClassOutput
}

GetInstanceClassesInstanceClassInput is an input type that accepts GetInstanceClassesInstanceClassArgs and GetInstanceClassesInstanceClassOutput values. You can construct a concrete instance of `GetInstanceClassesInstanceClassInput` via:

GetInstanceClassesInstanceClassArgs{...}

type GetInstanceClassesInstanceClassOutput

type GetInstanceClassesInstanceClassOutput struct{ *pulumi.OutputState }

func (GetInstanceClassesInstanceClassOutput) ElementType

func (GetInstanceClassesInstanceClassOutput) InstanceClass

DB Instance available class.

func (GetInstanceClassesInstanceClassOutput) Price

func (GetInstanceClassesInstanceClassOutput) StorageRange

DB Instance available storage range.

func (GetInstanceClassesInstanceClassOutput) ToGetInstanceClassesInstanceClassOutput

func (o GetInstanceClassesInstanceClassOutput) ToGetInstanceClassesInstanceClassOutput() GetInstanceClassesInstanceClassOutput

func (GetInstanceClassesInstanceClassOutput) ToGetInstanceClassesInstanceClassOutputWithContext

func (o GetInstanceClassesInstanceClassOutput) ToGetInstanceClassesInstanceClassOutputWithContext(ctx context.Context) GetInstanceClassesInstanceClassOutput

func (GetInstanceClassesInstanceClassOutput) ZoneIds

A list of Zone to launch the DB instance.

type GetInstanceClassesInstanceClassStorageRange

type GetInstanceClassesInstanceClassStorageRange struct {
	// DB Instance available storage max value.
	Max string `pulumi:"max"`
	// DB Instance available storage min value.
	Min string `pulumi:"min"`
	// DB Instance available storage increase step.
	Step string `pulumi:"step"`
}

type GetInstanceClassesInstanceClassStorageRangeArgs

type GetInstanceClassesInstanceClassStorageRangeArgs struct {
	// DB Instance available storage max value.
	Max pulumi.StringInput `pulumi:"max"`
	// DB Instance available storage min value.
	Min pulumi.StringInput `pulumi:"min"`
	// DB Instance available storage increase step.
	Step pulumi.StringInput `pulumi:"step"`
}

func (GetInstanceClassesInstanceClassStorageRangeArgs) ElementType

func (GetInstanceClassesInstanceClassStorageRangeArgs) ToGetInstanceClassesInstanceClassStorageRangeOutput

func (i GetInstanceClassesInstanceClassStorageRangeArgs) ToGetInstanceClassesInstanceClassStorageRangeOutput() GetInstanceClassesInstanceClassStorageRangeOutput

func (GetInstanceClassesInstanceClassStorageRangeArgs) ToGetInstanceClassesInstanceClassStorageRangeOutputWithContext

func (i GetInstanceClassesInstanceClassStorageRangeArgs) ToGetInstanceClassesInstanceClassStorageRangeOutputWithContext(ctx context.Context) GetInstanceClassesInstanceClassStorageRangeOutput

type GetInstanceClassesInstanceClassStorageRangeInput

type GetInstanceClassesInstanceClassStorageRangeInput interface {
	pulumi.Input

	ToGetInstanceClassesInstanceClassStorageRangeOutput() GetInstanceClassesInstanceClassStorageRangeOutput
	ToGetInstanceClassesInstanceClassStorageRangeOutputWithContext(context.Context) GetInstanceClassesInstanceClassStorageRangeOutput
}

GetInstanceClassesInstanceClassStorageRangeInput is an input type that accepts GetInstanceClassesInstanceClassStorageRangeArgs and GetInstanceClassesInstanceClassStorageRangeOutput values. You can construct a concrete instance of `GetInstanceClassesInstanceClassStorageRangeInput` via:

GetInstanceClassesInstanceClassStorageRangeArgs{...}

type GetInstanceClassesInstanceClassStorageRangeOutput

type GetInstanceClassesInstanceClassStorageRangeOutput struct{ *pulumi.OutputState }

func (GetInstanceClassesInstanceClassStorageRangeOutput) ElementType

func (GetInstanceClassesInstanceClassStorageRangeOutput) Max

DB Instance available storage max value.

func (GetInstanceClassesInstanceClassStorageRangeOutput) Min

DB Instance available storage min value.

func (GetInstanceClassesInstanceClassStorageRangeOutput) Step

DB Instance available storage increase step.

func (GetInstanceClassesInstanceClassStorageRangeOutput) ToGetInstanceClassesInstanceClassStorageRangeOutput

func (o GetInstanceClassesInstanceClassStorageRangeOutput) ToGetInstanceClassesInstanceClassStorageRangeOutput() GetInstanceClassesInstanceClassStorageRangeOutput

func (GetInstanceClassesInstanceClassStorageRangeOutput) ToGetInstanceClassesInstanceClassStorageRangeOutputWithContext

func (o GetInstanceClassesInstanceClassStorageRangeOutput) ToGetInstanceClassesInstanceClassStorageRangeOutputWithContext(ctx context.Context) GetInstanceClassesInstanceClassStorageRangeOutput

type GetInstanceClassesInstanceClassZoneId

type GetInstanceClassesInstanceClassZoneId struct {
	// The Zone to launch the DB instance
	Id string `pulumi:"id"`
	// A list of sub zone ids which in the id - e.g If `id` is `cn-beijing-MAZ5(a,b)`, `subZoneIds` will be `["cn-beijing-a", "cn-beijing-b"]`.
	SubZoneIds []string `pulumi:"subZoneIds"`
}

type GetInstanceClassesInstanceClassZoneIdArgs

type GetInstanceClassesInstanceClassZoneIdArgs struct {
	// The Zone to launch the DB instance
	Id pulumi.StringInput `pulumi:"id"`
	// A list of sub zone ids which in the id - e.g If `id` is `cn-beijing-MAZ5(a,b)`, `subZoneIds` will be `["cn-beijing-a", "cn-beijing-b"]`.
	SubZoneIds pulumi.StringArrayInput `pulumi:"subZoneIds"`
}

func (GetInstanceClassesInstanceClassZoneIdArgs) ElementType

func (GetInstanceClassesInstanceClassZoneIdArgs) ToGetInstanceClassesInstanceClassZoneIdOutput

func (i GetInstanceClassesInstanceClassZoneIdArgs) ToGetInstanceClassesInstanceClassZoneIdOutput() GetInstanceClassesInstanceClassZoneIdOutput

func (GetInstanceClassesInstanceClassZoneIdArgs) ToGetInstanceClassesInstanceClassZoneIdOutputWithContext

func (i GetInstanceClassesInstanceClassZoneIdArgs) ToGetInstanceClassesInstanceClassZoneIdOutputWithContext(ctx context.Context) GetInstanceClassesInstanceClassZoneIdOutput

type GetInstanceClassesInstanceClassZoneIdArray

type GetInstanceClassesInstanceClassZoneIdArray []GetInstanceClassesInstanceClassZoneIdInput

func (GetInstanceClassesInstanceClassZoneIdArray) ElementType

func (GetInstanceClassesInstanceClassZoneIdArray) ToGetInstanceClassesInstanceClassZoneIdArrayOutput

func (i GetInstanceClassesInstanceClassZoneIdArray) ToGetInstanceClassesInstanceClassZoneIdArrayOutput() GetInstanceClassesInstanceClassZoneIdArrayOutput

func (GetInstanceClassesInstanceClassZoneIdArray) ToGetInstanceClassesInstanceClassZoneIdArrayOutputWithContext

func (i GetInstanceClassesInstanceClassZoneIdArray) ToGetInstanceClassesInstanceClassZoneIdArrayOutputWithContext(ctx context.Context) GetInstanceClassesInstanceClassZoneIdArrayOutput

type GetInstanceClassesInstanceClassZoneIdArrayInput

type GetInstanceClassesInstanceClassZoneIdArrayInput interface {
	pulumi.Input

	ToGetInstanceClassesInstanceClassZoneIdArrayOutput() GetInstanceClassesInstanceClassZoneIdArrayOutput
	ToGetInstanceClassesInstanceClassZoneIdArrayOutputWithContext(context.Context) GetInstanceClassesInstanceClassZoneIdArrayOutput
}

GetInstanceClassesInstanceClassZoneIdArrayInput is an input type that accepts GetInstanceClassesInstanceClassZoneIdArray and GetInstanceClassesInstanceClassZoneIdArrayOutput values. You can construct a concrete instance of `GetInstanceClassesInstanceClassZoneIdArrayInput` via:

GetInstanceClassesInstanceClassZoneIdArray{ GetInstanceClassesInstanceClassZoneIdArgs{...} }

type GetInstanceClassesInstanceClassZoneIdArrayOutput

type GetInstanceClassesInstanceClassZoneIdArrayOutput struct{ *pulumi.OutputState }

func (GetInstanceClassesInstanceClassZoneIdArrayOutput) ElementType

func (GetInstanceClassesInstanceClassZoneIdArrayOutput) Index

func (GetInstanceClassesInstanceClassZoneIdArrayOutput) ToGetInstanceClassesInstanceClassZoneIdArrayOutput

func (o GetInstanceClassesInstanceClassZoneIdArrayOutput) ToGetInstanceClassesInstanceClassZoneIdArrayOutput() GetInstanceClassesInstanceClassZoneIdArrayOutput

func (GetInstanceClassesInstanceClassZoneIdArrayOutput) ToGetInstanceClassesInstanceClassZoneIdArrayOutputWithContext

func (o GetInstanceClassesInstanceClassZoneIdArrayOutput) ToGetInstanceClassesInstanceClassZoneIdArrayOutputWithContext(ctx context.Context) GetInstanceClassesInstanceClassZoneIdArrayOutput

type GetInstanceClassesInstanceClassZoneIdInput

type GetInstanceClassesInstanceClassZoneIdInput interface {
	pulumi.Input

	ToGetInstanceClassesInstanceClassZoneIdOutput() GetInstanceClassesInstanceClassZoneIdOutput
	ToGetInstanceClassesInstanceClassZoneIdOutputWithContext(context.Context) GetInstanceClassesInstanceClassZoneIdOutput
}

GetInstanceClassesInstanceClassZoneIdInput is an input type that accepts GetInstanceClassesInstanceClassZoneIdArgs and GetInstanceClassesInstanceClassZoneIdOutput values. You can construct a concrete instance of `GetInstanceClassesInstanceClassZoneIdInput` via:

GetInstanceClassesInstanceClassZoneIdArgs{...}

type GetInstanceClassesInstanceClassZoneIdOutput

type GetInstanceClassesInstanceClassZoneIdOutput struct{ *pulumi.OutputState }

func (GetInstanceClassesInstanceClassZoneIdOutput) ElementType

func (GetInstanceClassesInstanceClassZoneIdOutput) Id

The Zone to launch the DB instance

func (GetInstanceClassesInstanceClassZoneIdOutput) SubZoneIds

A list of sub zone ids which in the id - e.g If `id` is `cn-beijing-MAZ5(a,b)`, `subZoneIds` will be `["cn-beijing-a", "cn-beijing-b"]`.

func (GetInstanceClassesInstanceClassZoneIdOutput) ToGetInstanceClassesInstanceClassZoneIdOutput

func (o GetInstanceClassesInstanceClassZoneIdOutput) ToGetInstanceClassesInstanceClassZoneIdOutput() GetInstanceClassesInstanceClassZoneIdOutput

func (GetInstanceClassesInstanceClassZoneIdOutput) ToGetInstanceClassesInstanceClassZoneIdOutputWithContext

func (o GetInstanceClassesInstanceClassZoneIdOutput) ToGetInstanceClassesInstanceClassZoneIdOutputWithContext(ctx context.Context) GetInstanceClassesInstanceClassZoneIdOutput

type GetInstanceClassesResult

type GetInstanceClassesResult struct {
	Category        *string `pulumi:"category"`
	DbInstanceClass *string `pulumi:"dbInstanceClass"`
	Engine          *string `pulumi:"engine"`
	EngineVersion   *string `pulumi:"engineVersion"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// (Available in 1.60.0+) A list of Rds instance class codes.
	Ids                []string `pulumi:"ids"`
	InstanceChargeType *string  `pulumi:"instanceChargeType"`
	// A list of Rds available resource. Each element contains the following attributes:
	InstanceClasses []GetInstanceClassesInstanceClass `pulumi:"instanceClasses"`
	MultiZone       *bool                             `pulumi:"multiZone"`
	OutputFile      *string                           `pulumi:"outputFile"`
	SortedBy        *string                           `pulumi:"sortedBy"`
	StorageType     *string                           `pulumi:"storageType"`
	ZoneId          *string                           `pulumi:"zoneId"`
}

A collection of values returned by getInstanceClasses.

func GetInstanceClasses

func GetInstanceClasses(ctx *pulumi.Context, args *GetInstanceClassesArgs, opts ...pulumi.InvokeOption) (*GetInstanceClassesResult, error)

This data source provides the RDS instance classes resource available info of Alibaba Cloud.

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

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "MySQL"
		opt1 := "5.6"
		opt2 := "PostPaid"
		opt3 := "./classes.txt"
		resources, err := rds.GetInstanceClasses(ctx, &rds.GetInstanceClassesArgs{
			Engine:             &opt0,
			EngineVersion:      &opt1,
			InstanceChargeType: &opt2,
			OutputFile:         &opt3,
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("firstDbInstanceClass", resources.InstanceClasses[0].InstanceClass)
		return nil
	})
}

```

type GetInstanceEnginesArgs

type GetInstanceEnginesArgs struct {
	// Database type. Options are `MySQL`, `SQLServer`, `PostgreSQL` and `PPAS`. If no value is specified, all types are returned.
	Engine *string `pulumi:"engine"`
	// Database version required by the user. Value options can refer to the latest docs [detail info](https://www.alibabacloud.com/help/doc-detail/26228.htm) `EngineVersion`.
	EngineVersion *string `pulumi:"engineVersion"`
	// Filter the results by charge type. Valid values: `PrePaid` and `PostPaid`. Default to `PostPaid`.
	InstanceChargeType *string `pulumi:"instanceChargeType"`
	// Whether to show multi available zone. Default false to not show multi availability zone.
	MultiZone  *bool   `pulumi:"multiZone"`
	OutputFile *string `pulumi:"outputFile"`
	// The Zone to launch the DB instance.
	ZoneId *string `pulumi:"zoneId"`
}

A collection of arguments for invoking getInstanceEngines.

type GetInstanceEnginesInstanceEngine

type GetInstanceEnginesInstanceEngine struct {
	// DB Instance category.
	Category string `pulumi:"category"`
	// Database type. Options are `MySQL`, `SQLServer`, `PostgreSQL` and `PPAS`. If no value is specified, all types are returned.
	Engine string `pulumi:"engine"`
	// Database version required by the user. Value options can refer to the latest docs [detail info](https://www.alibabacloud.com/help/doc-detail/26228.htm) `EngineVersion`.
	EngineVersion string `pulumi:"engineVersion"`
	// A list of Zone to launch the DB instance.
	ZoneIds []GetInstanceEnginesInstanceEngineZoneId `pulumi:"zoneIds"`
}

type GetInstanceEnginesInstanceEngineArgs

type GetInstanceEnginesInstanceEngineArgs struct {
	// DB Instance category.
	Category pulumi.StringInput `pulumi:"category"`
	// Database type. Options are `MySQL`, `SQLServer`, `PostgreSQL` and `PPAS`. If no value is specified, all types are returned.
	Engine pulumi.StringInput `pulumi:"engine"`
	// Database version required by the user. Value options can refer to the latest docs [detail info](https://www.alibabacloud.com/help/doc-detail/26228.htm) `EngineVersion`.
	EngineVersion pulumi.StringInput `pulumi:"engineVersion"`
	// A list of Zone to launch the DB instance.
	ZoneIds GetInstanceEnginesInstanceEngineZoneIdArrayInput `pulumi:"zoneIds"`
}

func (GetInstanceEnginesInstanceEngineArgs) ElementType

func (GetInstanceEnginesInstanceEngineArgs) ToGetInstanceEnginesInstanceEngineOutput

func (i GetInstanceEnginesInstanceEngineArgs) ToGetInstanceEnginesInstanceEngineOutput() GetInstanceEnginesInstanceEngineOutput

func (GetInstanceEnginesInstanceEngineArgs) ToGetInstanceEnginesInstanceEngineOutputWithContext

func (i GetInstanceEnginesInstanceEngineArgs) ToGetInstanceEnginesInstanceEngineOutputWithContext(ctx context.Context) GetInstanceEnginesInstanceEngineOutput

type GetInstanceEnginesInstanceEngineArray

type GetInstanceEnginesInstanceEngineArray []GetInstanceEnginesInstanceEngineInput

func (GetInstanceEnginesInstanceEngineArray) ElementType

func (GetInstanceEnginesInstanceEngineArray) ToGetInstanceEnginesInstanceEngineArrayOutput

func (i GetInstanceEnginesInstanceEngineArray) ToGetInstanceEnginesInstanceEngineArrayOutput() GetInstanceEnginesInstanceEngineArrayOutput

func (GetInstanceEnginesInstanceEngineArray) ToGetInstanceEnginesInstanceEngineArrayOutputWithContext

func (i GetInstanceEnginesInstanceEngineArray) ToGetInstanceEnginesInstanceEngineArrayOutputWithContext(ctx context.Context) GetInstanceEnginesInstanceEngineArrayOutput

type GetInstanceEnginesInstanceEngineArrayInput

type GetInstanceEnginesInstanceEngineArrayInput interface {
	pulumi.Input

	ToGetInstanceEnginesInstanceEngineArrayOutput() GetInstanceEnginesInstanceEngineArrayOutput
	ToGetInstanceEnginesInstanceEngineArrayOutputWithContext(context.Context) GetInstanceEnginesInstanceEngineArrayOutput
}

GetInstanceEnginesInstanceEngineArrayInput is an input type that accepts GetInstanceEnginesInstanceEngineArray and GetInstanceEnginesInstanceEngineArrayOutput values. You can construct a concrete instance of `GetInstanceEnginesInstanceEngineArrayInput` via:

GetInstanceEnginesInstanceEngineArray{ GetInstanceEnginesInstanceEngineArgs{...} }

type GetInstanceEnginesInstanceEngineArrayOutput

type GetInstanceEnginesInstanceEngineArrayOutput struct{ *pulumi.OutputState }

func (GetInstanceEnginesInstanceEngineArrayOutput) ElementType

func (GetInstanceEnginesInstanceEngineArrayOutput) Index

func (GetInstanceEnginesInstanceEngineArrayOutput) ToGetInstanceEnginesInstanceEngineArrayOutput

func (o GetInstanceEnginesInstanceEngineArrayOutput) ToGetInstanceEnginesInstanceEngineArrayOutput() GetInstanceEnginesInstanceEngineArrayOutput

func (GetInstanceEnginesInstanceEngineArrayOutput) ToGetInstanceEnginesInstanceEngineArrayOutputWithContext

func (o GetInstanceEnginesInstanceEngineArrayOutput) ToGetInstanceEnginesInstanceEngineArrayOutputWithContext(ctx context.Context) GetInstanceEnginesInstanceEngineArrayOutput

type GetInstanceEnginesInstanceEngineInput

type GetInstanceEnginesInstanceEngineInput interface {
	pulumi.Input

	ToGetInstanceEnginesInstanceEngineOutput() GetInstanceEnginesInstanceEngineOutput
	ToGetInstanceEnginesInstanceEngineOutputWithContext(context.Context) GetInstanceEnginesInstanceEngineOutput
}

GetInstanceEnginesInstanceEngineInput is an input type that accepts GetInstanceEnginesInstanceEngineArgs and GetInstanceEnginesInstanceEngineOutput values. You can construct a concrete instance of `GetInstanceEnginesInstanceEngineInput` via:

GetInstanceEnginesInstanceEngineArgs{...}

type GetInstanceEnginesInstanceEngineOutput

type GetInstanceEnginesInstanceEngineOutput struct{ *pulumi.OutputState }

func (GetInstanceEnginesInstanceEngineOutput) Category

DB Instance category.

func (GetInstanceEnginesInstanceEngineOutput) ElementType

func (GetInstanceEnginesInstanceEngineOutput) Engine

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

func (GetInstanceEnginesInstanceEngineOutput) EngineVersion

Database version required by the user. Value options can refer to the latest docs [detail info](https://www.alibabacloud.com/help/doc-detail/26228.htm) `EngineVersion`.

func (GetInstanceEnginesInstanceEngineOutput) ToGetInstanceEnginesInstanceEngineOutput

func (o GetInstanceEnginesInstanceEngineOutput) ToGetInstanceEnginesInstanceEngineOutput() GetInstanceEnginesInstanceEngineOutput

func (GetInstanceEnginesInstanceEngineOutput) ToGetInstanceEnginesInstanceEngineOutputWithContext

func (o GetInstanceEnginesInstanceEngineOutput) ToGetInstanceEnginesInstanceEngineOutputWithContext(ctx context.Context) GetInstanceEnginesInstanceEngineOutput

func (GetInstanceEnginesInstanceEngineOutput) ZoneIds

A list of Zone to launch the DB instance.

type GetInstanceEnginesInstanceEngineZoneId

type GetInstanceEnginesInstanceEngineZoneId struct {
	// The Zone to launch the DB instance
	Id string `pulumi:"id"`
	// A list of sub zone ids which in the id - e.g If `id` is `cn-beijing-MAZ5(a,b)`, `subZoneIds` will be `["cn-beijing-a", "cn-beijing-b"]`.
	SubZoneIds []string `pulumi:"subZoneIds"`
}

type GetInstanceEnginesInstanceEngineZoneIdArgs

type GetInstanceEnginesInstanceEngineZoneIdArgs struct {
	// The Zone to launch the DB instance
	Id pulumi.StringInput `pulumi:"id"`
	// A list of sub zone ids which in the id - e.g If `id` is `cn-beijing-MAZ5(a,b)`, `subZoneIds` will be `["cn-beijing-a", "cn-beijing-b"]`.
	SubZoneIds pulumi.StringArrayInput `pulumi:"subZoneIds"`
}

func (GetInstanceEnginesInstanceEngineZoneIdArgs) ElementType

func (GetInstanceEnginesInstanceEngineZoneIdArgs) ToGetInstanceEnginesInstanceEngineZoneIdOutput

func (i GetInstanceEnginesInstanceEngineZoneIdArgs) ToGetInstanceEnginesInstanceEngineZoneIdOutput() GetInstanceEnginesInstanceEngineZoneIdOutput

func (GetInstanceEnginesInstanceEngineZoneIdArgs) ToGetInstanceEnginesInstanceEngineZoneIdOutputWithContext

func (i GetInstanceEnginesInstanceEngineZoneIdArgs) ToGetInstanceEnginesInstanceEngineZoneIdOutputWithContext(ctx context.Context) GetInstanceEnginesInstanceEngineZoneIdOutput

type GetInstanceEnginesInstanceEngineZoneIdArray

type GetInstanceEnginesInstanceEngineZoneIdArray []GetInstanceEnginesInstanceEngineZoneIdInput

func (GetInstanceEnginesInstanceEngineZoneIdArray) ElementType

func (GetInstanceEnginesInstanceEngineZoneIdArray) ToGetInstanceEnginesInstanceEngineZoneIdArrayOutput

func (i GetInstanceEnginesInstanceEngineZoneIdArray) ToGetInstanceEnginesInstanceEngineZoneIdArrayOutput() GetInstanceEnginesInstanceEngineZoneIdArrayOutput

func (GetInstanceEnginesInstanceEngineZoneIdArray) ToGetInstanceEnginesInstanceEngineZoneIdArrayOutputWithContext

func (i GetInstanceEnginesInstanceEngineZoneIdArray) ToGetInstanceEnginesInstanceEngineZoneIdArrayOutputWithContext(ctx context.Context) GetInstanceEnginesInstanceEngineZoneIdArrayOutput

type GetInstanceEnginesInstanceEngineZoneIdArrayInput

type GetInstanceEnginesInstanceEngineZoneIdArrayInput interface {
	pulumi.Input

	ToGetInstanceEnginesInstanceEngineZoneIdArrayOutput() GetInstanceEnginesInstanceEngineZoneIdArrayOutput
	ToGetInstanceEnginesInstanceEngineZoneIdArrayOutputWithContext(context.Context) GetInstanceEnginesInstanceEngineZoneIdArrayOutput
}

GetInstanceEnginesInstanceEngineZoneIdArrayInput is an input type that accepts GetInstanceEnginesInstanceEngineZoneIdArray and GetInstanceEnginesInstanceEngineZoneIdArrayOutput values. You can construct a concrete instance of `GetInstanceEnginesInstanceEngineZoneIdArrayInput` via:

GetInstanceEnginesInstanceEngineZoneIdArray{ GetInstanceEnginesInstanceEngineZoneIdArgs{...} }

type GetInstanceEnginesInstanceEngineZoneIdArrayOutput

type GetInstanceEnginesInstanceEngineZoneIdArrayOutput struct{ *pulumi.OutputState }

func (GetInstanceEnginesInstanceEngineZoneIdArrayOutput) ElementType

func (GetInstanceEnginesInstanceEngineZoneIdArrayOutput) Index

func (GetInstanceEnginesInstanceEngineZoneIdArrayOutput) ToGetInstanceEnginesInstanceEngineZoneIdArrayOutput

func (o GetInstanceEnginesInstanceEngineZoneIdArrayOutput) ToGetInstanceEnginesInstanceEngineZoneIdArrayOutput() GetInstanceEnginesInstanceEngineZoneIdArrayOutput

func (GetInstanceEnginesInstanceEngineZoneIdArrayOutput) ToGetInstanceEnginesInstanceEngineZoneIdArrayOutputWithContext

func (o GetInstanceEnginesInstanceEngineZoneIdArrayOutput) ToGetInstanceEnginesInstanceEngineZoneIdArrayOutputWithContext(ctx context.Context) GetInstanceEnginesInstanceEngineZoneIdArrayOutput

type GetInstanceEnginesInstanceEngineZoneIdInput

type GetInstanceEnginesInstanceEngineZoneIdInput interface {
	pulumi.Input

	ToGetInstanceEnginesInstanceEngineZoneIdOutput() GetInstanceEnginesInstanceEngineZoneIdOutput
	ToGetInstanceEnginesInstanceEngineZoneIdOutputWithContext(context.Context) GetInstanceEnginesInstanceEngineZoneIdOutput
}

GetInstanceEnginesInstanceEngineZoneIdInput is an input type that accepts GetInstanceEnginesInstanceEngineZoneIdArgs and GetInstanceEnginesInstanceEngineZoneIdOutput values. You can construct a concrete instance of `GetInstanceEnginesInstanceEngineZoneIdInput` via:

GetInstanceEnginesInstanceEngineZoneIdArgs{...}

type GetInstanceEnginesInstanceEngineZoneIdOutput

type GetInstanceEnginesInstanceEngineZoneIdOutput struct{ *pulumi.OutputState }

func (GetInstanceEnginesInstanceEngineZoneIdOutput) ElementType

func (GetInstanceEnginesInstanceEngineZoneIdOutput) Id

The Zone to launch the DB instance

func (GetInstanceEnginesInstanceEngineZoneIdOutput) SubZoneIds

A list of sub zone ids which in the id - e.g If `id` is `cn-beijing-MAZ5(a,b)`, `subZoneIds` will be `["cn-beijing-a", "cn-beijing-b"]`.

func (GetInstanceEnginesInstanceEngineZoneIdOutput) ToGetInstanceEnginesInstanceEngineZoneIdOutput

func (o GetInstanceEnginesInstanceEngineZoneIdOutput) ToGetInstanceEnginesInstanceEngineZoneIdOutput() GetInstanceEnginesInstanceEngineZoneIdOutput

func (GetInstanceEnginesInstanceEngineZoneIdOutput) ToGetInstanceEnginesInstanceEngineZoneIdOutputWithContext

func (o GetInstanceEnginesInstanceEngineZoneIdOutput) ToGetInstanceEnginesInstanceEngineZoneIdOutputWithContext(ctx context.Context) GetInstanceEnginesInstanceEngineZoneIdOutput

type GetInstanceEnginesResult

type GetInstanceEnginesResult struct {
	// Database type.
	Engine *string `pulumi:"engine"`
	// DB Instance version.
	EngineVersion *string `pulumi:"engineVersion"`
	// The provider-assigned unique ID for this managed resource.
	Id                 string  `pulumi:"id"`
	InstanceChargeType *string `pulumi:"instanceChargeType"`
	// A list of Rds available resource. Each element contains the following attributes:
	InstanceEngines []GetInstanceEnginesInstanceEngine `pulumi:"instanceEngines"`
	MultiZone       *bool                              `pulumi:"multiZone"`
	OutputFile      *string                            `pulumi:"outputFile"`
	ZoneId          *string                            `pulumi:"zoneId"`
}

A collection of values returned by getInstanceEngines.

func GetInstanceEngines

func GetInstanceEngines(ctx *pulumi.Context, args *GetInstanceEnginesArgs, opts ...pulumi.InvokeOption) (*GetInstanceEnginesResult, error)

This data source provides the RDS instance engines resource available info of Alibaba Cloud.

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

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "MySQL"
		opt1 := "5.6"
		opt2 := "PostPaid"
		opt3 := "./engines.txt"
		resources, err := rds.GetInstanceEngines(ctx, &rds.GetInstanceEnginesArgs{
			Engine:             &opt0,
			EngineVersion:      &opt1,
			InstanceChargeType: &opt2,
			OutputFile:         &opt3,
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("firstDbCategory", resources.InstanceEngines[0].Category)
		return nil
	})
}

```

type GetInstancesArgs

type GetInstancesArgs struct {
	// `Standard` for standard access mode and `Safe` for high security access mode.
	ConnectionMode *string `pulumi:"connectionMode"`
	// `Primary` for primary instance, `Readonly` for read-only instance, `Guard` for disaster recovery instance, and `Temp` for temporary instance.
	DbType *string `pulumi:"dbType"`
	// Database type. Options are `MySQL`, `SQLServer`, `PostgreSQL` and `PPAS`. If no value is specified, all types are returned.
	Engine *string `pulumi:"engine"`
	// A list of RDS instance IDs.
	Ids []string `pulumi:"ids"`
	// A regex string to filter results by instance name.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
	// Status of the instance.
	Status *string `pulumi:"status"`
	// A map of tags assigned to the DB instances.
	// Note: Before 1.60.0, the value's format is a `json` string which including `TagKey` and `TagValue`. `TagKey` cannot be null, and `TagValue` can be empty. Format example `"{\"key1\":\"value1\"}"`
	Tags map[string]interface{} `pulumi:"tags"`
	// Used to retrieve instances belong to specified VPC.
	VpcId *string `pulumi:"vpcId"`
	// Used to retrieve instances belong to specified `vswitch` resources.
	VswitchId *string `pulumi:"vswitchId"`
}

A collection of arguments for invoking getInstances.

type GetInstancesInstance

type GetInstancesInstance struct {
	// Availability zone.
	AvailabilityZone string `pulumi:"availabilityZone"`
	// Billing method. Value options: `Postpaid` for Pay-As-You-Go and `Prepaid` for subscription.
	ChargeType string `pulumi:"chargeType"`
	// `Standard` for standard access mode and `Safe` for high security access mode.
	ConnectionMode string `pulumi:"connectionMode"`
	// (Available in 1.70.3+) RDS database connection string.
	ConnectionString string `pulumi:"connectionString"`
	// Creation time of the instance.
	CreateTime string `pulumi:"createTime"`
	// (Available in 1.70.3+) The storage type of the instance.
	DbInstanceStorageType string `pulumi:"dbInstanceStorageType"`
	// `Primary` for primary instance, `Readonly` for read-only instance, `Guard` for disaster recovery instance, and `Temp` for temporary instance.
	DbType string `pulumi:"dbType"`
	// Database type. Options are `MySQL`, `SQLServer`, `PostgreSQL` and `PPAS`. If no value is specified, all types are returned.
	Engine string `pulumi:"engine"`
	// Database version.
	EngineVersion string `pulumi:"engineVersion"`
	// Expiration time. Pay-As-You-Go instances never expire.
	ExpireTime string `pulumi:"expireTime"`
	// If a disaster recovery instance is attached to the current instance, the ID of the disaster recovery instance applies.
	GuardInstanceId string `pulumi:"guardInstanceId"`
	// The ID of the RDS instance.
	Id string `pulumi:"id"`
	// (Available in 1.70.3+) User-defined DB instance storage space.
	InstanceStorage int `pulumi:"instanceStorage"`
	// Sizing of the RDS instance.
	InstanceType string `pulumi:"instanceType"`
	// ID of the primary instance. If this parameter is not returned, the current instance is a primary instance.
	MasterInstanceId string `pulumi:"masterInstanceId"`
	// (Available in 1.101.0+) The master zone of the instance.
	MasterZone string `pulumi:"masterZone"`
	// The name of the RDS instance.
	Name string `pulumi:"name"`
	// `Internet` for public network or `Intranet` for private network.
	NetType string `pulumi:"netType"`
	// (Available in 1.70.3+) RDS database connection port.
	Port string `pulumi:"port"`
	// A list of IDs of read-only instances attached to the primary instance.
	ReadonlyInstanceIds []string `pulumi:"readonlyInstanceIds"`
	// Region ID the instance belongs to.
	RegionId string `pulumi:"regionId"`
	// Status of the instance.
	Status string `pulumi:"status"`
	// If a temporary instance is attached to the current instance, the ID of the temporary instance applies.
	TempInstanceId string `pulumi:"tempInstanceId"`
	// Used to retrieve instances belong to specified VPC.
	VpcId string `pulumi:"vpcId"`
	// Used to retrieve instances belong to specified `vswitch` resources.
	VswitchId string `pulumi:"vswitchId"`
	// (Available in 1.101.0+) The region ID of the secondary instance if you create a secondary instance. If you set this parameter to the same value as the ZoneId parameter, the instance is deployed in a single zone. Otherwise, the instance is deployed in multiple zones.
	ZoneIdSlaveA string `pulumi:"zoneIdSlaveA"`
	// (Available in 1.101.0+) The region ID of the log instance if you create a log instance. If you set this parameter to the same value as the ZoneId parameter, the instance is deployed in a single zone. Otherwise, the instance is deployed in multiple zones.
	ZoneIdSlaveB string `pulumi:"zoneIdSlaveB"`
}

type GetInstancesInstanceArgs

type GetInstancesInstanceArgs struct {
	// Availability zone.
	AvailabilityZone pulumi.StringInput `pulumi:"availabilityZone"`
	// Billing method. Value options: `Postpaid` for Pay-As-You-Go and `Prepaid` for subscription.
	ChargeType pulumi.StringInput `pulumi:"chargeType"`
	// `Standard` for standard access mode and `Safe` for high security access mode.
	ConnectionMode pulumi.StringInput `pulumi:"connectionMode"`
	// (Available in 1.70.3+) RDS database connection string.
	ConnectionString pulumi.StringInput `pulumi:"connectionString"`
	// Creation time of the instance.
	CreateTime pulumi.StringInput `pulumi:"createTime"`
	// (Available in 1.70.3+) The storage type of the instance.
	DbInstanceStorageType pulumi.StringInput `pulumi:"dbInstanceStorageType"`
	// `Primary` for primary instance, `Readonly` for read-only instance, `Guard` for disaster recovery instance, and `Temp` for temporary instance.
	DbType pulumi.StringInput `pulumi:"dbType"`
	// Database type. Options are `MySQL`, `SQLServer`, `PostgreSQL` and `PPAS`. If no value is specified, all types are returned.
	Engine pulumi.StringInput `pulumi:"engine"`
	// Database version.
	EngineVersion pulumi.StringInput `pulumi:"engineVersion"`
	// Expiration time. Pay-As-You-Go instances never expire.
	ExpireTime pulumi.StringInput `pulumi:"expireTime"`
	// If a disaster recovery instance is attached to the current instance, the ID of the disaster recovery instance applies.
	GuardInstanceId pulumi.StringInput `pulumi:"guardInstanceId"`
	// The ID of the RDS instance.
	Id pulumi.StringInput `pulumi:"id"`
	// (Available in 1.70.3+) User-defined DB instance storage space.
	InstanceStorage pulumi.IntInput `pulumi:"instanceStorage"`
	// Sizing of the RDS instance.
	InstanceType pulumi.StringInput `pulumi:"instanceType"`
	// ID of the primary instance. If this parameter is not returned, the current instance is a primary instance.
	MasterInstanceId pulumi.StringInput `pulumi:"masterInstanceId"`
	// (Available in 1.101.0+) The master zone of the instance.
	MasterZone pulumi.StringInput `pulumi:"masterZone"`
	// The name of the RDS instance.
	Name pulumi.StringInput `pulumi:"name"`
	// `Internet` for public network or `Intranet` for private network.
	NetType pulumi.StringInput `pulumi:"netType"`
	// (Available in 1.70.3+) RDS database connection port.
	Port pulumi.StringInput `pulumi:"port"`
	// A list of IDs of read-only instances attached to the primary instance.
	ReadonlyInstanceIds pulumi.StringArrayInput `pulumi:"readonlyInstanceIds"`
	// Region ID the instance belongs to.
	RegionId pulumi.StringInput `pulumi:"regionId"`
	// Status of the instance.
	Status pulumi.StringInput `pulumi:"status"`
	// If a temporary instance is attached to the current instance, the ID of the temporary instance applies.
	TempInstanceId pulumi.StringInput `pulumi:"tempInstanceId"`
	// Used to retrieve instances belong to specified VPC.
	VpcId pulumi.StringInput `pulumi:"vpcId"`
	// Used to retrieve instances belong to specified `vswitch` resources.
	VswitchId pulumi.StringInput `pulumi:"vswitchId"`
	// (Available in 1.101.0+) The region ID of the secondary instance if you create a secondary instance. If you set this parameter to the same value as the ZoneId parameter, the instance is deployed in a single zone. Otherwise, the instance is deployed in multiple zones.
	ZoneIdSlaveA pulumi.StringInput `pulumi:"zoneIdSlaveA"`
	// (Available in 1.101.0+) The region ID of the log instance if you create a log instance. If you set this parameter to the same value as the ZoneId parameter, the instance is deployed in a single zone. Otherwise, the instance is deployed in multiple zones.
	ZoneIdSlaveB pulumi.StringInput `pulumi:"zoneIdSlaveB"`
}

func (GetInstancesInstanceArgs) ElementType

func (GetInstancesInstanceArgs) ElementType() reflect.Type

func (GetInstancesInstanceArgs) ToGetInstancesInstanceOutput

func (i GetInstancesInstanceArgs) ToGetInstancesInstanceOutput() GetInstancesInstanceOutput

func (GetInstancesInstanceArgs) ToGetInstancesInstanceOutputWithContext

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

type GetInstancesInstanceArray

type GetInstancesInstanceArray []GetInstancesInstanceInput

func (GetInstancesInstanceArray) ElementType

func (GetInstancesInstanceArray) ElementType() reflect.Type

func (GetInstancesInstanceArray) ToGetInstancesInstanceArrayOutput

func (i GetInstancesInstanceArray) ToGetInstancesInstanceArrayOutput() GetInstancesInstanceArrayOutput

func (GetInstancesInstanceArray) ToGetInstancesInstanceArrayOutputWithContext

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

type GetInstancesInstanceArrayInput

type GetInstancesInstanceArrayInput interface {
	pulumi.Input

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

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

GetInstancesInstanceArray{ GetInstancesInstanceArgs{...} }

type GetInstancesInstanceArrayOutput

type GetInstancesInstanceArrayOutput struct{ *pulumi.OutputState }

func (GetInstancesInstanceArrayOutput) ElementType

func (GetInstancesInstanceArrayOutput) Index

func (GetInstancesInstanceArrayOutput) ToGetInstancesInstanceArrayOutput

func (o GetInstancesInstanceArrayOutput) ToGetInstancesInstanceArrayOutput() GetInstancesInstanceArrayOutput

func (GetInstancesInstanceArrayOutput) ToGetInstancesInstanceArrayOutputWithContext

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

type GetInstancesInstanceInput

type GetInstancesInstanceInput interface {
	pulumi.Input

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

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

GetInstancesInstanceArgs{...}

type GetInstancesInstanceOutput

type GetInstancesInstanceOutput struct{ *pulumi.OutputState }

func (GetInstancesInstanceOutput) AvailabilityZone

func (o GetInstancesInstanceOutput) AvailabilityZone() pulumi.StringOutput

Availability zone.

func (GetInstancesInstanceOutput) ChargeType

Billing method. Value options: `Postpaid` for Pay-As-You-Go and `Prepaid` for subscription.

func (GetInstancesInstanceOutput) ConnectionMode

func (o GetInstancesInstanceOutput) ConnectionMode() pulumi.StringOutput

`Standard` for standard access mode and `Safe` for high security access mode.

func (GetInstancesInstanceOutput) ConnectionString

func (o GetInstancesInstanceOutput) ConnectionString() pulumi.StringOutput

(Available in 1.70.3+) RDS database connection string.

func (GetInstancesInstanceOutput) CreateTime

Creation time of the instance.

func (GetInstancesInstanceOutput) DbInstanceStorageType

func (o GetInstancesInstanceOutput) DbInstanceStorageType() pulumi.StringOutput

(Available in 1.70.3+) The storage type of the instance.

func (GetInstancesInstanceOutput) DbType

`Primary` for primary instance, `Readonly` for read-only instance, `Guard` for disaster recovery instance, and `Temp` for temporary instance.

func (GetInstancesInstanceOutput) ElementType

func (GetInstancesInstanceOutput) ElementType() reflect.Type

func (GetInstancesInstanceOutput) Engine

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

func (GetInstancesInstanceOutput) EngineVersion

Database version.

func (GetInstancesInstanceOutput) ExpireTime

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

func (GetInstancesInstanceOutput) GuardInstanceId

func (o GetInstancesInstanceOutput) GuardInstanceId() pulumi.StringOutput

If a disaster recovery instance is attached to the current instance, the ID of the disaster recovery instance applies.

func (GetInstancesInstanceOutput) Id

The ID of the RDS instance.

func (GetInstancesInstanceOutput) InstanceStorage

func (o GetInstancesInstanceOutput) InstanceStorage() pulumi.IntOutput

(Available in 1.70.3+) User-defined DB instance storage space.

func (GetInstancesInstanceOutput) InstanceType

Sizing of the RDS instance.

func (GetInstancesInstanceOutput) MasterInstanceId

func (o GetInstancesInstanceOutput) MasterInstanceId() pulumi.StringOutput

ID of the primary instance. If this parameter is not returned, the current instance is a primary instance.

func (GetInstancesInstanceOutput) MasterZone added in v2.22.0

(Available in 1.101.0+) The master zone of the instance.

func (GetInstancesInstanceOutput) Name

The name of the RDS instance.

func (GetInstancesInstanceOutput) NetType

`Internet` for public network or `Intranet` for private network.

func (GetInstancesInstanceOutput) Port

(Available in 1.70.3+) RDS database connection port.

func (GetInstancesInstanceOutput) ReadonlyInstanceIds

func (o GetInstancesInstanceOutput) ReadonlyInstanceIds() pulumi.StringArrayOutput

A list of IDs of read-only instances attached to the primary instance.

func (GetInstancesInstanceOutput) RegionId

Region ID the instance belongs to.

func (GetInstancesInstanceOutput) Status

Status of the instance.

func (GetInstancesInstanceOutput) TempInstanceId

func (o GetInstancesInstanceOutput) TempInstanceId() pulumi.StringOutput

If a temporary instance is attached to the current instance, the ID of the temporary instance applies.

func (GetInstancesInstanceOutput) ToGetInstancesInstanceOutput

func (o GetInstancesInstanceOutput) ToGetInstancesInstanceOutput() GetInstancesInstanceOutput

func (GetInstancesInstanceOutput) ToGetInstancesInstanceOutputWithContext

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

func (GetInstancesInstanceOutput) VpcId

Used to retrieve instances belong to specified VPC.

func (GetInstancesInstanceOutput) VswitchId

Used to retrieve instances belong to specified `vswitch` resources.

func (GetInstancesInstanceOutput) ZoneIdSlaveA added in v2.22.0

(Available in 1.101.0+) The region ID of the secondary instance if you create a secondary instance. If you set this parameter to the same value as the ZoneId parameter, the instance is deployed in a single zone. Otherwise, the instance is deployed in multiple zones.

func (GetInstancesInstanceOutput) ZoneIdSlaveB added in v2.22.0

(Available in 1.101.0+) The region ID of the log instance if you create a log instance. If you set this parameter to the same value as the ZoneId parameter, the instance is deployed in a single zone. Otherwise, the instance is deployed in multiple zones.

type GetInstancesResult

type GetInstancesResult struct {
	// `Standard` for standard access mode and `Safe` for high security access mode.
	ConnectionMode *string `pulumi:"connectionMode"`
	// `Primary` for primary instance, `Readonly` for read-only instance, `Guard` for disaster recovery instance, and `Temp` for temporary instance.
	DbType *string `pulumi:"dbType"`
	// Database type. Options are `MySQL`, `SQLServer`, `PostgreSQL` and `PPAS`. If no value is specified, all types are returned.
	Engine *string `pulumi:"engine"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of RDS instance IDs.
	Ids []string `pulumi:"ids"`
	// A list of RDS instances. Each element contains the following attributes:
	Instances []GetInstancesInstance `pulumi:"instances"`
	NameRegex *string                `pulumi:"nameRegex"`
	// A list of RDS instance names.
	Names      []string `pulumi:"names"`
	OutputFile *string  `pulumi:"outputFile"`
	// Status of the instance.
	Status *string                `pulumi:"status"`
	Tags   map[string]interface{} `pulumi:"tags"`
	// ID of the VPC the instance belongs to.
	VpcId *string `pulumi:"vpcId"`
	// ID of the VSwitch the instance belongs to.
	VswitchId *string `pulumi:"vswitchId"`
}

A collection of values returned by getInstances.

func GetInstances

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

The `rds.getInstances` data source provides a collection of RDS instances available in Alibaba Cloud account. Filters support regular expression for the instance name, searches by tags, and other filters which are listed below.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "data-\\d+"
		opt1 := "Running"
		dbInstancesDs, err := rds.GetInstances(ctx, &rds.GetInstancesArgs{
			NameRegex: &opt0,
			Status:    &opt1,
			Tags: map[string]interface{}{
				"size": "tiny",
				"type": "database",
			},
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("firstDbInstanceId", dbInstancesDs.Instances[0].Id)
		return nil
	})
}

```

type GetRdsParameterGroupsArgs added in v2.38.0

type GetRdsParameterGroupsArgs struct {
	EnableDetails *bool    `pulumi:"enableDetails"`
	Ids           []string `pulumi:"ids"`
	NameRegex     *string  `pulumi:"nameRegex"`
	OutputFile    *string  `pulumi:"outputFile"`
}

A collection of arguments for invoking getRdsParameterGroups.

type GetRdsParameterGroupsGroup added in v2.38.0

type GetRdsParameterGroupsGroup struct {
	Engine             string                                  `pulumi:"engine"`
	EngineVersion      string                                  `pulumi:"engineVersion"`
	ForceRestart       int                                     `pulumi:"forceRestart"`
	Id                 string                                  `pulumi:"id"`
	ParamCounts        int                                     `pulumi:"paramCounts"`
	ParamDetails       []GetRdsParameterGroupsGroupParamDetail `pulumi:"paramDetails"`
	ParameterGroupDesc string                                  `pulumi:"parameterGroupDesc"`
	ParameterGroupId   string                                  `pulumi:"parameterGroupId"`
	ParameterGroupName string                                  `pulumi:"parameterGroupName"`
	ParameterGroupType int                                     `pulumi:"parameterGroupType"`
}

type GetRdsParameterGroupsGroupArgs added in v2.38.0

type GetRdsParameterGroupsGroupArgs struct {
	Engine             pulumi.StringInput                              `pulumi:"engine"`
	EngineVersion      pulumi.StringInput                              `pulumi:"engineVersion"`
	ForceRestart       pulumi.IntInput                                 `pulumi:"forceRestart"`
	Id                 pulumi.StringInput                              `pulumi:"id"`
	ParamCounts        pulumi.IntInput                                 `pulumi:"paramCounts"`
	ParamDetails       GetRdsParameterGroupsGroupParamDetailArrayInput `pulumi:"paramDetails"`
	ParameterGroupDesc pulumi.StringInput                              `pulumi:"parameterGroupDesc"`
	ParameterGroupId   pulumi.StringInput                              `pulumi:"parameterGroupId"`
	ParameterGroupName pulumi.StringInput                              `pulumi:"parameterGroupName"`
	ParameterGroupType pulumi.IntInput                                 `pulumi:"parameterGroupType"`
}

func (GetRdsParameterGroupsGroupArgs) ElementType added in v2.38.0

func (GetRdsParameterGroupsGroupArgs) ToGetRdsParameterGroupsGroupOutput added in v2.38.0

func (i GetRdsParameterGroupsGroupArgs) ToGetRdsParameterGroupsGroupOutput() GetRdsParameterGroupsGroupOutput

func (GetRdsParameterGroupsGroupArgs) ToGetRdsParameterGroupsGroupOutputWithContext added in v2.38.0

func (i GetRdsParameterGroupsGroupArgs) ToGetRdsParameterGroupsGroupOutputWithContext(ctx context.Context) GetRdsParameterGroupsGroupOutput

type GetRdsParameterGroupsGroupArray added in v2.38.0

type GetRdsParameterGroupsGroupArray []GetRdsParameterGroupsGroupInput

func (GetRdsParameterGroupsGroupArray) ElementType added in v2.38.0

func (GetRdsParameterGroupsGroupArray) ToGetRdsParameterGroupsGroupArrayOutput added in v2.38.0

func (i GetRdsParameterGroupsGroupArray) ToGetRdsParameterGroupsGroupArrayOutput() GetRdsParameterGroupsGroupArrayOutput

func (GetRdsParameterGroupsGroupArray) ToGetRdsParameterGroupsGroupArrayOutputWithContext added in v2.38.0

func (i GetRdsParameterGroupsGroupArray) ToGetRdsParameterGroupsGroupArrayOutputWithContext(ctx context.Context) GetRdsParameterGroupsGroupArrayOutput

type GetRdsParameterGroupsGroupArrayInput added in v2.38.0

type GetRdsParameterGroupsGroupArrayInput interface {
	pulumi.Input

	ToGetRdsParameterGroupsGroupArrayOutput() GetRdsParameterGroupsGroupArrayOutput
	ToGetRdsParameterGroupsGroupArrayOutputWithContext(context.Context) GetRdsParameterGroupsGroupArrayOutput
}

GetRdsParameterGroupsGroupArrayInput is an input type that accepts GetRdsParameterGroupsGroupArray and GetRdsParameterGroupsGroupArrayOutput values. You can construct a concrete instance of `GetRdsParameterGroupsGroupArrayInput` via:

GetRdsParameterGroupsGroupArray{ GetRdsParameterGroupsGroupArgs{...} }

type GetRdsParameterGroupsGroupArrayOutput added in v2.38.0

type GetRdsParameterGroupsGroupArrayOutput struct{ *pulumi.OutputState }

func (GetRdsParameterGroupsGroupArrayOutput) ElementType added in v2.38.0

func (GetRdsParameterGroupsGroupArrayOutput) Index added in v2.38.0

func (GetRdsParameterGroupsGroupArrayOutput) ToGetRdsParameterGroupsGroupArrayOutput added in v2.38.0

func (o GetRdsParameterGroupsGroupArrayOutput) ToGetRdsParameterGroupsGroupArrayOutput() GetRdsParameterGroupsGroupArrayOutput

func (GetRdsParameterGroupsGroupArrayOutput) ToGetRdsParameterGroupsGroupArrayOutputWithContext added in v2.38.0

func (o GetRdsParameterGroupsGroupArrayOutput) ToGetRdsParameterGroupsGroupArrayOutputWithContext(ctx context.Context) GetRdsParameterGroupsGroupArrayOutput

type GetRdsParameterGroupsGroupInput added in v2.38.0

type GetRdsParameterGroupsGroupInput interface {
	pulumi.Input

	ToGetRdsParameterGroupsGroupOutput() GetRdsParameterGroupsGroupOutput
	ToGetRdsParameterGroupsGroupOutputWithContext(context.Context) GetRdsParameterGroupsGroupOutput
}

GetRdsParameterGroupsGroupInput is an input type that accepts GetRdsParameterGroupsGroupArgs and GetRdsParameterGroupsGroupOutput values. You can construct a concrete instance of `GetRdsParameterGroupsGroupInput` via:

GetRdsParameterGroupsGroupArgs{...}

type GetRdsParameterGroupsGroupOutput added in v2.38.0

type GetRdsParameterGroupsGroupOutput struct{ *pulumi.OutputState }

func (GetRdsParameterGroupsGroupOutput) ElementType added in v2.38.0

func (GetRdsParameterGroupsGroupOutput) Engine added in v2.38.0

func (GetRdsParameterGroupsGroupOutput) EngineVersion added in v2.38.0

func (GetRdsParameterGroupsGroupOutput) ForceRestart added in v2.38.0

func (GetRdsParameterGroupsGroupOutput) Id added in v2.38.0

func (GetRdsParameterGroupsGroupOutput) ParamCounts added in v2.38.0

func (GetRdsParameterGroupsGroupOutput) ParamDetails added in v2.38.0

func (GetRdsParameterGroupsGroupOutput) ParameterGroupDesc added in v2.38.0

func (o GetRdsParameterGroupsGroupOutput) ParameterGroupDesc() pulumi.StringOutput

func (GetRdsParameterGroupsGroupOutput) ParameterGroupId added in v2.38.0

func (GetRdsParameterGroupsGroupOutput) ParameterGroupName added in v2.38.0

func (o GetRdsParameterGroupsGroupOutput) ParameterGroupName() pulumi.StringOutput

func (GetRdsParameterGroupsGroupOutput) ParameterGroupType added in v2.38.0

func (o GetRdsParameterGroupsGroupOutput) ParameterGroupType() pulumi.IntOutput

func (GetRdsParameterGroupsGroupOutput) ToGetRdsParameterGroupsGroupOutput added in v2.38.0

func (o GetRdsParameterGroupsGroupOutput) ToGetRdsParameterGroupsGroupOutput() GetRdsParameterGroupsGroupOutput

func (GetRdsParameterGroupsGroupOutput) ToGetRdsParameterGroupsGroupOutputWithContext added in v2.38.0

func (o GetRdsParameterGroupsGroupOutput) ToGetRdsParameterGroupsGroupOutputWithContext(ctx context.Context) GetRdsParameterGroupsGroupOutput

type GetRdsParameterGroupsGroupParamDetail added in v2.38.0

type GetRdsParameterGroupsGroupParamDetail struct {
	ParamName  string `pulumi:"paramName"`
	ParamValue string `pulumi:"paramValue"`
}

type GetRdsParameterGroupsGroupParamDetailArgs added in v2.38.0

type GetRdsParameterGroupsGroupParamDetailArgs struct {
	ParamName  pulumi.StringInput `pulumi:"paramName"`
	ParamValue pulumi.StringInput `pulumi:"paramValue"`
}

func (GetRdsParameterGroupsGroupParamDetailArgs) ElementType added in v2.38.0

func (GetRdsParameterGroupsGroupParamDetailArgs) ToGetRdsParameterGroupsGroupParamDetailOutput added in v2.38.0

func (i GetRdsParameterGroupsGroupParamDetailArgs) ToGetRdsParameterGroupsGroupParamDetailOutput() GetRdsParameterGroupsGroupParamDetailOutput

func (GetRdsParameterGroupsGroupParamDetailArgs) ToGetRdsParameterGroupsGroupParamDetailOutputWithContext added in v2.38.0

func (i GetRdsParameterGroupsGroupParamDetailArgs) ToGetRdsParameterGroupsGroupParamDetailOutputWithContext(ctx context.Context) GetRdsParameterGroupsGroupParamDetailOutput

type GetRdsParameterGroupsGroupParamDetailArray added in v2.38.0

type GetRdsParameterGroupsGroupParamDetailArray []GetRdsParameterGroupsGroupParamDetailInput

func (GetRdsParameterGroupsGroupParamDetailArray) ElementType added in v2.38.0

func (GetRdsParameterGroupsGroupParamDetailArray) ToGetRdsParameterGroupsGroupParamDetailArrayOutput added in v2.38.0

func (i GetRdsParameterGroupsGroupParamDetailArray) ToGetRdsParameterGroupsGroupParamDetailArrayOutput() GetRdsParameterGroupsGroupParamDetailArrayOutput

func (GetRdsParameterGroupsGroupParamDetailArray) ToGetRdsParameterGroupsGroupParamDetailArrayOutputWithContext added in v2.38.0

func (i GetRdsParameterGroupsGroupParamDetailArray) ToGetRdsParameterGroupsGroupParamDetailArrayOutputWithContext(ctx context.Context) GetRdsParameterGroupsGroupParamDetailArrayOutput

type GetRdsParameterGroupsGroupParamDetailArrayInput added in v2.38.0

type GetRdsParameterGroupsGroupParamDetailArrayInput interface {
	pulumi.Input

	ToGetRdsParameterGroupsGroupParamDetailArrayOutput() GetRdsParameterGroupsGroupParamDetailArrayOutput
	ToGetRdsParameterGroupsGroupParamDetailArrayOutputWithContext(context.Context) GetRdsParameterGroupsGroupParamDetailArrayOutput
}

GetRdsParameterGroupsGroupParamDetailArrayInput is an input type that accepts GetRdsParameterGroupsGroupParamDetailArray and GetRdsParameterGroupsGroupParamDetailArrayOutput values. You can construct a concrete instance of `GetRdsParameterGroupsGroupParamDetailArrayInput` via:

GetRdsParameterGroupsGroupParamDetailArray{ GetRdsParameterGroupsGroupParamDetailArgs{...} }

type GetRdsParameterGroupsGroupParamDetailArrayOutput added in v2.38.0

type GetRdsParameterGroupsGroupParamDetailArrayOutput struct{ *pulumi.OutputState }

func (GetRdsParameterGroupsGroupParamDetailArrayOutput) ElementType added in v2.38.0

func (GetRdsParameterGroupsGroupParamDetailArrayOutput) Index added in v2.38.0

func (GetRdsParameterGroupsGroupParamDetailArrayOutput) ToGetRdsParameterGroupsGroupParamDetailArrayOutput added in v2.38.0

func (o GetRdsParameterGroupsGroupParamDetailArrayOutput) ToGetRdsParameterGroupsGroupParamDetailArrayOutput() GetRdsParameterGroupsGroupParamDetailArrayOutput

func (GetRdsParameterGroupsGroupParamDetailArrayOutput) ToGetRdsParameterGroupsGroupParamDetailArrayOutputWithContext added in v2.38.0

func (o GetRdsParameterGroupsGroupParamDetailArrayOutput) ToGetRdsParameterGroupsGroupParamDetailArrayOutputWithContext(ctx context.Context) GetRdsParameterGroupsGroupParamDetailArrayOutput

type GetRdsParameterGroupsGroupParamDetailInput added in v2.38.0

type GetRdsParameterGroupsGroupParamDetailInput interface {
	pulumi.Input

	ToGetRdsParameterGroupsGroupParamDetailOutput() GetRdsParameterGroupsGroupParamDetailOutput
	ToGetRdsParameterGroupsGroupParamDetailOutputWithContext(context.Context) GetRdsParameterGroupsGroupParamDetailOutput
}

GetRdsParameterGroupsGroupParamDetailInput is an input type that accepts GetRdsParameterGroupsGroupParamDetailArgs and GetRdsParameterGroupsGroupParamDetailOutput values. You can construct a concrete instance of `GetRdsParameterGroupsGroupParamDetailInput` via:

GetRdsParameterGroupsGroupParamDetailArgs{...}

type GetRdsParameterGroupsGroupParamDetailOutput added in v2.38.0

type GetRdsParameterGroupsGroupParamDetailOutput struct{ *pulumi.OutputState }

func (GetRdsParameterGroupsGroupParamDetailOutput) ElementType added in v2.38.0

func (GetRdsParameterGroupsGroupParamDetailOutput) ParamName added in v2.38.0

func (GetRdsParameterGroupsGroupParamDetailOutput) ParamValue added in v2.38.0

func (GetRdsParameterGroupsGroupParamDetailOutput) ToGetRdsParameterGroupsGroupParamDetailOutput added in v2.38.0

func (o GetRdsParameterGroupsGroupParamDetailOutput) ToGetRdsParameterGroupsGroupParamDetailOutput() GetRdsParameterGroupsGroupParamDetailOutput

func (GetRdsParameterGroupsGroupParamDetailOutput) ToGetRdsParameterGroupsGroupParamDetailOutputWithContext added in v2.38.0

func (o GetRdsParameterGroupsGroupParamDetailOutput) ToGetRdsParameterGroupsGroupParamDetailOutputWithContext(ctx context.Context) GetRdsParameterGroupsGroupParamDetailOutput

type GetRdsParameterGroupsResult added in v2.38.0

type GetRdsParameterGroupsResult struct {
	EnableDetails *bool                        `pulumi:"enableDetails"`
	Groups        []GetRdsParameterGroupsGroup `pulumi:"groups"`
	// The provider-assigned unique ID for this managed resource.
	Id         string   `pulumi:"id"`
	Ids        []string `pulumi:"ids"`
	NameRegex  *string  `pulumi:"nameRegex"`
	Names      []string `pulumi:"names"`
	OutputFile *string  `pulumi:"outputFile"`
}

A collection of values returned by getRdsParameterGroups.

func GetRdsParameterGroups added in v2.38.0

func GetRdsParameterGroups(ctx *pulumi.Context, args *GetRdsParameterGroupsArgs, opts ...pulumi.InvokeOption) (*GetRdsParameterGroupsResult, error)

type GetZonesArgs

type GetZonesArgs struct {
	// Filter the results by a specific instance charge type. Valid values: `PrePaid` and `PostPaid`. Default to `PostPaid`.
	InstanceChargeType *string `pulumi:"instanceChargeType"`
	// Indicate whether the zones can be used in a multi AZ configuration. Default to `false`. Multi AZ is usually used to launch RDS instances.
	Multi      *bool   `pulumi:"multi"`
	OutputFile *string `pulumi:"outputFile"`
}

A collection of arguments for invoking getZones.

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"`
	InstanceChargeType *string  `pulumi:"instanceChargeType"`
	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 RDS that can be accessed by an Alibaba Cloud account within the region configured in the provider.

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

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 Instance

type Instance struct {
	pulumi.CustomResourceState

	// Whether to renewal a DB instance automatically or not. It is valid when instanceChargeType is `PrePaid`. Default to `false`.
	AutoRenew pulumi.BoolPtrOutput `pulumi:"autoRenew"`
	// Auto-renewal period of an instance, in the unit of the month. It is valid when instanceChargeType is `PrePaid`. Valid value:[1~12], Default to 1.
	AutoRenewPeriod pulumi.IntPtrOutput `pulumi:"autoRenewPeriod"`
	// The upgrade method to use. Valid values:
	// - Auto: Instances are automatically upgraded to a higher minor version.
	// - Manual: Instances are forcibly upgraded to a higher minor version when the current version is unpublished.
	AutoUpgradeMinorVersion pulumi.StringOutput `pulumi:"autoUpgradeMinorVersion"`
	// RDS database connection string.
	ConnectionString pulumi.StringOutput `pulumi:"connectionString"`
	// The storage type of the instance. Valid values:
	// - local_ssd: specifies to use local SSDs. This value is recommended.
	// - cloud_ssd: specifies to use standard SSDs.
	// - cloud_essd: specifies to use enhanced SSDs (ESSDs).
	// - cloud_essd2: specifies to use enhanced SSDs (ESSDs).
	// - cloud_essd3: specifies to use enhanced SSDs (ESSDs).
	DbInstanceStorageType pulumi.StringOutput `pulumi:"dbInstanceStorageType"`
	// The key id of the KMS. Used for encrypting a disk if not null. Only for PostgreSQL, MySQL.
	EncryptionKey pulumi.StringPtrOutput `pulumi:"encryptionKey"`
	// Database type. Value options: MySQL, SQLServer, PostgreSQL, and PPAS.
	Engine pulumi.StringOutput `pulumi:"engine"`
	// Database version. Value options can refer to the latest docs [CreateDBInstance](https://www.alibabacloud.com/help/doc-detail/26228.htm) `EngineVersion`.
	EngineVersion pulumi.StringOutput `pulumi:"engineVersion"`
	// Set it to true to make some parameter efficient when modifying them. Default to false.
	ForceRestart pulumi.BoolPtrOutput `pulumi:"forceRestart"`
	// Valid values are `Prepaid`, `Postpaid`, Default to `Postpaid`. Currently, the resource only supports PostPaid to PrePaid.
	InstanceChargeType pulumi.StringPtrOutput `pulumi:"instanceChargeType"`
	// The name of DB instance. It a string of 2 to 256 characters.
	InstanceName pulumi.StringPtrOutput `pulumi:"instanceName"`
	// User-defined DB instance storage space. Value range:
	// - [5, 2000] for MySQL/PostgreSQL/PPAS HA dual node edition;
	// - [20,1000] for MySQL 5.7 basic single node edition;
	// - [10, 2000] for SQL Server 2008R2;
	// - [20,2000] for SQL Server 2012 basic single node edition
	//   Increase progressively at a rate of 5 GB. For details, see [Instance type table](https://www.alibabacloud.com/help/doc-detail/26312.htm).
	//   Note: There is extra 5 GB storage for SQL Server Instance and it is not in specified `instanceStorage`.
	InstanceStorage pulumi.IntOutput `pulumi:"instanceStorage"`
	// DB Instance type. For details, see [Instance type table](https://www.alibabacloud.com/help/doc-detail/26312.htm).
	InstanceType pulumi.StringOutput `pulumi:"instanceType"`
	// Maintainable time period format of the instance: HH:MMZ-HH:MMZ (UTC time)
	MaintainTime pulumi.StringOutput `pulumi:"maintainTime"`
	// The monitoring frequency in seconds. Valid values are 5, 60, 300. Defaults to 300.
	MonitoringPeriod pulumi.IntOutput `pulumi:"monitoringPeriod"`
	// Set of parameters needs to be set after DB instance was launched. Available parameters can refer to the latest docs [View database parameter templates](https://www.alibabacloud.com/help/doc-detail/26284.htm) .
	Parameters InstanceParameterArrayOutput `pulumi:"parameters"`
	// The duration that you will buy DB instance (in month). It is valid when instanceChargeType is `PrePaid`. Valid values: [1~9], 12, 24, 36. Default to 1.
	Period pulumi.IntPtrOutput `pulumi:"period"`
	// RDS database connection port.
	Port pulumi.StringOutput `pulumi:"port"`
	// The ID of resource group which the DB instance belongs.
	ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"`
	// It has been deprecated from 1.69.0 and use `securityGroupIds` instead.
	//
	// Deprecated: Attribute `security_group_id` has been deprecated from 1.69.0 and use `security_group_ids` instead.
	SecurityGroupId pulumi.StringOutput `pulumi:"securityGroupId"`
	// , Available in 1.69.0+) The list IDs to join ECS Security Group. At most supports three security groups.
	SecurityGroupIds pulumi.StringArrayOutput `pulumi:"securityGroupIds"`
	// Valid values are `normal`, `safety`, Default to `normal`. support `safety` switch to high security access mode
	SecurityIpMode pulumi.StringPtrOutput `pulumi:"securityIpMode"`
	// List of IP addresses allowed to access all databases of an instance. 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 sql collector keep time of the instance. Valid values are `30`, `180`, `365`, `1095`, `1825`, Default to `30`.
	SqlCollectorConfigValue pulumi.IntPtrOutput `pulumi:"sqlCollectorConfigValue"`
	// The sql collector status of the instance. Valid values are `Enabled`, `Disabled`, Default to `Disabled`.
	SqlCollectorStatus pulumi.StringOutput `pulumi:"sqlCollectorStatus"`
	// Actions performed on SSL functions, Valid values: `Open`: turn on SSL encryption; `Close`: turn off SSL encryption; `Update`: update SSL certificate. See more [engine and engineVersion limitation](https://www.alibabacloud.com/help/zh/doc-detail/26254.htm).
	SslAction pulumi.StringOutput `pulumi:"sslAction"`
	// Status of the SSL feature. `Yes`: SSL is turned on; `No`: SSL is turned off.
	SslStatus pulumi.StringOutput `pulumi:"sslStatus"`
	// 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"`
	// The TDE(Transparent Data Encryption) status. See more [engine and engineVersion limitation](https://www.alibabacloud.com/help/zh/doc-detail/26256.htm).
	TdeStatus pulumi.StringPtrOutput `pulumi:"tdeStatus"`
	// The virtual switch ID to launch DB instances in one VPC. If there are multiple vswitches, separate them with commas.
	VswitchId pulumi.StringPtrOutput `pulumi:"vswitchId"`
	// The Zone to launch the DB instance. From version 1.8.1, it supports multiple zone.
	// If it is a multi-zone and `vswitchId` is specified, the vswitch must in the one of them.
	// The multiple zone ID can be retrieved by setting `multi` to "true" in the data source `getZones`.
	ZoneId pulumi.StringOutput `pulumi:"zoneId"`
	// The region ID of the secondary instance if you create a secondary instance. If you set this parameter to the same value as the ZoneId parameter, the instance is deployed in a single zone. Otherwise, the instance is deployed in multiple zones.
	ZoneIdSlaveA pulumi.StringPtrOutput `pulumi:"zoneIdSlaveA"`
	// The region ID of the log instance if you create a log instance. If you set this parameter to the same value as the ZoneId parameter, the instance is deployed in a single zone. Otherwise, the instance is deployed in multiple zones.
	ZoneIdSlaveB pulumi.StringPtrOutput `pulumi:"zoneIdSlaveB"`
}

Provides an RDS instance resource. A DB instance is an isolated database environment in the cloud. A DB instance can contain multiple user-created databases.

For information about RDS and how to use it, see [What is ApsaraDB for RDS](https://www.alibabacloud.com/help/en/doc-detail/26092.htm).

## Example Usage ### Create a RDS MySQL instance

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		name := "tf-testaccdbinstance"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		creation := "Rds"
		if param := cfg.Get("creation"); param != "" {
			creation = param
		}
		opt0 := creation
		exampleZones, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: &opt0,
		}, nil)
		if err != nil {
			return err
		}
		exampleNetwork, err := vpc.NewNetwork(ctx, "exampleNetwork", &vpc.NetworkArgs{
			CidrBlock: pulumi.String("172.16.0.0/16"),
		})
		if err != nil {
			return err
		}
		exampleSwitch, err := vpc.NewSwitch(ctx, "exampleSwitch", &vpc.SwitchArgs{
			VpcId:            exampleNetwork.ID(),
			CidrBlock:        pulumi.String("172.16.0.0/24"),
			AvailabilityZone: pulumi.String(exampleZones.Zones[0].Id),
		})
		if err != nil {
			return err
		}
		_, err = rds.NewInstance(ctx, "exampleInstance", &rds.InstanceArgs{
			Engine:             pulumi.String("MySQL"),
			EngineVersion:      pulumi.String("5.6"),
			InstanceType:       pulumi.String("rds.mysql.s2.large"),
			InstanceStorage:    pulumi.Int(30),
			InstanceChargeType: pulumi.String("Postpaid"),
			InstanceName:       pulumi.String(name),
			VswitchId:          exampleSwitch.ID(),
			MonitoringPeriod:   pulumi.Int(60),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

RDS instance can be imported using the id, e.g.

```sh

$ pulumi import alicloud:rds/instance:Instance example rm-abc12345678

```

func GetInstance

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

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

func NewInstance

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

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

func (*Instance) ElementType added in v2.25.1

func (*Instance) ElementType() reflect.Type

func (*Instance) ToInstanceOutput added in v2.25.1

func (i *Instance) ToInstanceOutput() InstanceOutput

func (*Instance) ToInstanceOutputWithContext added in v2.25.1

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

func (*Instance) ToInstancePtrOutput added in v2.35.1

func (i *Instance) ToInstancePtrOutput() InstancePtrOutput

func (*Instance) ToInstancePtrOutputWithContext added in v2.35.1

func (i *Instance) ToInstancePtrOutputWithContext(ctx context.Context) InstancePtrOutput

type InstanceArgs

type InstanceArgs struct {
	// Whether to renewal a DB instance automatically or not. It is valid when instanceChargeType is `PrePaid`. Default to `false`.
	AutoRenew pulumi.BoolPtrInput
	// Auto-renewal period of an instance, in the unit of the month. It is valid when instanceChargeType is `PrePaid`. Valid value:[1~12], Default to 1.
	AutoRenewPeriod pulumi.IntPtrInput
	// The upgrade method to use. Valid values:
	// - Auto: Instances are automatically upgraded to a higher minor version.
	// - Manual: Instances are forcibly upgraded to a higher minor version when the current version is unpublished.
	AutoUpgradeMinorVersion pulumi.StringPtrInput
	// The storage type of the instance. Valid values:
	// - local_ssd: specifies to use local SSDs. This value is recommended.
	// - cloud_ssd: specifies to use standard SSDs.
	// - cloud_essd: specifies to use enhanced SSDs (ESSDs).
	// - cloud_essd2: specifies to use enhanced SSDs (ESSDs).
	// - cloud_essd3: specifies to use enhanced SSDs (ESSDs).
	DbInstanceStorageType pulumi.StringPtrInput
	// The key id of the KMS. Used for encrypting a disk if not null. Only for PostgreSQL, MySQL.
	EncryptionKey pulumi.StringPtrInput
	// Database type. Value options: MySQL, SQLServer, PostgreSQL, and PPAS.
	Engine pulumi.StringInput
	// Database version. Value options can refer to the latest docs [CreateDBInstance](https://www.alibabacloud.com/help/doc-detail/26228.htm) `EngineVersion`.
	EngineVersion pulumi.StringInput
	// Set it to true to make some parameter efficient when modifying them. Default to false.
	ForceRestart pulumi.BoolPtrInput
	// Valid values are `Prepaid`, `Postpaid`, Default to `Postpaid`. Currently, the resource only supports PostPaid to PrePaid.
	InstanceChargeType pulumi.StringPtrInput
	// The name of DB instance. It a string of 2 to 256 characters.
	InstanceName pulumi.StringPtrInput
	// User-defined DB instance storage space. Value range:
	// - [5, 2000] for MySQL/PostgreSQL/PPAS HA dual node edition;
	// - [20,1000] for MySQL 5.7 basic single node edition;
	// - [10, 2000] for SQL Server 2008R2;
	// - [20,2000] for SQL Server 2012 basic single node edition
	//   Increase progressively at a rate of 5 GB. For details, see [Instance type table](https://www.alibabacloud.com/help/doc-detail/26312.htm).
	//   Note: There is extra 5 GB storage for SQL Server Instance and it is not in specified `instanceStorage`.
	InstanceStorage pulumi.IntInput
	// DB Instance type. For details, see [Instance type table](https://www.alibabacloud.com/help/doc-detail/26312.htm).
	InstanceType pulumi.StringInput
	// Maintainable time period format of the instance: HH:MMZ-HH:MMZ (UTC time)
	MaintainTime pulumi.StringPtrInput
	// The monitoring frequency in seconds. Valid values are 5, 60, 300. Defaults to 300.
	MonitoringPeriod pulumi.IntPtrInput
	// Set of parameters needs to be set after DB instance was launched. Available parameters can refer to the latest docs [View database parameter templates](https://www.alibabacloud.com/help/doc-detail/26284.htm) .
	Parameters InstanceParameterArrayInput
	// The duration that you will buy DB instance (in month). It is valid when instanceChargeType is `PrePaid`. Valid values: [1~9], 12, 24, 36. Default to 1.
	Period pulumi.IntPtrInput
	// The ID of resource group which the DB instance belongs.
	ResourceGroupId pulumi.StringPtrInput
	// It has been deprecated from 1.69.0 and use `securityGroupIds` instead.
	//
	// Deprecated: Attribute `security_group_id` has been deprecated from 1.69.0 and use `security_group_ids` instead.
	SecurityGroupId pulumi.StringPtrInput
	// , Available in 1.69.0+) The list IDs to join ECS Security Group. At most supports three security groups.
	SecurityGroupIds pulumi.StringArrayInput
	// Valid values are `normal`, `safety`, Default to `normal`. support `safety` switch to high security access mode
	SecurityIpMode pulumi.StringPtrInput
	// List of IP addresses allowed to access all databases of an instance. 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 sql collector keep time of the instance. Valid values are `30`, `180`, `365`, `1095`, `1825`, Default to `30`.
	SqlCollectorConfigValue pulumi.IntPtrInput
	// The sql collector status of the instance. Valid values are `Enabled`, `Disabled`, Default to `Disabled`.
	SqlCollectorStatus pulumi.StringPtrInput
	// Actions performed on SSL functions, Valid values: `Open`: turn on SSL encryption; `Close`: turn off SSL encryption; `Update`: update SSL certificate. See more [engine and engineVersion limitation](https://www.alibabacloud.com/help/zh/doc-detail/26254.htm).
	SslAction pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	// - Key: It can be up to 64 characters in length. It cannot begin with "aliyun", "acs:", "http://", or "https://". It cannot be a null string.
	// - Value: It can be up to 128 characters in length. It cannot begin with "aliyun", "acs:", "http://", or "https://". It can be a null string.
	Tags pulumi.MapInput
	// The TDE(Transparent Data Encryption) status. See more [engine and engineVersion limitation](https://www.alibabacloud.com/help/zh/doc-detail/26256.htm).
	TdeStatus pulumi.StringPtrInput
	// The virtual switch ID to launch DB instances in one VPC. If there are multiple vswitches, separate them with commas.
	VswitchId pulumi.StringPtrInput
	// The Zone to launch the DB instance. From version 1.8.1, it supports multiple zone.
	// If it is a multi-zone and `vswitchId` is specified, the vswitch must in the one of them.
	// The multiple zone ID can be retrieved by setting `multi` to "true" in the data source `getZones`.
	ZoneId pulumi.StringPtrInput
	// The region ID of the secondary instance if you create a secondary instance. If you set this parameter to the same value as the ZoneId parameter, the instance is deployed in a single zone. Otherwise, the instance is deployed in multiple zones.
	ZoneIdSlaveA pulumi.StringPtrInput
	// The region ID of the log instance if you create a log instance. If you set this parameter to the same value as the ZoneId parameter, the instance is deployed in a single zone. Otherwise, the instance is deployed in multiple zones.
	ZoneIdSlaveB pulumi.StringPtrInput
}

The set of arguments for constructing a Instance resource.

func (InstanceArgs) ElementType

func (InstanceArgs) ElementType() reflect.Type

type InstanceArray added in v2.35.1

type InstanceArray []InstanceInput

func (InstanceArray) ElementType added in v2.35.1

func (InstanceArray) ElementType() reflect.Type

func (InstanceArray) ToInstanceArrayOutput added in v2.35.1

func (i InstanceArray) ToInstanceArrayOutput() InstanceArrayOutput

func (InstanceArray) ToInstanceArrayOutputWithContext added in v2.35.1

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

type InstanceArrayInput added in v2.35.1

type InstanceArrayInput interface {
	pulumi.Input

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

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

InstanceArray{ InstanceArgs{...} }

type InstanceArrayOutput added in v2.35.1

type InstanceArrayOutput struct{ *pulumi.OutputState }

func (InstanceArrayOutput) ElementType added in v2.35.1

func (InstanceArrayOutput) ElementType() reflect.Type

func (InstanceArrayOutput) Index added in v2.35.1

func (InstanceArrayOutput) ToInstanceArrayOutput added in v2.35.1

func (o InstanceArrayOutput) ToInstanceArrayOutput() InstanceArrayOutput

func (InstanceArrayOutput) ToInstanceArrayOutputWithContext added in v2.35.1

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

type InstanceInput added in v2.25.1

type InstanceInput interface {
	pulumi.Input

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

type InstanceMap added in v2.35.1

type InstanceMap map[string]InstanceInput

func (InstanceMap) ElementType added in v2.35.1

func (InstanceMap) ElementType() reflect.Type

func (InstanceMap) ToInstanceMapOutput added in v2.35.1

func (i InstanceMap) ToInstanceMapOutput() InstanceMapOutput

func (InstanceMap) ToInstanceMapOutputWithContext added in v2.35.1

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

type InstanceMapInput added in v2.35.1

type InstanceMapInput interface {
	pulumi.Input

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

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

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

type InstanceMapOutput added in v2.35.1

type InstanceMapOutput struct{ *pulumi.OutputState }

func (InstanceMapOutput) ElementType added in v2.35.1

func (InstanceMapOutput) ElementType() reflect.Type

func (InstanceMapOutput) MapIndex added in v2.35.1

func (InstanceMapOutput) ToInstanceMapOutput added in v2.35.1

func (o InstanceMapOutput) ToInstanceMapOutput() InstanceMapOutput

func (InstanceMapOutput) ToInstanceMapOutputWithContext added in v2.35.1

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

type InstanceOutput added in v2.25.1

type InstanceOutput struct {
	*pulumi.OutputState
}

func (InstanceOutput) ElementType added in v2.25.1

func (InstanceOutput) ElementType() reflect.Type

func (InstanceOutput) ToInstanceOutput added in v2.25.1

func (o InstanceOutput) ToInstanceOutput() InstanceOutput

func (InstanceOutput) ToInstanceOutputWithContext added in v2.25.1

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

func (InstanceOutput) ToInstancePtrOutput added in v2.35.1

func (o InstanceOutput) ToInstancePtrOutput() InstancePtrOutput

func (InstanceOutput) ToInstancePtrOutputWithContext added in v2.35.1

func (o InstanceOutput) ToInstancePtrOutputWithContext(ctx context.Context) InstancePtrOutput

type InstanceParameter

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

type InstanceParameterArgs

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

func (InstanceParameterArgs) ElementType

func (InstanceParameterArgs) ElementType() reflect.Type

func (InstanceParameterArgs) ToInstanceParameterOutput

func (i InstanceParameterArgs) ToInstanceParameterOutput() InstanceParameterOutput

func (InstanceParameterArgs) ToInstanceParameterOutputWithContext

func (i InstanceParameterArgs) ToInstanceParameterOutputWithContext(ctx context.Context) InstanceParameterOutput

type InstanceParameterArray

type InstanceParameterArray []InstanceParameterInput

func (InstanceParameterArray) ElementType

func (InstanceParameterArray) ElementType() reflect.Type

func (InstanceParameterArray) ToInstanceParameterArrayOutput

func (i InstanceParameterArray) ToInstanceParameterArrayOutput() InstanceParameterArrayOutput

func (InstanceParameterArray) ToInstanceParameterArrayOutputWithContext

func (i InstanceParameterArray) ToInstanceParameterArrayOutputWithContext(ctx context.Context) InstanceParameterArrayOutput

type InstanceParameterArrayInput

type InstanceParameterArrayInput interface {
	pulumi.Input

	ToInstanceParameterArrayOutput() InstanceParameterArrayOutput
	ToInstanceParameterArrayOutputWithContext(context.Context) InstanceParameterArrayOutput
}

InstanceParameterArrayInput is an input type that accepts InstanceParameterArray and InstanceParameterArrayOutput values. You can construct a concrete instance of `InstanceParameterArrayInput` via:

InstanceParameterArray{ InstanceParameterArgs{...} }

type InstanceParameterArrayOutput

type InstanceParameterArrayOutput struct{ *pulumi.OutputState }

func (InstanceParameterArrayOutput) ElementType

func (InstanceParameterArrayOutput) Index

func (InstanceParameterArrayOutput) ToInstanceParameterArrayOutput

func (o InstanceParameterArrayOutput) ToInstanceParameterArrayOutput() InstanceParameterArrayOutput

func (InstanceParameterArrayOutput) ToInstanceParameterArrayOutputWithContext

func (o InstanceParameterArrayOutput) ToInstanceParameterArrayOutputWithContext(ctx context.Context) InstanceParameterArrayOutput

type InstanceParameterInput

type InstanceParameterInput interface {
	pulumi.Input

	ToInstanceParameterOutput() InstanceParameterOutput
	ToInstanceParameterOutputWithContext(context.Context) InstanceParameterOutput
}

InstanceParameterInput is an input type that accepts InstanceParameterArgs and InstanceParameterOutput values. You can construct a concrete instance of `InstanceParameterInput` via:

InstanceParameterArgs{...}

type InstanceParameterOutput

type InstanceParameterOutput struct{ *pulumi.OutputState }

func (InstanceParameterOutput) ElementType

func (InstanceParameterOutput) ElementType() reflect.Type

func (InstanceParameterOutput) Name

func (InstanceParameterOutput) ToInstanceParameterOutput

func (o InstanceParameterOutput) ToInstanceParameterOutput() InstanceParameterOutput

func (InstanceParameterOutput) ToInstanceParameterOutputWithContext

func (o InstanceParameterOutput) ToInstanceParameterOutputWithContext(ctx context.Context) InstanceParameterOutput

func (InstanceParameterOutput) Value

type InstancePtrInput added in v2.35.1

type InstancePtrInput interface {
	pulumi.Input

	ToInstancePtrOutput() InstancePtrOutput
	ToInstancePtrOutputWithContext(ctx context.Context) InstancePtrOutput
}

type InstancePtrOutput added in v2.35.1

type InstancePtrOutput struct {
	*pulumi.OutputState
}

func (InstancePtrOutput) ElementType added in v2.35.1

func (InstancePtrOutput) ElementType() reflect.Type

func (InstancePtrOutput) ToInstancePtrOutput added in v2.35.1

func (o InstancePtrOutput) ToInstancePtrOutput() InstancePtrOutput

func (InstancePtrOutput) ToInstancePtrOutputWithContext added in v2.35.1

func (o InstancePtrOutput) ToInstancePtrOutputWithContext(ctx context.Context) InstancePtrOutput

type InstanceState

type InstanceState struct {
	// Whether to renewal a DB instance automatically or not. It is valid when instanceChargeType is `PrePaid`. Default to `false`.
	AutoRenew pulumi.BoolPtrInput
	// Auto-renewal period of an instance, in the unit of the month. It is valid when instanceChargeType is `PrePaid`. Valid value:[1~12], Default to 1.
	AutoRenewPeriod pulumi.IntPtrInput
	// The upgrade method to use. Valid values:
	// - Auto: Instances are automatically upgraded to a higher minor version.
	// - Manual: Instances are forcibly upgraded to a higher minor version when the current version is unpublished.
	AutoUpgradeMinorVersion pulumi.StringPtrInput
	// RDS database connection string.
	ConnectionString pulumi.StringPtrInput
	// The storage type of the instance. Valid values:
	// - local_ssd: specifies to use local SSDs. This value is recommended.
	// - cloud_ssd: specifies to use standard SSDs.
	// - cloud_essd: specifies to use enhanced SSDs (ESSDs).
	// - cloud_essd2: specifies to use enhanced SSDs (ESSDs).
	// - cloud_essd3: specifies to use enhanced SSDs (ESSDs).
	DbInstanceStorageType pulumi.StringPtrInput
	// The key id of the KMS. Used for encrypting a disk if not null. Only for PostgreSQL, MySQL.
	EncryptionKey pulumi.StringPtrInput
	// Database type. Value options: MySQL, SQLServer, PostgreSQL, and PPAS.
	Engine pulumi.StringPtrInput
	// Database version. Value options can refer to the latest docs [CreateDBInstance](https://www.alibabacloud.com/help/doc-detail/26228.htm) `EngineVersion`.
	EngineVersion pulumi.StringPtrInput
	// Set it to true to make some parameter efficient when modifying them. Default to false.
	ForceRestart pulumi.BoolPtrInput
	// Valid values are `Prepaid`, `Postpaid`, Default to `Postpaid`. Currently, the resource only supports PostPaid to PrePaid.
	InstanceChargeType pulumi.StringPtrInput
	// The name of DB instance. It a string of 2 to 256 characters.
	InstanceName pulumi.StringPtrInput
	// User-defined DB instance storage space. Value range:
	// - [5, 2000] for MySQL/PostgreSQL/PPAS HA dual node edition;
	// - [20,1000] for MySQL 5.7 basic single node edition;
	// - [10, 2000] for SQL Server 2008R2;
	// - [20,2000] for SQL Server 2012 basic single node edition
	//   Increase progressively at a rate of 5 GB. For details, see [Instance type table](https://www.alibabacloud.com/help/doc-detail/26312.htm).
	//   Note: There is extra 5 GB storage for SQL Server Instance and it is not in specified `instanceStorage`.
	InstanceStorage pulumi.IntPtrInput
	// DB Instance type. For details, see [Instance type table](https://www.alibabacloud.com/help/doc-detail/26312.htm).
	InstanceType pulumi.StringPtrInput
	// Maintainable time period format of the instance: HH:MMZ-HH:MMZ (UTC time)
	MaintainTime pulumi.StringPtrInput
	// The monitoring frequency in seconds. Valid values are 5, 60, 300. Defaults to 300.
	MonitoringPeriod pulumi.IntPtrInput
	// Set of parameters needs to be set after DB instance was launched. Available parameters can refer to the latest docs [View database parameter templates](https://www.alibabacloud.com/help/doc-detail/26284.htm) .
	Parameters InstanceParameterArrayInput
	// The duration that you will buy DB instance (in month). It is valid when instanceChargeType is `PrePaid`. Valid values: [1~9], 12, 24, 36. Default to 1.
	Period pulumi.IntPtrInput
	// RDS database connection port.
	Port pulumi.StringPtrInput
	// The ID of resource group which the DB instance belongs.
	ResourceGroupId pulumi.StringPtrInput
	// It has been deprecated from 1.69.0 and use `securityGroupIds` instead.
	//
	// Deprecated: Attribute `security_group_id` has been deprecated from 1.69.0 and use `security_group_ids` instead.
	SecurityGroupId pulumi.StringPtrInput
	// , Available in 1.69.0+) The list IDs to join ECS Security Group. At most supports three security groups.
	SecurityGroupIds pulumi.StringArrayInput
	// Valid values are `normal`, `safety`, Default to `normal`. support `safety` switch to high security access mode
	SecurityIpMode pulumi.StringPtrInput
	// List of IP addresses allowed to access all databases of an instance. 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 sql collector keep time of the instance. Valid values are `30`, `180`, `365`, `1095`, `1825`, Default to `30`.
	SqlCollectorConfigValue pulumi.IntPtrInput
	// The sql collector status of the instance. Valid values are `Enabled`, `Disabled`, Default to `Disabled`.
	SqlCollectorStatus pulumi.StringPtrInput
	// Actions performed on SSL functions, Valid values: `Open`: turn on SSL encryption; `Close`: turn off SSL encryption; `Update`: update SSL certificate. See more [engine and engineVersion limitation](https://www.alibabacloud.com/help/zh/doc-detail/26254.htm).
	SslAction pulumi.StringPtrInput
	// Status of the SSL feature. `Yes`: SSL is turned on; `No`: SSL is turned off.
	SslStatus pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	// - Key: It can be up to 64 characters in length. It cannot begin with "aliyun", "acs:", "http://", or "https://". It cannot be a null string.
	// - Value: It can be up to 128 characters in length. It cannot begin with "aliyun", "acs:", "http://", or "https://". It can be a null string.
	Tags pulumi.MapInput
	// The TDE(Transparent Data Encryption) status. See more [engine and engineVersion limitation](https://www.alibabacloud.com/help/zh/doc-detail/26256.htm).
	TdeStatus pulumi.StringPtrInput
	// The virtual switch ID to launch DB instances in one VPC. If there are multiple vswitches, separate them with commas.
	VswitchId pulumi.StringPtrInput
	// The Zone to launch the DB instance. From version 1.8.1, it supports multiple zone.
	// If it is a multi-zone and `vswitchId` is specified, the vswitch must in the one of them.
	// The multiple zone ID can be retrieved by setting `multi` to "true" in the data source `getZones`.
	ZoneId pulumi.StringPtrInput
	// The region ID of the secondary instance if you create a secondary instance. If you set this parameter to the same value as the ZoneId parameter, the instance is deployed in a single zone. Otherwise, the instance is deployed in multiple zones.
	ZoneIdSlaveA pulumi.StringPtrInput
	// The region ID of the log instance if you create a log instance. If you set this parameter to the same value as the ZoneId parameter, the instance is deployed in a single zone. Otherwise, the instance is deployed in multiple zones.
	ZoneIdSlaveB pulumi.StringPtrInput
}

func (InstanceState) ElementType

func (InstanceState) ElementType() reflect.Type

type RdsAccount added in v2.39.0

type RdsAccount struct {
	pulumi.CustomResourceState

	// Database 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.StringOutput `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. You have to specify one of `password` and `kmsEncryptedPassword` fields.
	AccountPassword pulumi.StringOutput `pulumi:"accountPassword"`
	// Privilege type of account. Default to `Normal`.
	// `Normal`: Common privilege.
	// `Super`: High privilege.
	AccountType pulumi.StringOutput `pulumi:"accountType"`
	// The Id of instance in which account belongs.
	DbInstanceId pulumi.StringOutput `pulumi:"dbInstanceId"`
	// Deprecated: Field 'description' has been deprecated from provider version 1.120.0. New field 'account_description' instead.
	Description pulumi.StringOutput `pulumi:"description"`
	// Deprecated: Field 'instance_id' has been deprecated from provider version 1.120.0. New field 'db_instance_id' instead.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	// 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"`
	// Deprecated: Field 'name' has been deprecated from provider version 1.120.0. New field 'account_name' instead.
	Name pulumi.StringOutput `pulumi:"name"`
	// Deprecated: Field 'password' has been deprecated from provider version 1.120.0. New field 'account_password' instead.
	Password pulumi.StringOutput `pulumi:"password"`
	// The status of the resource. Valid values: `Available`, `Unavailable`.
	Status pulumi.StringOutput `pulumi:"status"`
	// Deprecated: Field 'type' has been deprecated from provider version 1.120.0. New field 'account_type' instead.
	Type pulumi.StringOutput `pulumi:"type"`
}

Provides a RDS Account resource.

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

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		creation := "Rds"
		if param := cfg.Get("creation"); param != "" {
			creation = param
		}
		name := "dbaccountmysql"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		opt0 := creation
		defaultZones, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: &opt0,
		}, 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"),
			AvailabilityZone: pulumi.String(defaultZones.Zones[0].Id),
			VswitchName:      pulumi.String(name),
		})
		if err != nil {
			return err
		}
		instance, err := rds.NewInstance(ctx, "instance", &rds.InstanceArgs{
			Engine:          pulumi.String("MySQL"),
			EngineVersion:   pulumi.String("5.6"),
			InstanceType:    pulumi.String("rds.mysql.s1.small"),
			InstanceStorage: pulumi.Int(10),
			VswitchId:       defaultSwitch.ID(),
			InstanceName:    pulumi.String(name),
		})
		if err != nil {
			return err
		}
		_, err = rds.NewRdsAccount(ctx, "account", &rds.RdsAccountArgs{
			InstanceId:      instance.ID(),
			AccountPassword: pulumi.String("Test12345"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

RDS Account can be imported using the id, e.g.

```sh

$ pulumi import alicloud:rds/rdsAccount:RdsAccount example <db_instance_id>:<account_name>

```

func GetRdsAccount added in v2.39.0

func GetRdsAccount(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RdsAccountState, opts ...pulumi.ResourceOption) (*RdsAccount, error)

GetRdsAccount gets an existing RdsAccount 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 NewRdsAccount added in v2.39.0

func NewRdsAccount(ctx *pulumi.Context,
	name string, args *RdsAccountArgs, opts ...pulumi.ResourceOption) (*RdsAccount, error)

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

func (*RdsAccount) ElementType added in v2.39.0

func (*RdsAccount) ElementType() reflect.Type

func (*RdsAccount) ToRdsAccountOutput added in v2.39.0

func (i *RdsAccount) ToRdsAccountOutput() RdsAccountOutput

func (*RdsAccount) ToRdsAccountOutputWithContext added in v2.39.0

func (i *RdsAccount) ToRdsAccountOutputWithContext(ctx context.Context) RdsAccountOutput

func (*RdsAccount) ToRdsAccountPtrOutput added in v2.39.0

func (i *RdsAccount) ToRdsAccountPtrOutput() RdsAccountPtrOutput

func (*RdsAccount) ToRdsAccountPtrOutputWithContext added in v2.39.0

func (i *RdsAccount) ToRdsAccountPtrOutputWithContext(ctx context.Context) RdsAccountPtrOutput

type RdsAccountArgs added in v2.39.0

type RdsAccountArgs struct {
	// Database 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. You have to specify one of `password` and `kmsEncryptedPassword` fields.
	AccountPassword pulumi.StringPtrInput
	// Privilege type of account. Default to `Normal`.
	// `Normal`: Common privilege.
	// `Super`: High privilege.
	AccountType pulumi.StringPtrInput
	// The Id of instance in which account belongs.
	DbInstanceId pulumi.StringPtrInput
	// Deprecated: Field 'description' has been deprecated from provider version 1.120.0. New field 'account_description' instead.
	Description pulumi.StringPtrInput
	// Deprecated: Field 'instance_id' has been deprecated from provider version 1.120.0. New field 'db_instance_id' instead.
	InstanceId 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
	// Deprecated: Field 'name' has been deprecated from provider version 1.120.0. New field 'account_name' instead.
	Name pulumi.StringPtrInput
	// Deprecated: Field 'password' has been deprecated from provider version 1.120.0. New field 'account_password' instead.
	Password pulumi.StringPtrInput
	// Deprecated: Field 'type' has been deprecated from provider version 1.120.0. New field 'account_type' instead.
	Type pulumi.StringPtrInput
}

The set of arguments for constructing a RdsAccount resource.

func (RdsAccountArgs) ElementType added in v2.39.0

func (RdsAccountArgs) ElementType() reflect.Type

type RdsAccountArray added in v2.39.0

type RdsAccountArray []RdsAccountInput

func (RdsAccountArray) ElementType added in v2.39.0

func (RdsAccountArray) ElementType() reflect.Type

func (RdsAccountArray) ToRdsAccountArrayOutput added in v2.39.0

func (i RdsAccountArray) ToRdsAccountArrayOutput() RdsAccountArrayOutput

func (RdsAccountArray) ToRdsAccountArrayOutputWithContext added in v2.39.0

func (i RdsAccountArray) ToRdsAccountArrayOutputWithContext(ctx context.Context) RdsAccountArrayOutput

type RdsAccountArrayInput added in v2.39.0

type RdsAccountArrayInput interface {
	pulumi.Input

	ToRdsAccountArrayOutput() RdsAccountArrayOutput
	ToRdsAccountArrayOutputWithContext(context.Context) RdsAccountArrayOutput
}

RdsAccountArrayInput is an input type that accepts RdsAccountArray and RdsAccountArrayOutput values. You can construct a concrete instance of `RdsAccountArrayInput` via:

RdsAccountArray{ RdsAccountArgs{...} }

type RdsAccountArrayOutput added in v2.39.0

type RdsAccountArrayOutput struct{ *pulumi.OutputState }

func (RdsAccountArrayOutput) ElementType added in v2.39.0

func (RdsAccountArrayOutput) ElementType() reflect.Type

func (RdsAccountArrayOutput) Index added in v2.39.0

func (RdsAccountArrayOutput) ToRdsAccountArrayOutput added in v2.39.0

func (o RdsAccountArrayOutput) ToRdsAccountArrayOutput() RdsAccountArrayOutput

func (RdsAccountArrayOutput) ToRdsAccountArrayOutputWithContext added in v2.39.0

func (o RdsAccountArrayOutput) ToRdsAccountArrayOutputWithContext(ctx context.Context) RdsAccountArrayOutput

type RdsAccountInput added in v2.39.0

type RdsAccountInput interface {
	pulumi.Input

	ToRdsAccountOutput() RdsAccountOutput
	ToRdsAccountOutputWithContext(ctx context.Context) RdsAccountOutput
}

type RdsAccountMap added in v2.39.0

type RdsAccountMap map[string]RdsAccountInput

func (RdsAccountMap) ElementType added in v2.39.0

func (RdsAccountMap) ElementType() reflect.Type

func (RdsAccountMap) ToRdsAccountMapOutput added in v2.39.0

func (i RdsAccountMap) ToRdsAccountMapOutput() RdsAccountMapOutput

func (RdsAccountMap) ToRdsAccountMapOutputWithContext added in v2.39.0

func (i RdsAccountMap) ToRdsAccountMapOutputWithContext(ctx context.Context) RdsAccountMapOutput

type RdsAccountMapInput added in v2.39.0

type RdsAccountMapInput interface {
	pulumi.Input

	ToRdsAccountMapOutput() RdsAccountMapOutput
	ToRdsAccountMapOutputWithContext(context.Context) RdsAccountMapOutput
}

RdsAccountMapInput is an input type that accepts RdsAccountMap and RdsAccountMapOutput values. You can construct a concrete instance of `RdsAccountMapInput` via:

RdsAccountMap{ "key": RdsAccountArgs{...} }

type RdsAccountMapOutput added in v2.39.0

type RdsAccountMapOutput struct{ *pulumi.OutputState }

func (RdsAccountMapOutput) ElementType added in v2.39.0

func (RdsAccountMapOutput) ElementType() reflect.Type

func (RdsAccountMapOutput) MapIndex added in v2.39.0

func (RdsAccountMapOutput) ToRdsAccountMapOutput added in v2.39.0

func (o RdsAccountMapOutput) ToRdsAccountMapOutput() RdsAccountMapOutput

func (RdsAccountMapOutput) ToRdsAccountMapOutputWithContext added in v2.39.0

func (o RdsAccountMapOutput) ToRdsAccountMapOutputWithContext(ctx context.Context) RdsAccountMapOutput

type RdsAccountOutput added in v2.39.0

type RdsAccountOutput struct {
	*pulumi.OutputState
}

func (RdsAccountOutput) ElementType added in v2.39.0

func (RdsAccountOutput) ElementType() reflect.Type

func (RdsAccountOutput) ToRdsAccountOutput added in v2.39.0

func (o RdsAccountOutput) ToRdsAccountOutput() RdsAccountOutput

func (RdsAccountOutput) ToRdsAccountOutputWithContext added in v2.39.0

func (o RdsAccountOutput) ToRdsAccountOutputWithContext(ctx context.Context) RdsAccountOutput

func (RdsAccountOutput) ToRdsAccountPtrOutput added in v2.39.0

func (o RdsAccountOutput) ToRdsAccountPtrOutput() RdsAccountPtrOutput

func (RdsAccountOutput) ToRdsAccountPtrOutputWithContext added in v2.39.0

func (o RdsAccountOutput) ToRdsAccountPtrOutputWithContext(ctx context.Context) RdsAccountPtrOutput

type RdsAccountPtrInput added in v2.39.0

type RdsAccountPtrInput interface {
	pulumi.Input

	ToRdsAccountPtrOutput() RdsAccountPtrOutput
	ToRdsAccountPtrOutputWithContext(ctx context.Context) RdsAccountPtrOutput
}

type RdsAccountPtrOutput added in v2.39.0

type RdsAccountPtrOutput struct {
	*pulumi.OutputState
}

func (RdsAccountPtrOutput) ElementType added in v2.39.0

func (RdsAccountPtrOutput) ElementType() reflect.Type

func (RdsAccountPtrOutput) ToRdsAccountPtrOutput added in v2.39.0

func (o RdsAccountPtrOutput) ToRdsAccountPtrOutput() RdsAccountPtrOutput

func (RdsAccountPtrOutput) ToRdsAccountPtrOutputWithContext added in v2.39.0

func (o RdsAccountPtrOutput) ToRdsAccountPtrOutputWithContext(ctx context.Context) RdsAccountPtrOutput

type RdsAccountState added in v2.39.0

type RdsAccountState struct {
	// Database 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. You have to specify one of `password` and `kmsEncryptedPassword` fields.
	AccountPassword pulumi.StringPtrInput
	// Privilege type of account. Default to `Normal`.
	// `Normal`: Common privilege.
	// `Super`: High privilege.
	AccountType pulumi.StringPtrInput
	// The Id of instance in which account belongs.
	DbInstanceId pulumi.StringPtrInput
	// Deprecated: Field 'description' has been deprecated from provider version 1.120.0. New field 'account_description' instead.
	Description pulumi.StringPtrInput
	// Deprecated: Field 'instance_id' has been deprecated from provider version 1.120.0. New field 'db_instance_id' instead.
	InstanceId 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
	// Deprecated: Field 'name' has been deprecated from provider version 1.120.0. New field 'account_name' instead.
	Name pulumi.StringPtrInput
	// Deprecated: Field 'password' has been deprecated from provider version 1.120.0. New field 'account_password' instead.
	Password pulumi.StringPtrInput
	// The status of the resource. Valid values: `Available`, `Unavailable`.
	Status pulumi.StringPtrInput
	// Deprecated: Field 'type' has been deprecated from provider version 1.120.0. New field 'account_type' instead.
	Type pulumi.StringPtrInput
}

func (RdsAccountState) ElementType added in v2.39.0

func (RdsAccountState) ElementType() reflect.Type

type RdsParameterGroup added in v2.38.0

type RdsParameterGroup struct {
	pulumi.CustomResourceState

	// The database engine. Valid values: `mysql`, `mariadb`.
	Engine pulumi.StringOutput `pulumi:"engine"`
	// The version of the database engine. Valid values: mysql: `5.1`, `5.5`, `5.6`, `5.7`, `8.0`; mariadb: `10.3`.
	EngineVersion pulumi.StringOutput `pulumi:"engineVersion"`
	// Parameter list.
	ParamDetails RdsParameterGroupParamDetailArrayOutput `pulumi:"paramDetails"`
	// The description of the parameter template.
	ParameterGroupDesc pulumi.StringPtrOutput `pulumi:"parameterGroupDesc"`
	// The name of the parameter template.
	ParameterGroupName pulumi.StringOutput `pulumi:"parameterGroupName"`
}

Provides a RDS Parameter Group resource.

For information about RDS Parameter Group and how to use it, see [What is Parameter Group](https://www.alibabacloud.com/help/en/doc-detail/144839.htm).

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

## Example Usage

Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := rds.NewRdsParameterGroup(ctx, "_default", &rds.RdsParameterGroupArgs{
			Engine:        pulumi.String("mysql"),
			EngineVersion: pulumi.String("5.7"),
			ParamDetails: rds.RdsParameterGroupParamDetailArray{
				&rds.RdsParameterGroupParamDetailArgs{
					ParamName:  pulumi.String("back_log"),
					ParamValue: pulumi.String("4000"),
				},
				&rds.RdsParameterGroupParamDetailArgs{
					ParamName:  pulumi.String("wait_timeout"),
					ParamValue: pulumi.String("86460"),
				},
			},
			ParameterGroupDesc: pulumi.String("test"),
			ParameterGroupName: pulumi.String("test1234"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

RDS Parameter Group can be imported using the id, e.g.

```sh

$ pulumi import alicloud:rds/rdsParameterGroup:RdsParameterGroup example <id>

```

func GetRdsParameterGroup added in v2.38.0

func GetRdsParameterGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RdsParameterGroupState, opts ...pulumi.ResourceOption) (*RdsParameterGroup, error)

GetRdsParameterGroup gets an existing RdsParameterGroup 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 NewRdsParameterGroup added in v2.38.0

func NewRdsParameterGroup(ctx *pulumi.Context,
	name string, args *RdsParameterGroupArgs, opts ...pulumi.ResourceOption) (*RdsParameterGroup, error)

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

func (*RdsParameterGroup) ElementType added in v2.38.0

func (*RdsParameterGroup) ElementType() reflect.Type

func (*RdsParameterGroup) ToRdsParameterGroupOutput added in v2.38.0

func (i *RdsParameterGroup) ToRdsParameterGroupOutput() RdsParameterGroupOutput

func (*RdsParameterGroup) ToRdsParameterGroupOutputWithContext added in v2.38.0

func (i *RdsParameterGroup) ToRdsParameterGroupOutputWithContext(ctx context.Context) RdsParameterGroupOutput

func (*RdsParameterGroup) ToRdsParameterGroupPtrOutput added in v2.38.0

func (i *RdsParameterGroup) ToRdsParameterGroupPtrOutput() RdsParameterGroupPtrOutput

func (*RdsParameterGroup) ToRdsParameterGroupPtrOutputWithContext added in v2.38.0

func (i *RdsParameterGroup) ToRdsParameterGroupPtrOutputWithContext(ctx context.Context) RdsParameterGroupPtrOutput

type RdsParameterGroupArgs added in v2.38.0

type RdsParameterGroupArgs struct {
	// The database engine. Valid values: `mysql`, `mariadb`.
	Engine pulumi.StringInput
	// The version of the database engine. Valid values: mysql: `5.1`, `5.5`, `5.6`, `5.7`, `8.0`; mariadb: `10.3`.
	EngineVersion pulumi.StringInput
	// Parameter list.
	ParamDetails RdsParameterGroupParamDetailArrayInput
	// The description of the parameter template.
	ParameterGroupDesc pulumi.StringPtrInput
	// The name of the parameter template.
	ParameterGroupName pulumi.StringInput
}

The set of arguments for constructing a RdsParameterGroup resource.

func (RdsParameterGroupArgs) ElementType added in v2.38.0

func (RdsParameterGroupArgs) ElementType() reflect.Type

type RdsParameterGroupArray added in v2.38.0

type RdsParameterGroupArray []RdsParameterGroupInput

func (RdsParameterGroupArray) ElementType added in v2.38.0

func (RdsParameterGroupArray) ElementType() reflect.Type

func (RdsParameterGroupArray) ToRdsParameterGroupArrayOutput added in v2.38.0

func (i RdsParameterGroupArray) ToRdsParameterGroupArrayOutput() RdsParameterGroupArrayOutput

func (RdsParameterGroupArray) ToRdsParameterGroupArrayOutputWithContext added in v2.38.0

func (i RdsParameterGroupArray) ToRdsParameterGroupArrayOutputWithContext(ctx context.Context) RdsParameterGroupArrayOutput

type RdsParameterGroupArrayInput added in v2.38.0

type RdsParameterGroupArrayInput interface {
	pulumi.Input

	ToRdsParameterGroupArrayOutput() RdsParameterGroupArrayOutput
	ToRdsParameterGroupArrayOutputWithContext(context.Context) RdsParameterGroupArrayOutput
}

RdsParameterGroupArrayInput is an input type that accepts RdsParameterGroupArray and RdsParameterGroupArrayOutput values. You can construct a concrete instance of `RdsParameterGroupArrayInput` via:

RdsParameterGroupArray{ RdsParameterGroupArgs{...} }

type RdsParameterGroupArrayOutput added in v2.38.0

type RdsParameterGroupArrayOutput struct{ *pulumi.OutputState }

func (RdsParameterGroupArrayOutput) ElementType added in v2.38.0

func (RdsParameterGroupArrayOutput) Index added in v2.38.0

func (RdsParameterGroupArrayOutput) ToRdsParameterGroupArrayOutput added in v2.38.0

func (o RdsParameterGroupArrayOutput) ToRdsParameterGroupArrayOutput() RdsParameterGroupArrayOutput

func (RdsParameterGroupArrayOutput) ToRdsParameterGroupArrayOutputWithContext added in v2.38.0

func (o RdsParameterGroupArrayOutput) ToRdsParameterGroupArrayOutputWithContext(ctx context.Context) RdsParameterGroupArrayOutput

type RdsParameterGroupInput added in v2.38.0

type RdsParameterGroupInput interface {
	pulumi.Input

	ToRdsParameterGroupOutput() RdsParameterGroupOutput
	ToRdsParameterGroupOutputWithContext(ctx context.Context) RdsParameterGroupOutput
}

type RdsParameterGroupMap added in v2.38.0

type RdsParameterGroupMap map[string]RdsParameterGroupInput

func (RdsParameterGroupMap) ElementType added in v2.38.0

func (RdsParameterGroupMap) ElementType() reflect.Type

func (RdsParameterGroupMap) ToRdsParameterGroupMapOutput added in v2.38.0

func (i RdsParameterGroupMap) ToRdsParameterGroupMapOutput() RdsParameterGroupMapOutput

func (RdsParameterGroupMap) ToRdsParameterGroupMapOutputWithContext added in v2.38.0

func (i RdsParameterGroupMap) ToRdsParameterGroupMapOutputWithContext(ctx context.Context) RdsParameterGroupMapOutput

type RdsParameterGroupMapInput added in v2.38.0

type RdsParameterGroupMapInput interface {
	pulumi.Input

	ToRdsParameterGroupMapOutput() RdsParameterGroupMapOutput
	ToRdsParameterGroupMapOutputWithContext(context.Context) RdsParameterGroupMapOutput
}

RdsParameterGroupMapInput is an input type that accepts RdsParameterGroupMap and RdsParameterGroupMapOutput values. You can construct a concrete instance of `RdsParameterGroupMapInput` via:

RdsParameterGroupMap{ "key": RdsParameterGroupArgs{...} }

type RdsParameterGroupMapOutput added in v2.38.0

type RdsParameterGroupMapOutput struct{ *pulumi.OutputState }

func (RdsParameterGroupMapOutput) ElementType added in v2.38.0

func (RdsParameterGroupMapOutput) ElementType() reflect.Type

func (RdsParameterGroupMapOutput) MapIndex added in v2.38.0

func (RdsParameterGroupMapOutput) ToRdsParameterGroupMapOutput added in v2.38.0

func (o RdsParameterGroupMapOutput) ToRdsParameterGroupMapOutput() RdsParameterGroupMapOutput

func (RdsParameterGroupMapOutput) ToRdsParameterGroupMapOutputWithContext added in v2.38.0

func (o RdsParameterGroupMapOutput) ToRdsParameterGroupMapOutputWithContext(ctx context.Context) RdsParameterGroupMapOutput

type RdsParameterGroupOutput added in v2.38.0

type RdsParameterGroupOutput struct {
	*pulumi.OutputState
}

func (RdsParameterGroupOutput) ElementType added in v2.38.0

func (RdsParameterGroupOutput) ElementType() reflect.Type

func (RdsParameterGroupOutput) ToRdsParameterGroupOutput added in v2.38.0

func (o RdsParameterGroupOutput) ToRdsParameterGroupOutput() RdsParameterGroupOutput

func (RdsParameterGroupOutput) ToRdsParameterGroupOutputWithContext added in v2.38.0

func (o RdsParameterGroupOutput) ToRdsParameterGroupOutputWithContext(ctx context.Context) RdsParameterGroupOutput

func (RdsParameterGroupOutput) ToRdsParameterGroupPtrOutput added in v2.38.0

func (o RdsParameterGroupOutput) ToRdsParameterGroupPtrOutput() RdsParameterGroupPtrOutput

func (RdsParameterGroupOutput) ToRdsParameterGroupPtrOutputWithContext added in v2.38.0

func (o RdsParameterGroupOutput) ToRdsParameterGroupPtrOutputWithContext(ctx context.Context) RdsParameterGroupPtrOutput

type RdsParameterGroupParamDetail added in v2.38.0

type RdsParameterGroupParamDetail struct {
	// The name of a parameter.
	ParamName string `pulumi:"paramName"`
	// The value of a parameter.
	ParamValue string `pulumi:"paramValue"`
}

type RdsParameterGroupParamDetailArgs added in v2.38.0

type RdsParameterGroupParamDetailArgs struct {
	// The name of a parameter.
	ParamName pulumi.StringInput `pulumi:"paramName"`
	// The value of a parameter.
	ParamValue pulumi.StringInput `pulumi:"paramValue"`
}

func (RdsParameterGroupParamDetailArgs) ElementType added in v2.38.0

func (RdsParameterGroupParamDetailArgs) ToRdsParameterGroupParamDetailOutput added in v2.38.0

func (i RdsParameterGroupParamDetailArgs) ToRdsParameterGroupParamDetailOutput() RdsParameterGroupParamDetailOutput

func (RdsParameterGroupParamDetailArgs) ToRdsParameterGroupParamDetailOutputWithContext added in v2.38.0

func (i RdsParameterGroupParamDetailArgs) ToRdsParameterGroupParamDetailOutputWithContext(ctx context.Context) RdsParameterGroupParamDetailOutput

type RdsParameterGroupParamDetailArray added in v2.38.0

type RdsParameterGroupParamDetailArray []RdsParameterGroupParamDetailInput

func (RdsParameterGroupParamDetailArray) ElementType added in v2.38.0

func (RdsParameterGroupParamDetailArray) ToRdsParameterGroupParamDetailArrayOutput added in v2.38.0

func (i RdsParameterGroupParamDetailArray) ToRdsParameterGroupParamDetailArrayOutput() RdsParameterGroupParamDetailArrayOutput

func (RdsParameterGroupParamDetailArray) ToRdsParameterGroupParamDetailArrayOutputWithContext added in v2.38.0

func (i RdsParameterGroupParamDetailArray) ToRdsParameterGroupParamDetailArrayOutputWithContext(ctx context.Context) RdsParameterGroupParamDetailArrayOutput

type RdsParameterGroupParamDetailArrayInput added in v2.38.0

type RdsParameterGroupParamDetailArrayInput interface {
	pulumi.Input

	ToRdsParameterGroupParamDetailArrayOutput() RdsParameterGroupParamDetailArrayOutput
	ToRdsParameterGroupParamDetailArrayOutputWithContext(context.Context) RdsParameterGroupParamDetailArrayOutput
}

RdsParameterGroupParamDetailArrayInput is an input type that accepts RdsParameterGroupParamDetailArray and RdsParameterGroupParamDetailArrayOutput values. You can construct a concrete instance of `RdsParameterGroupParamDetailArrayInput` via:

RdsParameterGroupParamDetailArray{ RdsParameterGroupParamDetailArgs{...} }

type RdsParameterGroupParamDetailArrayOutput added in v2.38.0

type RdsParameterGroupParamDetailArrayOutput struct{ *pulumi.OutputState }

func (RdsParameterGroupParamDetailArrayOutput) ElementType added in v2.38.0

func (RdsParameterGroupParamDetailArrayOutput) Index added in v2.38.0

func (RdsParameterGroupParamDetailArrayOutput) ToRdsParameterGroupParamDetailArrayOutput added in v2.38.0

func (o RdsParameterGroupParamDetailArrayOutput) ToRdsParameterGroupParamDetailArrayOutput() RdsParameterGroupParamDetailArrayOutput

func (RdsParameterGroupParamDetailArrayOutput) ToRdsParameterGroupParamDetailArrayOutputWithContext added in v2.38.0

func (o RdsParameterGroupParamDetailArrayOutput) ToRdsParameterGroupParamDetailArrayOutputWithContext(ctx context.Context) RdsParameterGroupParamDetailArrayOutput

type RdsParameterGroupParamDetailInput added in v2.38.0

type RdsParameterGroupParamDetailInput interface {
	pulumi.Input

	ToRdsParameterGroupParamDetailOutput() RdsParameterGroupParamDetailOutput
	ToRdsParameterGroupParamDetailOutputWithContext(context.Context) RdsParameterGroupParamDetailOutput
}

RdsParameterGroupParamDetailInput is an input type that accepts RdsParameterGroupParamDetailArgs and RdsParameterGroupParamDetailOutput values. You can construct a concrete instance of `RdsParameterGroupParamDetailInput` via:

RdsParameterGroupParamDetailArgs{...}

type RdsParameterGroupParamDetailOutput added in v2.38.0

type RdsParameterGroupParamDetailOutput struct{ *pulumi.OutputState }

func (RdsParameterGroupParamDetailOutput) ElementType added in v2.38.0

func (RdsParameterGroupParamDetailOutput) ParamName added in v2.38.0

The name of a parameter.

func (RdsParameterGroupParamDetailOutput) ParamValue added in v2.38.0

The value of a parameter.

func (RdsParameterGroupParamDetailOutput) ToRdsParameterGroupParamDetailOutput added in v2.38.0

func (o RdsParameterGroupParamDetailOutput) ToRdsParameterGroupParamDetailOutput() RdsParameterGroupParamDetailOutput

func (RdsParameterGroupParamDetailOutput) ToRdsParameterGroupParamDetailOutputWithContext added in v2.38.0

func (o RdsParameterGroupParamDetailOutput) ToRdsParameterGroupParamDetailOutputWithContext(ctx context.Context) RdsParameterGroupParamDetailOutput

type RdsParameterGroupPtrInput added in v2.38.0

type RdsParameterGroupPtrInput interface {
	pulumi.Input

	ToRdsParameterGroupPtrOutput() RdsParameterGroupPtrOutput
	ToRdsParameterGroupPtrOutputWithContext(ctx context.Context) RdsParameterGroupPtrOutput
}

type RdsParameterGroupPtrOutput added in v2.38.0

type RdsParameterGroupPtrOutput struct {
	*pulumi.OutputState
}

func (RdsParameterGroupPtrOutput) ElementType added in v2.38.0

func (RdsParameterGroupPtrOutput) ElementType() reflect.Type

func (RdsParameterGroupPtrOutput) ToRdsParameterGroupPtrOutput added in v2.38.0

func (o RdsParameterGroupPtrOutput) ToRdsParameterGroupPtrOutput() RdsParameterGroupPtrOutput

func (RdsParameterGroupPtrOutput) ToRdsParameterGroupPtrOutputWithContext added in v2.38.0

func (o RdsParameterGroupPtrOutput) ToRdsParameterGroupPtrOutputWithContext(ctx context.Context) RdsParameterGroupPtrOutput

type RdsParameterGroupState added in v2.38.0

type RdsParameterGroupState struct {
	// The database engine. Valid values: `mysql`, `mariadb`.
	Engine pulumi.StringPtrInput
	// The version of the database engine. Valid values: mysql: `5.1`, `5.5`, `5.6`, `5.7`, `8.0`; mariadb: `10.3`.
	EngineVersion pulumi.StringPtrInput
	// Parameter list.
	ParamDetails RdsParameterGroupParamDetailArrayInput
	// The description of the parameter template.
	ParameterGroupDesc pulumi.StringPtrInput
	// The name of the parameter template.
	ParameterGroupName pulumi.StringPtrInput
}

func (RdsParameterGroupState) ElementType added in v2.38.0

func (RdsParameterGroupState) ElementType() reflect.Type

type ReadOnlyInstance

type ReadOnlyInstance struct {
	pulumi.CustomResourceState

	// RDS database connection string.
	ConnectionString pulumi.StringOutput `pulumi:"connectionString"`
	// Database type.
	Engine pulumi.StringOutput `pulumi:"engine"`
	// Database version. Value options can refer to the latest docs [CreateDBInstance](https://www.alibabacloud.com/help/doc-detail/26228.htm) `EngineVersion`.
	EngineVersion pulumi.StringOutput `pulumi:"engineVersion"`
	// Set it to true to make some parameter efficient when modifying them. Default to false.
	ForceRestart pulumi.BoolPtrOutput `pulumi:"forceRestart"`
	// The name of DB instance. It a string of 2 to 256 characters.
	InstanceName pulumi.StringOutput `pulumi:"instanceName"`
	// User-defined DB instance storage space. Value range: [5, 2000] for MySQL/SQL Server HA dual node edition. Increase progressively at a rate of 5 GB. For details, see [Instance type table](https://www.alibabacloud.com/help/doc-detail/26312.htm).
	InstanceStorage pulumi.IntOutput `pulumi:"instanceStorage"`
	// DB Instance type. For details, see [Instance type table](https://www.alibabacloud.com/help/doc-detail/26312.htm).
	InstanceType pulumi.StringOutput `pulumi:"instanceType"`
	// ID of the master instance.
	MasterDbInstanceId pulumi.StringOutput `pulumi:"masterDbInstanceId"`
	// Set of parameters needs to be set after DB instance was launched. Available parameters can refer to the latest docs [View database parameter templates](https://www.alibabacloud.com/help/doc-detail/26284.htm).
	Parameters ReadOnlyInstanceParameterArrayOutput `pulumi:"parameters"`
	// RDS database connection port.
	Port pulumi.StringOutput `pulumi:"port"`
	// The ID of resource group which the DB read-only instance belongs.
	ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"`
	// 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"`
	// The virtual switch ID to launch DB instances in one VPC.
	VswitchId pulumi.StringPtrOutput `pulumi:"vswitchId"`
	// The Zone to launch the DB instance.
	ZoneId pulumi.StringOutput `pulumi:"zoneId"`
}

Provides an RDS readonly instance resource.

## Example Usage

```go package main

import (

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		creation := "Rds"
		if param := cfg.Get("creation"); param != "" {
			creation = param
		}
		name := "dbInstancevpc"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		opt0 := creation
		defaultZones, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: &opt0,
		}, 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"),
			AvailabilityZone: pulumi.String(defaultZones.Zones[0].Id),
			VswitchName:      pulumi.String(name),
		})
		if err != nil {
			return err
		}
		defaultInstance, err := rds.NewInstance(ctx, "defaultInstance", &rds.InstanceArgs{
			Engine:             pulumi.String("MySQL"),
			EngineVersion:      pulumi.String("5.6"),
			InstanceType:       pulumi.String("rds.mysql.t1.small"),
			InstanceStorage:    pulumi.Int(20),
			InstanceChargeType: pulumi.String("Postpaid"),
			InstanceName:       pulumi.String(name),
			VswitchId:          defaultSwitch.ID(),
			SecurityIps: pulumi.StringArray{
				pulumi.String("10.168.1.12"),
				pulumi.String("100.69.7.112"),
			},
		})
		if err != nil {
			return err
		}
		_, err = rds.NewReadOnlyInstance(ctx, "defaultReadOnlyInstance", &rds.ReadOnlyInstanceArgs{
			MasterDbInstanceId: defaultInstance.ID(),
			ZoneId:             defaultInstance.ZoneId,
			EngineVersion:      defaultInstance.EngineVersion,
			InstanceType:       defaultInstance.InstanceType,
			InstanceStorage:    pulumi.Int(30),
			InstanceName:       pulumi.String(fmt.Sprintf("%v%v", name, "ro")),
			VswitchId:          defaultSwitch.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

RDS readonly instance can be imported using the id, e.g.

```sh

$ pulumi import alicloud:rds/readOnlyInstance:ReadOnlyInstance example rm-abc12345678

```

func GetReadOnlyInstance

func GetReadOnlyInstance(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ReadOnlyInstanceState, opts ...pulumi.ResourceOption) (*ReadOnlyInstance, error)

GetReadOnlyInstance gets an existing ReadOnlyInstance 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 NewReadOnlyInstance

func NewReadOnlyInstance(ctx *pulumi.Context,
	name string, args *ReadOnlyInstanceArgs, opts ...pulumi.ResourceOption) (*ReadOnlyInstance, error)

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

func (*ReadOnlyInstance) ElementType added in v2.25.1

func (*ReadOnlyInstance) ElementType() reflect.Type

func (*ReadOnlyInstance) ToReadOnlyInstanceOutput added in v2.25.1

func (i *ReadOnlyInstance) ToReadOnlyInstanceOutput() ReadOnlyInstanceOutput

func (*ReadOnlyInstance) ToReadOnlyInstanceOutputWithContext added in v2.25.1

func (i *ReadOnlyInstance) ToReadOnlyInstanceOutputWithContext(ctx context.Context) ReadOnlyInstanceOutput

func (*ReadOnlyInstance) ToReadOnlyInstancePtrOutput added in v2.35.1

func (i *ReadOnlyInstance) ToReadOnlyInstancePtrOutput() ReadOnlyInstancePtrOutput

func (*ReadOnlyInstance) ToReadOnlyInstancePtrOutputWithContext added in v2.35.1

func (i *ReadOnlyInstance) ToReadOnlyInstancePtrOutputWithContext(ctx context.Context) ReadOnlyInstancePtrOutput

type ReadOnlyInstanceArgs

type ReadOnlyInstanceArgs struct {
	// Database version. Value options can refer to the latest docs [CreateDBInstance](https://www.alibabacloud.com/help/doc-detail/26228.htm) `EngineVersion`.
	EngineVersion pulumi.StringInput
	// Set it to true to make some parameter efficient when modifying them. Default to false.
	ForceRestart pulumi.BoolPtrInput
	// The name of DB instance. It a string of 2 to 256 characters.
	InstanceName pulumi.StringPtrInput
	// User-defined DB instance storage space. Value range: [5, 2000] for MySQL/SQL Server HA dual node edition. Increase progressively at a rate of 5 GB. For details, see [Instance type table](https://www.alibabacloud.com/help/doc-detail/26312.htm).
	InstanceStorage pulumi.IntInput
	// DB Instance type. For details, see [Instance type table](https://www.alibabacloud.com/help/doc-detail/26312.htm).
	InstanceType pulumi.StringInput
	// ID of the master instance.
	MasterDbInstanceId pulumi.StringInput
	// Set of parameters needs to be set after DB instance was launched. Available parameters can refer to the latest docs [View database parameter templates](https://www.alibabacloud.com/help/doc-detail/26284.htm).
	Parameters ReadOnlyInstanceParameterArrayInput
	// The ID of resource group which the DB read-only instance belongs.
	ResourceGroupId pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	// - Key: It can be up to 64 characters in length. It cannot begin with "aliyun", "acs:", "http://", or "https://". It cannot be a null string.
	// - Value: It can be up to 128 characters in length. It cannot begin with "aliyun", "acs:", "http://", or "https://". It can be a null string.
	Tags pulumi.MapInput
	// The virtual switch ID to launch DB instances in one VPC.
	VswitchId pulumi.StringPtrInput
	// The Zone to launch the DB instance.
	ZoneId pulumi.StringPtrInput
}

The set of arguments for constructing a ReadOnlyInstance resource.

func (ReadOnlyInstanceArgs) ElementType

func (ReadOnlyInstanceArgs) ElementType() reflect.Type

type ReadOnlyInstanceArray added in v2.35.1

type ReadOnlyInstanceArray []ReadOnlyInstanceInput

func (ReadOnlyInstanceArray) ElementType added in v2.35.1

func (ReadOnlyInstanceArray) ElementType() reflect.Type

func (ReadOnlyInstanceArray) ToReadOnlyInstanceArrayOutput added in v2.35.1

func (i ReadOnlyInstanceArray) ToReadOnlyInstanceArrayOutput() ReadOnlyInstanceArrayOutput

func (ReadOnlyInstanceArray) ToReadOnlyInstanceArrayOutputWithContext added in v2.35.1

func (i ReadOnlyInstanceArray) ToReadOnlyInstanceArrayOutputWithContext(ctx context.Context) ReadOnlyInstanceArrayOutput

type ReadOnlyInstanceArrayInput added in v2.35.1

type ReadOnlyInstanceArrayInput interface {
	pulumi.Input

	ToReadOnlyInstanceArrayOutput() ReadOnlyInstanceArrayOutput
	ToReadOnlyInstanceArrayOutputWithContext(context.Context) ReadOnlyInstanceArrayOutput
}

ReadOnlyInstanceArrayInput is an input type that accepts ReadOnlyInstanceArray and ReadOnlyInstanceArrayOutput values. You can construct a concrete instance of `ReadOnlyInstanceArrayInput` via:

ReadOnlyInstanceArray{ ReadOnlyInstanceArgs{...} }

type ReadOnlyInstanceArrayOutput added in v2.35.1

type ReadOnlyInstanceArrayOutput struct{ *pulumi.OutputState }

func (ReadOnlyInstanceArrayOutput) ElementType added in v2.35.1

func (ReadOnlyInstanceArrayOutput) Index added in v2.35.1

func (ReadOnlyInstanceArrayOutput) ToReadOnlyInstanceArrayOutput added in v2.35.1

func (o ReadOnlyInstanceArrayOutput) ToReadOnlyInstanceArrayOutput() ReadOnlyInstanceArrayOutput

func (ReadOnlyInstanceArrayOutput) ToReadOnlyInstanceArrayOutputWithContext added in v2.35.1

func (o ReadOnlyInstanceArrayOutput) ToReadOnlyInstanceArrayOutputWithContext(ctx context.Context) ReadOnlyInstanceArrayOutput

type ReadOnlyInstanceInput added in v2.25.1

type ReadOnlyInstanceInput interface {
	pulumi.Input

	ToReadOnlyInstanceOutput() ReadOnlyInstanceOutput
	ToReadOnlyInstanceOutputWithContext(ctx context.Context) ReadOnlyInstanceOutput
}

type ReadOnlyInstanceMap added in v2.35.1

type ReadOnlyInstanceMap map[string]ReadOnlyInstanceInput

func (ReadOnlyInstanceMap) ElementType added in v2.35.1

func (ReadOnlyInstanceMap) ElementType() reflect.Type

func (ReadOnlyInstanceMap) ToReadOnlyInstanceMapOutput added in v2.35.1

func (i ReadOnlyInstanceMap) ToReadOnlyInstanceMapOutput() ReadOnlyInstanceMapOutput

func (ReadOnlyInstanceMap) ToReadOnlyInstanceMapOutputWithContext added in v2.35.1

func (i ReadOnlyInstanceMap) ToReadOnlyInstanceMapOutputWithContext(ctx context.Context) ReadOnlyInstanceMapOutput

type ReadOnlyInstanceMapInput added in v2.35.1

type ReadOnlyInstanceMapInput interface {
	pulumi.Input

	ToReadOnlyInstanceMapOutput() ReadOnlyInstanceMapOutput
	ToReadOnlyInstanceMapOutputWithContext(context.Context) ReadOnlyInstanceMapOutput
}

ReadOnlyInstanceMapInput is an input type that accepts ReadOnlyInstanceMap and ReadOnlyInstanceMapOutput values. You can construct a concrete instance of `ReadOnlyInstanceMapInput` via:

ReadOnlyInstanceMap{ "key": ReadOnlyInstanceArgs{...} }

type ReadOnlyInstanceMapOutput added in v2.35.1

type ReadOnlyInstanceMapOutput struct{ *pulumi.OutputState }

func (ReadOnlyInstanceMapOutput) ElementType added in v2.35.1

func (ReadOnlyInstanceMapOutput) ElementType() reflect.Type

func (ReadOnlyInstanceMapOutput) MapIndex added in v2.35.1

func (ReadOnlyInstanceMapOutput) ToReadOnlyInstanceMapOutput added in v2.35.1

func (o ReadOnlyInstanceMapOutput) ToReadOnlyInstanceMapOutput() ReadOnlyInstanceMapOutput

func (ReadOnlyInstanceMapOutput) ToReadOnlyInstanceMapOutputWithContext added in v2.35.1

func (o ReadOnlyInstanceMapOutput) ToReadOnlyInstanceMapOutputWithContext(ctx context.Context) ReadOnlyInstanceMapOutput

type ReadOnlyInstanceOutput added in v2.25.1

type ReadOnlyInstanceOutput struct {
	*pulumi.OutputState
}

func (ReadOnlyInstanceOutput) ElementType added in v2.25.1

func (ReadOnlyInstanceOutput) ElementType() reflect.Type

func (ReadOnlyInstanceOutput) ToReadOnlyInstanceOutput added in v2.25.1

func (o ReadOnlyInstanceOutput) ToReadOnlyInstanceOutput() ReadOnlyInstanceOutput

func (ReadOnlyInstanceOutput) ToReadOnlyInstanceOutputWithContext added in v2.25.1

func (o ReadOnlyInstanceOutput) ToReadOnlyInstanceOutputWithContext(ctx context.Context) ReadOnlyInstanceOutput

func (ReadOnlyInstanceOutput) ToReadOnlyInstancePtrOutput added in v2.35.1

func (o ReadOnlyInstanceOutput) ToReadOnlyInstancePtrOutput() ReadOnlyInstancePtrOutput

func (ReadOnlyInstanceOutput) ToReadOnlyInstancePtrOutputWithContext added in v2.35.1

func (o ReadOnlyInstanceOutput) ToReadOnlyInstancePtrOutputWithContext(ctx context.Context) ReadOnlyInstancePtrOutput

type ReadOnlyInstanceParameter

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

type ReadOnlyInstanceParameterArgs

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

func (ReadOnlyInstanceParameterArgs) ElementType

func (ReadOnlyInstanceParameterArgs) ToReadOnlyInstanceParameterOutput

func (i ReadOnlyInstanceParameterArgs) ToReadOnlyInstanceParameterOutput() ReadOnlyInstanceParameterOutput

func (ReadOnlyInstanceParameterArgs) ToReadOnlyInstanceParameterOutputWithContext

func (i ReadOnlyInstanceParameterArgs) ToReadOnlyInstanceParameterOutputWithContext(ctx context.Context) ReadOnlyInstanceParameterOutput

type ReadOnlyInstanceParameterArray

type ReadOnlyInstanceParameterArray []ReadOnlyInstanceParameterInput

func (ReadOnlyInstanceParameterArray) ElementType

func (ReadOnlyInstanceParameterArray) ToReadOnlyInstanceParameterArrayOutput

func (i ReadOnlyInstanceParameterArray) ToReadOnlyInstanceParameterArrayOutput() ReadOnlyInstanceParameterArrayOutput

func (ReadOnlyInstanceParameterArray) ToReadOnlyInstanceParameterArrayOutputWithContext

func (i ReadOnlyInstanceParameterArray) ToReadOnlyInstanceParameterArrayOutputWithContext(ctx context.Context) ReadOnlyInstanceParameterArrayOutput

type ReadOnlyInstanceParameterArrayInput

type ReadOnlyInstanceParameterArrayInput interface {
	pulumi.Input

	ToReadOnlyInstanceParameterArrayOutput() ReadOnlyInstanceParameterArrayOutput
	ToReadOnlyInstanceParameterArrayOutputWithContext(context.Context) ReadOnlyInstanceParameterArrayOutput
}

ReadOnlyInstanceParameterArrayInput is an input type that accepts ReadOnlyInstanceParameterArray and ReadOnlyInstanceParameterArrayOutput values. You can construct a concrete instance of `ReadOnlyInstanceParameterArrayInput` via:

ReadOnlyInstanceParameterArray{ ReadOnlyInstanceParameterArgs{...} }

type ReadOnlyInstanceParameterArrayOutput

type ReadOnlyInstanceParameterArrayOutput struct{ *pulumi.OutputState }

func (ReadOnlyInstanceParameterArrayOutput) ElementType

func (ReadOnlyInstanceParameterArrayOutput) Index

func (ReadOnlyInstanceParameterArrayOutput) ToReadOnlyInstanceParameterArrayOutput

func (o ReadOnlyInstanceParameterArrayOutput) ToReadOnlyInstanceParameterArrayOutput() ReadOnlyInstanceParameterArrayOutput

func (ReadOnlyInstanceParameterArrayOutput) ToReadOnlyInstanceParameterArrayOutputWithContext

func (o ReadOnlyInstanceParameterArrayOutput) ToReadOnlyInstanceParameterArrayOutputWithContext(ctx context.Context) ReadOnlyInstanceParameterArrayOutput

type ReadOnlyInstanceParameterInput

type ReadOnlyInstanceParameterInput interface {
	pulumi.Input

	ToReadOnlyInstanceParameterOutput() ReadOnlyInstanceParameterOutput
	ToReadOnlyInstanceParameterOutputWithContext(context.Context) ReadOnlyInstanceParameterOutput
}

ReadOnlyInstanceParameterInput is an input type that accepts ReadOnlyInstanceParameterArgs and ReadOnlyInstanceParameterOutput values. You can construct a concrete instance of `ReadOnlyInstanceParameterInput` via:

ReadOnlyInstanceParameterArgs{...}

type ReadOnlyInstanceParameterOutput

type ReadOnlyInstanceParameterOutput struct{ *pulumi.OutputState }

func (ReadOnlyInstanceParameterOutput) ElementType

func (ReadOnlyInstanceParameterOutput) Name

func (ReadOnlyInstanceParameterOutput) ToReadOnlyInstanceParameterOutput

func (o ReadOnlyInstanceParameterOutput) ToReadOnlyInstanceParameterOutput() ReadOnlyInstanceParameterOutput

func (ReadOnlyInstanceParameterOutput) ToReadOnlyInstanceParameterOutputWithContext

func (o ReadOnlyInstanceParameterOutput) ToReadOnlyInstanceParameterOutputWithContext(ctx context.Context) ReadOnlyInstanceParameterOutput

func (ReadOnlyInstanceParameterOutput) Value

type ReadOnlyInstancePtrInput added in v2.35.1

type ReadOnlyInstancePtrInput interface {
	pulumi.Input

	ToReadOnlyInstancePtrOutput() ReadOnlyInstancePtrOutput
	ToReadOnlyInstancePtrOutputWithContext(ctx context.Context) ReadOnlyInstancePtrOutput
}

type ReadOnlyInstancePtrOutput added in v2.35.1

type ReadOnlyInstancePtrOutput struct {
	*pulumi.OutputState
}

func (ReadOnlyInstancePtrOutput) ElementType added in v2.35.1

func (ReadOnlyInstancePtrOutput) ElementType() reflect.Type

func (ReadOnlyInstancePtrOutput) ToReadOnlyInstancePtrOutput added in v2.35.1

func (o ReadOnlyInstancePtrOutput) ToReadOnlyInstancePtrOutput() ReadOnlyInstancePtrOutput

func (ReadOnlyInstancePtrOutput) ToReadOnlyInstancePtrOutputWithContext added in v2.35.1

func (o ReadOnlyInstancePtrOutput) ToReadOnlyInstancePtrOutputWithContext(ctx context.Context) ReadOnlyInstancePtrOutput

type ReadOnlyInstanceState

type ReadOnlyInstanceState struct {
	// RDS database connection string.
	ConnectionString pulumi.StringPtrInput
	// Database type.
	Engine pulumi.StringPtrInput
	// Database version. Value options can refer to the latest docs [CreateDBInstance](https://www.alibabacloud.com/help/doc-detail/26228.htm) `EngineVersion`.
	EngineVersion pulumi.StringPtrInput
	// Set it to true to make some parameter efficient when modifying them. Default to false.
	ForceRestart pulumi.BoolPtrInput
	// The name of DB instance. It a string of 2 to 256 characters.
	InstanceName pulumi.StringPtrInput
	// User-defined DB instance storage space. Value range: [5, 2000] for MySQL/SQL Server HA dual node edition. Increase progressively at a rate of 5 GB. For details, see [Instance type table](https://www.alibabacloud.com/help/doc-detail/26312.htm).
	InstanceStorage pulumi.IntPtrInput
	// DB Instance type. For details, see [Instance type table](https://www.alibabacloud.com/help/doc-detail/26312.htm).
	InstanceType pulumi.StringPtrInput
	// ID of the master instance.
	MasterDbInstanceId pulumi.StringPtrInput
	// Set of parameters needs to be set after DB instance was launched. Available parameters can refer to the latest docs [View database parameter templates](https://www.alibabacloud.com/help/doc-detail/26284.htm).
	Parameters ReadOnlyInstanceParameterArrayInput
	// RDS database connection port.
	Port pulumi.StringPtrInput
	// The ID of resource group which the DB read-only instance belongs.
	ResourceGroupId pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	// - Key: It can be up to 64 characters in length. It cannot begin with "aliyun", "acs:", "http://", or "https://". It cannot be a null string.
	// - Value: It can be up to 128 characters in length. It cannot begin with "aliyun", "acs:", "http://", or "https://". It can be a null string.
	Tags pulumi.MapInput
	// The virtual switch ID to launch DB instances in one VPC.
	VswitchId pulumi.StringPtrInput
	// The Zone to launch the DB instance.
	ZoneId pulumi.StringPtrInput
}

func (ReadOnlyInstanceState) ElementType

func (ReadOnlyInstanceState) ElementType() reflect.Type

type ReadWriteSplittingConnection

type ReadWriteSplittingConnection struct {
	pulumi.CustomResourceState

	// Prefix of an Internet connection string. It must be checked for uniqueness. It may consist of lowercase letters, numbers, and underlines, and must start with a letter and have no more than 30 characters. Default to <instance_id> + 'rw'.
	ConnectionPrefix pulumi.StringPtrOutput `pulumi:"connectionPrefix"`
	// Connection instance string.
	ConnectionString pulumi.StringOutput `pulumi:"connectionString"`
	// Read weight distribution mode. Values are as follows: `Standard` indicates automatic weight distribution based on types, `Custom` indicates custom weight distribution.
	DistributionType pulumi.StringOutput `pulumi:"distributionType"`
	// The Id of instance that can run database.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	// Delay threshold, in seconds. The value range is 0 to 7200. Default to 30. Read requests are not routed to the read-only instances with a delay greater than the threshold.
	MaxDelayTime pulumi.IntOutput `pulumi:"maxDelayTime"`
	// Intranet connection port. Valid value: [3001-3999]. Default to 3306.
	Port pulumi.IntOutput `pulumi:"port"`
	// Read weight distribution. Read weights increase at a step of 100 up to 10,000. Enter weights in the following format: {"Instanceid":"Weight","Instanceid":"Weight"}. This parameter must be set when distributionType is set to Custom.
	Weight pulumi.MapOutput `pulumi:"weight"`
}

Provides an RDS read write splitting connection resource to allocate an Intranet connection string for RDS instance.

## Example Usage

```go package main

import (

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		creation := "Rds"
		if param := cfg.Get("creation"); param != "" {
			creation = param
		}
		name := "dbInstancevpc"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		opt0 := creation
		defaultZones, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: &opt0,
		}, 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"),
			AvailabilityZone: pulumi.String(defaultZones.Zones[0].Id),
			VswitchName:      pulumi.String(name),
		})
		if err != nil {
			return err
		}
		defaultInstance, err := rds.NewInstance(ctx, "defaultInstance", &rds.InstanceArgs{
			Engine:             pulumi.String("MySQL"),
			EngineVersion:      pulumi.String("5.6"),
			InstanceType:       pulumi.String("rds.mysql.t1.small"),
			InstanceStorage:    pulumi.Int(20),
			InstanceChargeType: pulumi.String("Postpaid"),
			InstanceName:       pulumi.String(name),
			VswitchId:          defaultSwitch.ID(),
			SecurityIps: pulumi.StringArray{
				pulumi.String("10.168.1.12"),
				pulumi.String("100.69.7.112"),
			},
		})
		if err != nil {
			return err
		}
		defaultReadOnlyInstance, err := rds.NewReadOnlyInstance(ctx, "defaultReadOnlyInstance", &rds.ReadOnlyInstanceArgs{
			MasterDbInstanceId: defaultInstance.ID(),
			ZoneId:             defaultInstance.ZoneId,
			EngineVersion:      defaultInstance.EngineVersion,
			InstanceType:       defaultInstance.InstanceType,
			InstanceStorage:    pulumi.Int(30),
			InstanceName:       pulumi.String(fmt.Sprintf("%v%v", name, "ro")),
			VswitchId:          defaultSwitch.ID(),
		})
		if err != nil {
			return err
		}
		_, err = rds.NewReadWriteSplittingConnection(ctx, "defaultReadWriteSplittingConnection", &rds.ReadWriteSplittingConnectionArgs{
			InstanceId:       defaultInstance.ID(),
			ConnectionPrefix: pulumi.String("t-con-123"),
			DistributionType: pulumi.String("Standard"),
		}, pulumi.DependsOn([]pulumi.Resource{
			defaultReadOnlyInstance,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

> **NOTE:** Resource `rds.ReadWriteSplittingConnection` should be created after `rds.ReadOnlyInstance`, so the `dependsOn` statement is necessary.

## Import

RDS read write splitting connection can be imported using the id, e.g.

```sh

$ pulumi import alicloud:rds/readWriteSplittingConnection:ReadWriteSplittingConnection example abc12345678

```

func GetReadWriteSplittingConnection

func GetReadWriteSplittingConnection(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ReadWriteSplittingConnectionState, opts ...pulumi.ResourceOption) (*ReadWriteSplittingConnection, error)

GetReadWriteSplittingConnection gets an existing ReadWriteSplittingConnection 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 NewReadWriteSplittingConnection

func NewReadWriteSplittingConnection(ctx *pulumi.Context,
	name string, args *ReadWriteSplittingConnectionArgs, opts ...pulumi.ResourceOption) (*ReadWriteSplittingConnection, error)

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

func (*ReadWriteSplittingConnection) ElementType added in v2.25.1

func (*ReadWriteSplittingConnection) ElementType() reflect.Type

func (*ReadWriteSplittingConnection) ToReadWriteSplittingConnectionOutput added in v2.25.1

func (i *ReadWriteSplittingConnection) ToReadWriteSplittingConnectionOutput() ReadWriteSplittingConnectionOutput

func (*ReadWriteSplittingConnection) ToReadWriteSplittingConnectionOutputWithContext added in v2.25.1

func (i *ReadWriteSplittingConnection) ToReadWriteSplittingConnectionOutputWithContext(ctx context.Context) ReadWriteSplittingConnectionOutput

func (*ReadWriteSplittingConnection) ToReadWriteSplittingConnectionPtrOutput added in v2.35.1

func (i *ReadWriteSplittingConnection) ToReadWriteSplittingConnectionPtrOutput() ReadWriteSplittingConnectionPtrOutput

func (*ReadWriteSplittingConnection) ToReadWriteSplittingConnectionPtrOutputWithContext added in v2.35.1

func (i *ReadWriteSplittingConnection) ToReadWriteSplittingConnectionPtrOutputWithContext(ctx context.Context) ReadWriteSplittingConnectionPtrOutput

type ReadWriteSplittingConnectionArgs

type ReadWriteSplittingConnectionArgs struct {
	// Prefix of an Internet connection string. It must be checked for uniqueness. It may consist of lowercase letters, numbers, and underlines, and must start with a letter and have no more than 30 characters. Default to <instance_id> + 'rw'.
	ConnectionPrefix pulumi.StringPtrInput
	// Read weight distribution mode. Values are as follows: `Standard` indicates automatic weight distribution based on types, `Custom` indicates custom weight distribution.
	DistributionType pulumi.StringInput
	// The Id of instance that can run database.
	InstanceId pulumi.StringInput
	// Delay threshold, in seconds. The value range is 0 to 7200. Default to 30. Read requests are not routed to the read-only instances with a delay greater than the threshold.
	MaxDelayTime pulumi.IntPtrInput
	// Intranet connection port. Valid value: [3001-3999]. Default to 3306.
	Port pulumi.IntPtrInput
	// Read weight distribution. Read weights increase at a step of 100 up to 10,000. Enter weights in the following format: {"Instanceid":"Weight","Instanceid":"Weight"}. This parameter must be set when distributionType is set to Custom.
	Weight pulumi.MapInput
}

The set of arguments for constructing a ReadWriteSplittingConnection resource.

func (ReadWriteSplittingConnectionArgs) ElementType

type ReadWriteSplittingConnectionArray added in v2.35.1

type ReadWriteSplittingConnectionArray []ReadWriteSplittingConnectionInput

func (ReadWriteSplittingConnectionArray) ElementType added in v2.35.1

func (ReadWriteSplittingConnectionArray) ToReadWriteSplittingConnectionArrayOutput added in v2.35.1

func (i ReadWriteSplittingConnectionArray) ToReadWriteSplittingConnectionArrayOutput() ReadWriteSplittingConnectionArrayOutput

func (ReadWriteSplittingConnectionArray) ToReadWriteSplittingConnectionArrayOutputWithContext added in v2.35.1

func (i ReadWriteSplittingConnectionArray) ToReadWriteSplittingConnectionArrayOutputWithContext(ctx context.Context) ReadWriteSplittingConnectionArrayOutput

type ReadWriteSplittingConnectionArrayInput added in v2.35.1

type ReadWriteSplittingConnectionArrayInput interface {
	pulumi.Input

	ToReadWriteSplittingConnectionArrayOutput() ReadWriteSplittingConnectionArrayOutput
	ToReadWriteSplittingConnectionArrayOutputWithContext(context.Context) ReadWriteSplittingConnectionArrayOutput
}

ReadWriteSplittingConnectionArrayInput is an input type that accepts ReadWriteSplittingConnectionArray and ReadWriteSplittingConnectionArrayOutput values. You can construct a concrete instance of `ReadWriteSplittingConnectionArrayInput` via:

ReadWriteSplittingConnectionArray{ ReadWriteSplittingConnectionArgs{...} }

type ReadWriteSplittingConnectionArrayOutput added in v2.35.1

type ReadWriteSplittingConnectionArrayOutput struct{ *pulumi.OutputState }

func (ReadWriteSplittingConnectionArrayOutput) ElementType added in v2.35.1

func (ReadWriteSplittingConnectionArrayOutput) Index added in v2.35.1

func (ReadWriteSplittingConnectionArrayOutput) ToReadWriteSplittingConnectionArrayOutput added in v2.35.1

func (o ReadWriteSplittingConnectionArrayOutput) ToReadWriteSplittingConnectionArrayOutput() ReadWriteSplittingConnectionArrayOutput

func (ReadWriteSplittingConnectionArrayOutput) ToReadWriteSplittingConnectionArrayOutputWithContext added in v2.35.1

func (o ReadWriteSplittingConnectionArrayOutput) ToReadWriteSplittingConnectionArrayOutputWithContext(ctx context.Context) ReadWriteSplittingConnectionArrayOutput

type ReadWriteSplittingConnectionInput added in v2.25.1

type ReadWriteSplittingConnectionInput interface {
	pulumi.Input

	ToReadWriteSplittingConnectionOutput() ReadWriteSplittingConnectionOutput
	ToReadWriteSplittingConnectionOutputWithContext(ctx context.Context) ReadWriteSplittingConnectionOutput
}

type ReadWriteSplittingConnectionMap added in v2.35.1

type ReadWriteSplittingConnectionMap map[string]ReadWriteSplittingConnectionInput

func (ReadWriteSplittingConnectionMap) ElementType added in v2.35.1

func (ReadWriteSplittingConnectionMap) ToReadWriteSplittingConnectionMapOutput added in v2.35.1

func (i ReadWriteSplittingConnectionMap) ToReadWriteSplittingConnectionMapOutput() ReadWriteSplittingConnectionMapOutput

func (ReadWriteSplittingConnectionMap) ToReadWriteSplittingConnectionMapOutputWithContext added in v2.35.1

func (i ReadWriteSplittingConnectionMap) ToReadWriteSplittingConnectionMapOutputWithContext(ctx context.Context) ReadWriteSplittingConnectionMapOutput

type ReadWriteSplittingConnectionMapInput added in v2.35.1

type ReadWriteSplittingConnectionMapInput interface {
	pulumi.Input

	ToReadWriteSplittingConnectionMapOutput() ReadWriteSplittingConnectionMapOutput
	ToReadWriteSplittingConnectionMapOutputWithContext(context.Context) ReadWriteSplittingConnectionMapOutput
}

ReadWriteSplittingConnectionMapInput is an input type that accepts ReadWriteSplittingConnectionMap and ReadWriteSplittingConnectionMapOutput values. You can construct a concrete instance of `ReadWriteSplittingConnectionMapInput` via:

ReadWriteSplittingConnectionMap{ "key": ReadWriteSplittingConnectionArgs{...} }

type ReadWriteSplittingConnectionMapOutput added in v2.35.1

type ReadWriteSplittingConnectionMapOutput struct{ *pulumi.OutputState }

func (ReadWriteSplittingConnectionMapOutput) ElementType added in v2.35.1

func (ReadWriteSplittingConnectionMapOutput) MapIndex added in v2.35.1

func (ReadWriteSplittingConnectionMapOutput) ToReadWriteSplittingConnectionMapOutput added in v2.35.1

func (o ReadWriteSplittingConnectionMapOutput) ToReadWriteSplittingConnectionMapOutput() ReadWriteSplittingConnectionMapOutput

func (ReadWriteSplittingConnectionMapOutput) ToReadWriteSplittingConnectionMapOutputWithContext added in v2.35.1

func (o ReadWriteSplittingConnectionMapOutput) ToReadWriteSplittingConnectionMapOutputWithContext(ctx context.Context) ReadWriteSplittingConnectionMapOutput

type ReadWriteSplittingConnectionOutput added in v2.25.1

type ReadWriteSplittingConnectionOutput struct {
	*pulumi.OutputState
}

func (ReadWriteSplittingConnectionOutput) ElementType added in v2.25.1

func (ReadWriteSplittingConnectionOutput) ToReadWriteSplittingConnectionOutput added in v2.25.1

func (o ReadWriteSplittingConnectionOutput) ToReadWriteSplittingConnectionOutput() ReadWriteSplittingConnectionOutput

func (ReadWriteSplittingConnectionOutput) ToReadWriteSplittingConnectionOutputWithContext added in v2.25.1

func (o ReadWriteSplittingConnectionOutput) ToReadWriteSplittingConnectionOutputWithContext(ctx context.Context) ReadWriteSplittingConnectionOutput

func (ReadWriteSplittingConnectionOutput) ToReadWriteSplittingConnectionPtrOutput added in v2.35.1

func (o ReadWriteSplittingConnectionOutput) ToReadWriteSplittingConnectionPtrOutput() ReadWriteSplittingConnectionPtrOutput

func (ReadWriteSplittingConnectionOutput) ToReadWriteSplittingConnectionPtrOutputWithContext added in v2.35.1

func (o ReadWriteSplittingConnectionOutput) ToReadWriteSplittingConnectionPtrOutputWithContext(ctx context.Context) ReadWriteSplittingConnectionPtrOutput

type ReadWriteSplittingConnectionPtrInput added in v2.35.1

type ReadWriteSplittingConnectionPtrInput interface {
	pulumi.Input

	ToReadWriteSplittingConnectionPtrOutput() ReadWriteSplittingConnectionPtrOutput
	ToReadWriteSplittingConnectionPtrOutputWithContext(ctx context.Context) ReadWriteSplittingConnectionPtrOutput
}

type ReadWriteSplittingConnectionPtrOutput added in v2.35.1

type ReadWriteSplittingConnectionPtrOutput struct {
	*pulumi.OutputState
}

func (ReadWriteSplittingConnectionPtrOutput) ElementType added in v2.35.1

func (ReadWriteSplittingConnectionPtrOutput) ToReadWriteSplittingConnectionPtrOutput added in v2.35.1

func (o ReadWriteSplittingConnectionPtrOutput) ToReadWriteSplittingConnectionPtrOutput() ReadWriteSplittingConnectionPtrOutput

func (ReadWriteSplittingConnectionPtrOutput) ToReadWriteSplittingConnectionPtrOutputWithContext added in v2.35.1

func (o ReadWriteSplittingConnectionPtrOutput) ToReadWriteSplittingConnectionPtrOutputWithContext(ctx context.Context) ReadWriteSplittingConnectionPtrOutput

type ReadWriteSplittingConnectionState

type ReadWriteSplittingConnectionState struct {
	// Prefix of an Internet connection string. It must be checked for uniqueness. It may consist of lowercase letters, numbers, and underlines, and must start with a letter and have no more than 30 characters. Default to <instance_id> + 'rw'.
	ConnectionPrefix pulumi.StringPtrInput
	// Connection instance string.
	ConnectionString pulumi.StringPtrInput
	// Read weight distribution mode. Values are as follows: `Standard` indicates automatic weight distribution based on types, `Custom` indicates custom weight distribution.
	DistributionType pulumi.StringPtrInput
	// The Id of instance that can run database.
	InstanceId pulumi.StringPtrInput
	// Delay threshold, in seconds. The value range is 0 to 7200. Default to 30. Read requests are not routed to the read-only instances with a delay greater than the threshold.
	MaxDelayTime pulumi.IntPtrInput
	// Intranet connection port. Valid value: [3001-3999]. Default to 3306.
	Port pulumi.IntPtrInput
	// Read weight distribution. Read weights increase at a step of 100 up to 10,000. Enter weights in the following format: {"Instanceid":"Weight","Instanceid":"Weight"}. This parameter must be set when distributionType is set to Custom.
	Weight pulumi.MapInput
}

func (ReadWriteSplittingConnectionState) ElementType

Jump to

Keyboard shortcuts

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