gpdb

package
v3.24.0 Latest Latest
Warning

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

Go to latest
Published: Jul 14, 2022 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 added in v3.10.0

type Account struct {
	pulumi.CustomResourceState

	// The description of the account.
	// * Starts with a letter.
	// * Does not start with `http://` or `https://`.
	// * Contains letters, underscores (_), hyphens (-), or digits.
	// * Be 2 to 256 characters in length.
	AccountDescription pulumi.StringPtrOutput `pulumi:"accountDescription"`
	// The name of the account. The account name must be unique and meet the following requirements:
	// * Starts with a letter.
	// * Contains only lowercase letters, digits, or underscores (_).
	// * Be up to 16 characters in length.
	// * Contains no reserved keywords.
	AccountName pulumi.StringOutput `pulumi:"accountName"`
	// The password of the account. The password must be 8 to 32 characters in length and contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. Special characters include `! @ # $ % ^ & * ( ) _ + - =`.
	AccountPassword pulumi.StringOutput `pulumi:"accountPassword"`
	// The ID of the instance.
	DbInstanceId pulumi.StringOutput `pulumi:"dbInstanceId"`
	// The status of the account. Valid values: `Active`, `Creating` and `Deleting`.
	Status pulumi.StringOutput `pulumi:"status"`
}

Provides a GPDB Account resource.

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

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

## Import

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

```sh

$ pulumi import alicloud:gpdb/account:Account example <db_instance_id>:<account_name>

```

func GetAccount added in v3.10.0

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 added in v3.10.0

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 v3.10.0

func (*Account) ElementType() reflect.Type

func (*Account) ToAccountOutput added in v3.10.0

func (i *Account) ToAccountOutput() AccountOutput

func (*Account) ToAccountOutputWithContext added in v3.10.0

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

type AccountArgs added in v3.10.0

type AccountArgs struct {
	// The description of the account.
	// * Starts with a letter.
	// * Does not start with `http://` or `https://`.
	// * Contains letters, underscores (_), hyphens (-), or digits.
	// * Be 2 to 256 characters in length.
	AccountDescription pulumi.StringPtrInput
	// The name of the account. The account name must be unique and meet the following requirements:
	// * Starts with a letter.
	// * Contains only lowercase letters, digits, or underscores (_).
	// * Be up to 16 characters in length.
	// * Contains no reserved keywords.
	AccountName pulumi.StringInput
	// The password of the account. The password must be 8 to 32 characters in length and contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. Special characters include `! @ # $ % ^ & * ( ) _ + - =`.
	AccountPassword pulumi.StringInput
	// The ID of the instance.
	DbInstanceId pulumi.StringInput
}

The set of arguments for constructing a Account resource.

func (AccountArgs) ElementType added in v3.10.0

func (AccountArgs) ElementType() reflect.Type

type AccountArray added in v3.10.0

type AccountArray []AccountInput

func (AccountArray) ElementType added in v3.10.0

func (AccountArray) ElementType() reflect.Type

func (AccountArray) ToAccountArrayOutput added in v3.10.0

func (i AccountArray) ToAccountArrayOutput() AccountArrayOutput

func (AccountArray) ToAccountArrayOutputWithContext added in v3.10.0

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

type AccountArrayInput added in v3.10.0

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 v3.10.0

type AccountArrayOutput struct{ *pulumi.OutputState }

func (AccountArrayOutput) ElementType added in v3.10.0

func (AccountArrayOutput) ElementType() reflect.Type

func (AccountArrayOutput) Index added in v3.10.0

func (AccountArrayOutput) ToAccountArrayOutput added in v3.10.0

func (o AccountArrayOutput) ToAccountArrayOutput() AccountArrayOutput

func (AccountArrayOutput) ToAccountArrayOutputWithContext added in v3.10.0

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

type AccountInput added in v3.10.0

type AccountInput interface {
	pulumi.Input

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

type AccountMap added in v3.10.0

type AccountMap map[string]AccountInput

func (AccountMap) ElementType added in v3.10.0

func (AccountMap) ElementType() reflect.Type

func (AccountMap) ToAccountMapOutput added in v3.10.0

func (i AccountMap) ToAccountMapOutput() AccountMapOutput

func (AccountMap) ToAccountMapOutputWithContext added in v3.10.0

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

type AccountMapInput added in v3.10.0

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 v3.10.0

type AccountMapOutput struct{ *pulumi.OutputState }

func (AccountMapOutput) ElementType added in v3.10.0

func (AccountMapOutput) ElementType() reflect.Type

func (AccountMapOutput) MapIndex added in v3.10.0

func (AccountMapOutput) ToAccountMapOutput added in v3.10.0

func (o AccountMapOutput) ToAccountMapOutput() AccountMapOutput

func (AccountMapOutput) ToAccountMapOutputWithContext added in v3.10.0

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

type AccountOutput added in v3.10.0

type AccountOutput struct{ *pulumi.OutputState }

func (AccountOutput) ElementType added in v3.10.0

func (AccountOutput) ElementType() reflect.Type

func (AccountOutput) ToAccountOutput added in v3.10.0

func (o AccountOutput) ToAccountOutput() AccountOutput

func (AccountOutput) ToAccountOutputWithContext added in v3.10.0

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

type AccountState added in v3.10.0

type AccountState struct {
	// The description of the account.
	// * Starts with a letter.
	// * Does not start with `http://` or `https://`.
	// * Contains letters, underscores (_), hyphens (-), or digits.
	// * Be 2 to 256 characters in length.
	AccountDescription pulumi.StringPtrInput
	// The name of the account. The account name must be unique and meet the following requirements:
	// * Starts with a letter.
	// * Contains only lowercase letters, digits, or underscores (_).
	// * Be up to 16 characters in length.
	// * Contains no reserved keywords.
	AccountName pulumi.StringPtrInput
	// The password of the account. The password must be 8 to 32 characters in length and contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. Special characters include `! @ # $ % ^ & * ( ) _ + - =`.
	AccountPassword pulumi.StringPtrInput
	// The ID of the instance.
	DbInstanceId pulumi.StringPtrInput
	// The status of the account. Valid values: `Active`, `Creating` and `Deleting`.
	Status pulumi.StringPtrInput
}

func (AccountState) ElementType added in v3.10.0

func (AccountState) 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 30 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: [3200-3999]. Default to 3306.
	Port pulumi.StringPtrOutput `pulumi:"port"`
}

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

> **NOTE:** Available in 1.48.0+

> **NOTE:** Each instance will allocate a intranet connection string automatically and its prefix is 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/v3/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/gpdb"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		creation := "Gpdb"
		if param := cfg.Get("creation"); param != "" {
			creation = param
		}
		name := "gpdbConnectionBasic"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		defaultZones, err := alicloud.GetZones(ctx, &GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef(creation),
		}, nil)
		if err != nil {
			return err
		}
		defaultNetwork, err := vpc.NewNetwork(ctx, "defaultNetwork", &vpc.NetworkArgs{
			CidrBlock: pulumi.String("172.16.0.0/16"),
		})
		if err != nil {
			return err
		}
		defaultSwitch, err := vpc.NewSwitch(ctx, "defaultSwitch", &vpc.SwitchArgs{
			VpcId:     defaultNetwork.ID(),
			CidrBlock: pulumi.String("172.16.0.0/24"),
			ZoneId:    pulumi.String(defaultZones.Zones[0].Id),
		})
		if err != nil {
			return err
		}
		defaultInstance, err := gpdb.NewInstance(ctx, "defaultInstance", &gpdb.InstanceArgs{
			VswitchId:          defaultSwitch.ID(),
			Engine:             pulumi.String("gpdb"),
			EngineVersion:      pulumi.String("4.3"),
			InstanceClass:      pulumi.String("gpdb.group.segsdx2"),
			InstanceGroupCount: pulumi.String("2"),
			Description:        pulumi.String(name),
		})
		if err != nil {
			return err
		}
		_, err = gpdb.NewConnection(ctx, "defaultConnection", &gpdb.ConnectionArgs{
			InstanceId:       defaultInstance.ID(),
			ConnectionPrefix: pulumi.String("testAbc"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

AnalyticDB for PostgreSQL's connection can be imported using the id, e.g.

```sh

$ pulumi import alicloud:gpdb/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

func (*Connection) ElementType() reflect.Type

func (*Connection) ToConnectionOutput

func (i *Connection) ToConnectionOutput() ConnectionOutput

func (*Connection) ToConnectionOutputWithContext

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

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 30 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: [3200-3999]. 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

type ConnectionArray []ConnectionInput

func (ConnectionArray) ElementType

func (ConnectionArray) ElementType() reflect.Type

func (ConnectionArray) ToConnectionArrayOutput

func (i ConnectionArray) ToConnectionArrayOutput() ConnectionArrayOutput

func (ConnectionArray) ToConnectionArrayOutputWithContext

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

type ConnectionArrayInput

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

type ConnectionArrayOutput struct{ *pulumi.OutputState }

func (ConnectionArrayOutput) ElementType

func (ConnectionArrayOutput) ElementType() reflect.Type

func (ConnectionArrayOutput) Index

func (ConnectionArrayOutput) ToConnectionArrayOutput

func (o ConnectionArrayOutput) ToConnectionArrayOutput() ConnectionArrayOutput

func (ConnectionArrayOutput) ToConnectionArrayOutputWithContext

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

type ConnectionInput

type ConnectionInput interface {
	pulumi.Input

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

type ConnectionMap

type ConnectionMap map[string]ConnectionInput

func (ConnectionMap) ElementType

func (ConnectionMap) ElementType() reflect.Type

func (ConnectionMap) ToConnectionMapOutput

func (i ConnectionMap) ToConnectionMapOutput() ConnectionMapOutput

func (ConnectionMap) ToConnectionMapOutputWithContext

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

type ConnectionMapInput

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

type ConnectionMapOutput struct{ *pulumi.OutputState }

func (ConnectionMapOutput) ElementType

func (ConnectionMapOutput) ElementType() reflect.Type

func (ConnectionMapOutput) MapIndex

func (ConnectionMapOutput) ToConnectionMapOutput

func (o ConnectionMapOutput) ToConnectionMapOutput() ConnectionMapOutput

func (ConnectionMapOutput) ToConnectionMapOutputWithContext

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

type ConnectionOutput

type ConnectionOutput struct{ *pulumi.OutputState }

func (ConnectionOutput) ElementType

func (ConnectionOutput) ElementType() reflect.Type

func (ConnectionOutput) ToConnectionOutput

func (o ConnectionOutput) ToConnectionOutput() ConnectionOutput

func (ConnectionOutput) ToConnectionOutputWithContext

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

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 30 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: [3200-3999]. Default to 3306.
	Port pulumi.StringPtrInput
}

func (ConnectionState) ElementType

func (ConnectionState) ElementType() reflect.Type

type ElasticInstance added in v3.5.0

type ElasticInstance struct {
	pulumi.CustomResourceState

	// ADB PG instance connection string.
	ConnectionString pulumi.StringOutput `pulumi:"connectionString"`
	// The edition of the instance. Valid values: `Basic`, `HighAvailability`. Default value: `HighAvailability`.
	DbInstanceCategory pulumi.StringOutput `pulumi:"dbInstanceCategory"`
	// The description of ADB PG instance. It is a string of 2 to 256 characters.
	DbInstanceDescription pulumi.StringPtrOutput `pulumi:"dbInstanceDescription"`
	// The ID of the encryption key. **Note:** If the `encryptionType` parameter is set to `CloudDisk`, you must specify this parameter to the encryption key that is in the same region as the disk that is specified by the EncryptionType parameter. Otherwise, leave this parameter empty.
	EncryptionKey pulumi.StringPtrOutput `pulumi:"encryptionKey"`
	// The type of the encryption. Valid values: `CloudDisk`. **Note:** Disk encryption cannot be disabled after it is enabled.
	EncryptionType pulumi.StringPtrOutput `pulumi:"encryptionType"`
	// Database engine: `gpdb`.
	Engine pulumi.StringOutput `pulumi:"engine"`
	// Database version. Valid value is `6.0`.
	EngineVersion pulumi.StringOutput `pulumi:"engineVersion"`
	// The network type of ADB PG instance. Only `VPC` supported now.
	InstanceNetworkType pulumi.StringPtrOutput `pulumi:"instanceNetworkType"`
	// The specification of segment nodes.
	// * When `dbInstanceCategory` is `HighAvailability`, Valid values: `2C16G`, `4C32G`, `16C128G`.
	// * When `dbInstanceCategory` is `Basic`, Valid values: `2C8G`, `4C16G`, `8C32G`, `16C64G`.
	InstanceSpec pulumi.StringOutput `pulumi:"instanceSpec"`
	// The subscription period. Valid values: [1~12]. It is valid when paymentType is `Subscription`.\
	// **NOTE:** Will not take effect after modifying `paymentDuration` for now, if you want to renew a PayAsYouGo instance, need to do in on aliyun console.
	PaymentDuration pulumi.IntPtrOutput `pulumi:"paymentDuration"`
	// The unit of the subscription period. Valid values: `Month`, `Year`. It is valid when paymentType is `Subscription`.\
	// **NOTE:** Will not take effect after modifying `paymentDurationUnit` for now, if you want to renew a PayAsYouGo instance, need to do in on aliyun console.
	PaymentDurationUnit pulumi.StringPtrOutput `pulumi:"paymentDurationUnit"`
	// Valid values are `PayAsYouGo`, `Subscription`. Default to `PayAsYouGo`.
	PaymentType pulumi.StringPtrOutput `pulumi:"paymentType"`
	// 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]).
	SecurityIpLists pulumi.StringArrayOutput `pulumi:"securityIpLists"`
	// The number of segment nodes. Minimum is `4`, max is `256`, step is `4`.
	SegNodeNum pulumi.IntOutput `pulumi:"segNodeNum"`
	// The disk type of segment nodes. Valid values: `cloudEssd`, `cloudEfficiency`.
	SegStorageType pulumi.StringOutput `pulumi:"segStorageType"`
	// Instance status.
	Status pulumi.StringOutput `pulumi:"status"`
	// The storage capacity of per segment node. Unit: GB. Minimum is `50`, max is `4000`, step is `50`.
	StorageSize pulumi.IntOutput `pulumi:"storageSize"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapOutput `pulumi:"tags"`
	// The virtual switch ID to launch ADB PG instances in one VPC.
	VswitchId pulumi.StringOutput `pulumi:"vswitchId"`
	// The Zone to launch the ADB PG instance. If specified, must be consistent with the zone where the vswitch is located.
	ZoneId pulumi.StringOutput `pulumi:"zoneId"`
}

Provides a AnalyticDB for PostgreSQL instance resource which storage type is flexible. Compared to the reserved storage ADB PG instance, you can scale up each disk and smoothly scale out nodes online.\ For more detail product introduction, see [here](https://www.alibabacloud.com/help/doc-detail/141368.htm).

> **NOTE:** Available in 1.127.0+

## Example Usage ### Create a AnalyticDB for PostgreSQL instance

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		defaultZones, err := alicloud.GetZones(ctx, &GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("Gpdb"),
		}, 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{
			ZoneId:      pulumi.String(defaultZones.Zones[0].Id),
			VpcId:       defaultNetwork.ID(),
			CidrBlock:   pulumi.String("172.16.0.0/24"),
			VswitchName: pulumi.String("vpc-123456"),
		})
		if err != nil {
			return err
		}
		_, err = gpdb.NewElasticInstance(ctx, "adbPgInstance", &gpdb.ElasticInstanceArgs{
			Engine:                pulumi.String("gpdb"),
			EngineVersion:         pulumi.String("6.0"),
			SegStorageType:        pulumi.String("cloud_essd"),
			SegNodeNum:            pulumi.Int(4),
			StorageSize:           pulumi.Int(50),
			InstanceSpec:          pulumi.String("2C16G"),
			DbInstanceDescription: pulumi.String("Created by terraform"),
			InstanceNetworkType:   pulumi.String("VPC"),
			PaymentType:           pulumi.String("PayAsYouGo"),
			VswitchId:             defaultSwitch.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

AnalyticDB for PostgreSQL can be imported using the id, e.g.

```sh

$ pulumi import alicloud:gpdb/elasticInstance:ElasticInstance adb_pg_instance gp-bpxxxxxxxxxxxxxx

```

func GetElasticInstance added in v3.5.0

func GetElasticInstance(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ElasticInstanceState, opts ...pulumi.ResourceOption) (*ElasticInstance, error)

GetElasticInstance gets an existing ElasticInstance 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 NewElasticInstance added in v3.5.0

func NewElasticInstance(ctx *pulumi.Context,
	name string, args *ElasticInstanceArgs, opts ...pulumi.ResourceOption) (*ElasticInstance, error)

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

func (*ElasticInstance) ElementType added in v3.5.0

func (*ElasticInstance) ElementType() reflect.Type

func (*ElasticInstance) ToElasticInstanceOutput added in v3.5.0

func (i *ElasticInstance) ToElasticInstanceOutput() ElasticInstanceOutput

func (*ElasticInstance) ToElasticInstanceOutputWithContext added in v3.5.0

func (i *ElasticInstance) ToElasticInstanceOutputWithContext(ctx context.Context) ElasticInstanceOutput

type ElasticInstanceArgs added in v3.5.0

type ElasticInstanceArgs struct {
	// The edition of the instance. Valid values: `Basic`, `HighAvailability`. Default value: `HighAvailability`.
	DbInstanceCategory pulumi.StringPtrInput
	// The description of ADB PG instance. It is a string of 2 to 256 characters.
	DbInstanceDescription pulumi.StringPtrInput
	// The ID of the encryption key. **Note:** If the `encryptionType` parameter is set to `CloudDisk`, you must specify this parameter to the encryption key that is in the same region as the disk that is specified by the EncryptionType parameter. Otherwise, leave this parameter empty.
	EncryptionKey pulumi.StringPtrInput
	// The type of the encryption. Valid values: `CloudDisk`. **Note:** Disk encryption cannot be disabled after it is enabled.
	EncryptionType pulumi.StringPtrInput
	// Database engine: `gpdb`.
	Engine pulumi.StringInput
	// Database version. Valid value is `6.0`.
	EngineVersion pulumi.StringInput
	// The network type of ADB PG instance. Only `VPC` supported now.
	InstanceNetworkType pulumi.StringPtrInput
	// The specification of segment nodes.
	// * When `dbInstanceCategory` is `HighAvailability`, Valid values: `2C16G`, `4C32G`, `16C128G`.
	// * When `dbInstanceCategory` is `Basic`, Valid values: `2C8G`, `4C16G`, `8C32G`, `16C64G`.
	InstanceSpec pulumi.StringInput
	// The subscription period. Valid values: [1~12]. It is valid when paymentType is `Subscription`.\
	// **NOTE:** Will not take effect after modifying `paymentDuration` for now, if you want to renew a PayAsYouGo instance, need to do in on aliyun console.
	PaymentDuration pulumi.IntPtrInput
	// The unit of the subscription period. Valid values: `Month`, `Year`. It is valid when paymentType is `Subscription`.\
	// **NOTE:** Will not take effect after modifying `paymentDurationUnit` for now, if you want to renew a PayAsYouGo instance, need to do in on aliyun console.
	PaymentDurationUnit pulumi.StringPtrInput
	// Valid values are `PayAsYouGo`, `Subscription`. Default to `PayAsYouGo`.
	PaymentType 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]).
	SecurityIpLists pulumi.StringArrayInput
	// The number of segment nodes. Minimum is `4`, max is `256`, step is `4`.
	SegNodeNum pulumi.IntInput
	// The disk type of segment nodes. Valid values: `cloudEssd`, `cloudEfficiency`.
	SegStorageType pulumi.StringInput
	// The storage capacity of per segment node. Unit: GB. Minimum is `50`, max is `4000`, step is `50`.
	StorageSize pulumi.IntInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
	// The virtual switch ID to launch ADB PG instances in one VPC.
	VswitchId pulumi.StringInput
	// The Zone to launch the ADB PG instance. If specified, must be consistent with the zone where the vswitch is located.
	ZoneId pulumi.StringPtrInput
}

The set of arguments for constructing a ElasticInstance resource.

func (ElasticInstanceArgs) ElementType added in v3.5.0

func (ElasticInstanceArgs) ElementType() reflect.Type

type ElasticInstanceArray added in v3.5.0

type ElasticInstanceArray []ElasticInstanceInput

func (ElasticInstanceArray) ElementType added in v3.5.0

func (ElasticInstanceArray) ElementType() reflect.Type

func (ElasticInstanceArray) ToElasticInstanceArrayOutput added in v3.5.0

func (i ElasticInstanceArray) ToElasticInstanceArrayOutput() ElasticInstanceArrayOutput

func (ElasticInstanceArray) ToElasticInstanceArrayOutputWithContext added in v3.5.0

func (i ElasticInstanceArray) ToElasticInstanceArrayOutputWithContext(ctx context.Context) ElasticInstanceArrayOutput

type ElasticInstanceArrayInput added in v3.5.0

type ElasticInstanceArrayInput interface {
	pulumi.Input

	ToElasticInstanceArrayOutput() ElasticInstanceArrayOutput
	ToElasticInstanceArrayOutputWithContext(context.Context) ElasticInstanceArrayOutput
}

ElasticInstanceArrayInput is an input type that accepts ElasticInstanceArray and ElasticInstanceArrayOutput values. You can construct a concrete instance of `ElasticInstanceArrayInput` via:

ElasticInstanceArray{ ElasticInstanceArgs{...} }

type ElasticInstanceArrayOutput added in v3.5.0

type ElasticInstanceArrayOutput struct{ *pulumi.OutputState }

func (ElasticInstanceArrayOutput) ElementType added in v3.5.0

func (ElasticInstanceArrayOutput) ElementType() reflect.Type

func (ElasticInstanceArrayOutput) Index added in v3.5.0

func (ElasticInstanceArrayOutput) ToElasticInstanceArrayOutput added in v3.5.0

func (o ElasticInstanceArrayOutput) ToElasticInstanceArrayOutput() ElasticInstanceArrayOutput

func (ElasticInstanceArrayOutput) ToElasticInstanceArrayOutputWithContext added in v3.5.0

func (o ElasticInstanceArrayOutput) ToElasticInstanceArrayOutputWithContext(ctx context.Context) ElasticInstanceArrayOutput

type ElasticInstanceInput added in v3.5.0

type ElasticInstanceInput interface {
	pulumi.Input

	ToElasticInstanceOutput() ElasticInstanceOutput
	ToElasticInstanceOutputWithContext(ctx context.Context) ElasticInstanceOutput
}

type ElasticInstanceMap added in v3.5.0

type ElasticInstanceMap map[string]ElasticInstanceInput

func (ElasticInstanceMap) ElementType added in v3.5.0

func (ElasticInstanceMap) ElementType() reflect.Type

func (ElasticInstanceMap) ToElasticInstanceMapOutput added in v3.5.0

func (i ElasticInstanceMap) ToElasticInstanceMapOutput() ElasticInstanceMapOutput

func (ElasticInstanceMap) ToElasticInstanceMapOutputWithContext added in v3.5.0

func (i ElasticInstanceMap) ToElasticInstanceMapOutputWithContext(ctx context.Context) ElasticInstanceMapOutput

type ElasticInstanceMapInput added in v3.5.0

type ElasticInstanceMapInput interface {
	pulumi.Input

	ToElasticInstanceMapOutput() ElasticInstanceMapOutput
	ToElasticInstanceMapOutputWithContext(context.Context) ElasticInstanceMapOutput
}

ElasticInstanceMapInput is an input type that accepts ElasticInstanceMap and ElasticInstanceMapOutput values. You can construct a concrete instance of `ElasticInstanceMapInput` via:

ElasticInstanceMap{ "key": ElasticInstanceArgs{...} }

type ElasticInstanceMapOutput added in v3.5.0

type ElasticInstanceMapOutput struct{ *pulumi.OutputState }

func (ElasticInstanceMapOutput) ElementType added in v3.5.0

func (ElasticInstanceMapOutput) ElementType() reflect.Type

func (ElasticInstanceMapOutput) MapIndex added in v3.5.0

func (ElasticInstanceMapOutput) ToElasticInstanceMapOutput added in v3.5.0

func (o ElasticInstanceMapOutput) ToElasticInstanceMapOutput() ElasticInstanceMapOutput

func (ElasticInstanceMapOutput) ToElasticInstanceMapOutputWithContext added in v3.5.0

func (o ElasticInstanceMapOutput) ToElasticInstanceMapOutputWithContext(ctx context.Context) ElasticInstanceMapOutput

type ElasticInstanceOutput added in v3.5.0

type ElasticInstanceOutput struct{ *pulumi.OutputState }

func (ElasticInstanceOutput) ElementType added in v3.5.0

func (ElasticInstanceOutput) ElementType() reflect.Type

func (ElasticInstanceOutput) ToElasticInstanceOutput added in v3.5.0

func (o ElasticInstanceOutput) ToElasticInstanceOutput() ElasticInstanceOutput

func (ElasticInstanceOutput) ToElasticInstanceOutputWithContext added in v3.5.0

func (o ElasticInstanceOutput) ToElasticInstanceOutputWithContext(ctx context.Context) ElasticInstanceOutput

type ElasticInstanceState added in v3.5.0

type ElasticInstanceState struct {
	// ADB PG instance connection string.
	ConnectionString pulumi.StringPtrInput
	// The edition of the instance. Valid values: `Basic`, `HighAvailability`. Default value: `HighAvailability`.
	DbInstanceCategory pulumi.StringPtrInput
	// The description of ADB PG instance. It is a string of 2 to 256 characters.
	DbInstanceDescription pulumi.StringPtrInput
	// The ID of the encryption key. **Note:** If the `encryptionType` parameter is set to `CloudDisk`, you must specify this parameter to the encryption key that is in the same region as the disk that is specified by the EncryptionType parameter. Otherwise, leave this parameter empty.
	EncryptionKey pulumi.StringPtrInput
	// The type of the encryption. Valid values: `CloudDisk`. **Note:** Disk encryption cannot be disabled after it is enabled.
	EncryptionType pulumi.StringPtrInput
	// Database engine: `gpdb`.
	Engine pulumi.StringPtrInput
	// Database version. Valid value is `6.0`.
	EngineVersion pulumi.StringPtrInput
	// The network type of ADB PG instance. Only `VPC` supported now.
	InstanceNetworkType pulumi.StringPtrInput
	// The specification of segment nodes.
	// * When `dbInstanceCategory` is `HighAvailability`, Valid values: `2C16G`, `4C32G`, `16C128G`.
	// * When `dbInstanceCategory` is `Basic`, Valid values: `2C8G`, `4C16G`, `8C32G`, `16C64G`.
	InstanceSpec pulumi.StringPtrInput
	// The subscription period. Valid values: [1~12]. It is valid when paymentType is `Subscription`.\
	// **NOTE:** Will not take effect after modifying `paymentDuration` for now, if you want to renew a PayAsYouGo instance, need to do in on aliyun console.
	PaymentDuration pulumi.IntPtrInput
	// The unit of the subscription period. Valid values: `Month`, `Year`. It is valid when paymentType is `Subscription`.\
	// **NOTE:** Will not take effect after modifying `paymentDurationUnit` for now, if you want to renew a PayAsYouGo instance, need to do in on aliyun console.
	PaymentDurationUnit pulumi.StringPtrInput
	// Valid values are `PayAsYouGo`, `Subscription`. Default to `PayAsYouGo`.
	PaymentType 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]).
	SecurityIpLists pulumi.StringArrayInput
	// The number of segment nodes. Minimum is `4`, max is `256`, step is `4`.
	SegNodeNum pulumi.IntPtrInput
	// The disk type of segment nodes. Valid values: `cloudEssd`, `cloudEfficiency`.
	SegStorageType pulumi.StringPtrInput
	// Instance status.
	Status pulumi.StringPtrInput
	// The storage capacity of per segment node. Unit: GB. Minimum is `50`, max is `4000`, step is `50`.
	StorageSize pulumi.IntPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
	// The virtual switch ID to launch ADB PG instances in one VPC.
	VswitchId pulumi.StringPtrInput
	// The Zone to launch the ADB PG instance. If specified, must be consistent with the zone where the vswitch is located.
	ZoneId pulumi.StringPtrInput
}

func (ElasticInstanceState) ElementType added in v3.5.0

func (ElasticInstanceState) ElementType() reflect.Type

type GetAccountsAccount added in v3.10.0

type GetAccountsAccount struct {
	// The description of the account.
	AccountDescription string `pulumi:"accountDescription"`
	// The name of the account.
	AccountName string `pulumi:"accountName"`
	// The ID of the instance.
	DbInstanceId string `pulumi:"dbInstanceId"`
	// The ID of the Account. Its value is same as Queue Name.
	Id string `pulumi:"id"`
	// The status of the account. Valid values: `Active`, `Creating` and `Deleting`.
	Status string `pulumi:"status"`
}

type GetAccountsAccountArgs added in v3.10.0

type GetAccountsAccountArgs struct {
	// The description of the account.
	AccountDescription pulumi.StringInput `pulumi:"accountDescription"`
	// The name of the account.
	AccountName pulumi.StringInput `pulumi:"accountName"`
	// The ID of the instance.
	DbInstanceId pulumi.StringInput `pulumi:"dbInstanceId"`
	// The ID of the Account. Its value is same as Queue Name.
	Id pulumi.StringInput `pulumi:"id"`
	// The status of the account. Valid values: `Active`, `Creating` and `Deleting`.
	Status pulumi.StringInput `pulumi:"status"`
}

func (GetAccountsAccountArgs) ElementType added in v3.10.0

func (GetAccountsAccountArgs) ElementType() reflect.Type

func (GetAccountsAccountArgs) ToGetAccountsAccountOutput added in v3.10.0

func (i GetAccountsAccountArgs) ToGetAccountsAccountOutput() GetAccountsAccountOutput

func (GetAccountsAccountArgs) ToGetAccountsAccountOutputWithContext added in v3.10.0

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

type GetAccountsAccountArray added in v3.10.0

type GetAccountsAccountArray []GetAccountsAccountInput

func (GetAccountsAccountArray) ElementType added in v3.10.0

func (GetAccountsAccountArray) ElementType() reflect.Type

func (GetAccountsAccountArray) ToGetAccountsAccountArrayOutput added in v3.10.0

func (i GetAccountsAccountArray) ToGetAccountsAccountArrayOutput() GetAccountsAccountArrayOutput

func (GetAccountsAccountArray) ToGetAccountsAccountArrayOutputWithContext added in v3.10.0

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

type GetAccountsAccountArrayInput added in v3.10.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 v3.10.0

type GetAccountsAccountArrayOutput struct{ *pulumi.OutputState }

func (GetAccountsAccountArrayOutput) ElementType added in v3.10.0

func (GetAccountsAccountArrayOutput) Index added in v3.10.0

func (GetAccountsAccountArrayOutput) ToGetAccountsAccountArrayOutput added in v3.10.0

func (o GetAccountsAccountArrayOutput) ToGetAccountsAccountArrayOutput() GetAccountsAccountArrayOutput

func (GetAccountsAccountArrayOutput) ToGetAccountsAccountArrayOutputWithContext added in v3.10.0

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

type GetAccountsAccountInput added in v3.10.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 v3.10.0

type GetAccountsAccountOutput struct{ *pulumi.OutputState }

func (GetAccountsAccountOutput) AccountDescription added in v3.10.0

func (o GetAccountsAccountOutput) AccountDescription() pulumi.StringOutput

The description of the account.

func (GetAccountsAccountOutput) AccountName added in v3.10.0

The name of the account.

func (GetAccountsAccountOutput) DbInstanceId added in v3.10.0

func (o GetAccountsAccountOutput) DbInstanceId() pulumi.StringOutput

The ID of the instance.

func (GetAccountsAccountOutput) ElementType added in v3.10.0

func (GetAccountsAccountOutput) ElementType() reflect.Type

func (GetAccountsAccountOutput) Id added in v3.10.0

The ID of the Account. Its value is same as Queue Name.

func (GetAccountsAccountOutput) Status added in v3.10.0

The status of the account. Valid values: `Active`, `Creating` and `Deleting`.

func (GetAccountsAccountOutput) ToGetAccountsAccountOutput added in v3.10.0

func (o GetAccountsAccountOutput) ToGetAccountsAccountOutput() GetAccountsAccountOutput

func (GetAccountsAccountOutput) ToGetAccountsAccountOutputWithContext added in v3.10.0

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

type GetAccountsArgs added in v3.10.0

type GetAccountsArgs struct {
	// The ID of the instance.
	DbInstanceId string `pulumi:"dbInstanceId"`
	// A list of Account IDs. Its element value is same as Account Name.
	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 account. Valid values: `Active`, `Creating` and `Deleting`.
	Status *string `pulumi:"status"`
}

A collection of arguments for invoking getAccounts.

type GetAccountsOutputArgs added in v3.10.0

type GetAccountsOutputArgs struct {
	// The ID of the instance.
	DbInstanceId pulumi.StringInput `pulumi:"dbInstanceId"`
	// A list of Account IDs. Its element value is same as Account Name.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// A regex string to filter results by Account name.
	NameRegex  pulumi.StringPtrInput `pulumi:"nameRegex"`
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// The status of the account. Valid values: `Active`, `Creating` and `Deleting`.
	Status pulumi.StringPtrInput `pulumi:"status"`
}

A collection of arguments for invoking getAccounts.

func (GetAccountsOutputArgs) ElementType added in v3.10.0

func (GetAccountsOutputArgs) ElementType() reflect.Type

type GetAccountsResult added in v3.10.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 v3.10.0

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

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

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

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/gpdb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ids, err := gpdb.GetAccounts(ctx, &gpdb.GetAccountsArgs{
			DbInstanceId: "example_value",
			Ids: []string{
				"my-Account-1",
				"my-Account-2",
			},
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("gpdbAccountId1", ids.Accounts[0].Id)
		nameRegex, err := gpdb.GetAccounts(ctx, &gpdb.GetAccountsArgs{
			DbInstanceId: "example_value",
			NameRegex:    pulumi.StringRef("^my-Account"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("gpdbAccountId2", nameRegex.Accounts[0].Id)
		return nil
	})
}

```

type GetAccountsResultOutput added in v3.10.0

type GetAccountsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getAccounts.

func GetAccountsOutput added in v3.10.0

func GetAccountsOutput(ctx *pulumi.Context, args GetAccountsOutputArgs, opts ...pulumi.InvokeOption) GetAccountsResultOutput

func (GetAccountsResultOutput) Accounts added in v3.10.0

func (GetAccountsResultOutput) DbInstanceId added in v3.10.0

func (o GetAccountsResultOutput) DbInstanceId() pulumi.StringOutput

func (GetAccountsResultOutput) ElementType added in v3.10.0

func (GetAccountsResultOutput) ElementType() reflect.Type

func (GetAccountsResultOutput) Id added in v3.10.0

The provider-assigned unique ID for this managed resource.

func (GetAccountsResultOutput) Ids added in v3.10.0

func (GetAccountsResultOutput) NameRegex added in v3.10.0

func (GetAccountsResultOutput) Names added in v3.10.0

func (GetAccountsResultOutput) OutputFile added in v3.10.0

func (GetAccountsResultOutput) Status added in v3.10.0

func (GetAccountsResultOutput) ToGetAccountsResultOutput added in v3.10.0

func (o GetAccountsResultOutput) ToGetAccountsResultOutput() GetAccountsResultOutput

func (GetAccountsResultOutput) ToGetAccountsResultOutputWithContext added in v3.10.0

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

type GetInstancesArgs

type GetInstancesArgs struct {
	// Instance availability zone.
	AvailabilityZone *string `pulumi:"availabilityZone"`
	// A list of instance IDs.
	Ids []string `pulumi:"ids"`
	// A regex string to apply to the instance name.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
	// A mapping of tags to assign to the resource.
	Tags map[string]interface{} `pulumi:"tags"`
	// 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 {
	// Instance availability zone.
	AvailabilityZone string `pulumi:"availabilityZone"`
	// Billing method. Value options are `PostPaid` for  Pay-As-You-Go and `PrePaid` for yearly or monthly subscription.
	ChargeType string `pulumi:"chargeType"`
	// The time when you create an instance. The format is YYYY-MM-DDThh:mm:ssZ, such as 2011-05-30T12:11:4Z.
	CreationTime string `pulumi:"creationTime"`
	// The description of an instance.
	Description string `pulumi:"description"`
	// Database engine type. Supported option is `gpdb`.
	Engine string `pulumi:"engine"`
	// Database engine version.
	EngineVersion string `pulumi:"engineVersion"`
	// The instance id.
	Id string `pulumi:"id"`
	// The group type.
	InstanceClass string `pulumi:"instanceClass"`
	// The number of groups.
	InstanceGroupCount  string `pulumi:"instanceGroupCount"`
	InstanceNetworkType string `pulumi:"instanceNetworkType"`
	// Region ID the instance belongs to.
	RegionId string `pulumi:"regionId"`
	// Status of the instance.
	Status string `pulumi:"status"`
}

type GetInstancesInstanceArgs

type GetInstancesInstanceArgs struct {
	// Instance availability zone.
	AvailabilityZone pulumi.StringInput `pulumi:"availabilityZone"`
	// Billing method. Value options are `PostPaid` for  Pay-As-You-Go and `PrePaid` for yearly or monthly subscription.
	ChargeType pulumi.StringInput `pulumi:"chargeType"`
	// The time when you create an instance. The format is YYYY-MM-DDThh:mm:ssZ, such as 2011-05-30T12:11:4Z.
	CreationTime pulumi.StringInput `pulumi:"creationTime"`
	// The description of an instance.
	Description pulumi.StringInput `pulumi:"description"`
	// Database engine type. Supported option is `gpdb`.
	Engine pulumi.StringInput `pulumi:"engine"`
	// Database engine version.
	EngineVersion pulumi.StringInput `pulumi:"engineVersion"`
	// The instance id.
	Id pulumi.StringInput `pulumi:"id"`
	// The group type.
	InstanceClass pulumi.StringInput `pulumi:"instanceClass"`
	// The number of groups.
	InstanceGroupCount  pulumi.StringInput `pulumi:"instanceGroupCount"`
	InstanceNetworkType pulumi.StringInput `pulumi:"instanceNetworkType"`
	// Region ID the instance belongs to.
	RegionId pulumi.StringInput `pulumi:"regionId"`
	// Status of the instance.
	Status pulumi.StringInput `pulumi:"status"`
}

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

Instance availability zone.

func (GetInstancesInstanceOutput) ChargeType

Billing method. Value options are `PostPaid` for Pay-As-You-Go and `PrePaid` for yearly or monthly subscription.

func (GetInstancesInstanceOutput) CreationTime

The time when you create an instance. The format is YYYY-MM-DDThh:mm:ssZ, such as 2011-05-30T12:11:4Z.

func (GetInstancesInstanceOutput) Description

The description of an instance.

func (GetInstancesInstanceOutput) ElementType

func (GetInstancesInstanceOutput) ElementType() reflect.Type

func (GetInstancesInstanceOutput) Engine

Database engine type. Supported option is `gpdb`.

func (GetInstancesInstanceOutput) EngineVersion

Database engine version.

func (GetInstancesInstanceOutput) Id

The instance id.

func (GetInstancesInstanceOutput) InstanceClass

The group type.

func (GetInstancesInstanceOutput) InstanceGroupCount

func (o GetInstancesInstanceOutput) InstanceGroupCount() pulumi.StringOutput

The number of groups.

func (GetInstancesInstanceOutput) InstanceNetworkType

func (o GetInstancesInstanceOutput) InstanceNetworkType() pulumi.StringOutput

func (GetInstancesInstanceOutput) RegionId

Region ID the instance belongs to.

func (GetInstancesInstanceOutput) Status

Status of the instance.

func (GetInstancesInstanceOutput) ToGetInstancesInstanceOutput

func (o GetInstancesInstanceOutput) ToGetInstancesInstanceOutput() GetInstancesInstanceOutput

func (GetInstancesInstanceOutput) ToGetInstancesInstanceOutputWithContext

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

type GetInstancesOutputArgs added in v3.9.0

type GetInstancesOutputArgs struct {
	// Instance availability zone.
	AvailabilityZone pulumi.StringPtrInput `pulumi:"availabilityZone"`
	// A list of instance IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// A regex string to apply to the instance name.
	NameRegex  pulumi.StringPtrInput `pulumi:"nameRegex"`
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput `pulumi:"tags"`
	// Used to retrieve instances belong to specified `vswitch` resources.
	VswitchId pulumi.StringPtrInput `pulumi:"vswitchId"`
}

A collection of arguments for invoking getInstances.

func (GetInstancesOutputArgs) ElementType added in v3.9.0

func (GetInstancesOutputArgs) ElementType() reflect.Type

type GetInstancesResult

type GetInstancesResult struct {
	// Instance availability zone.
	AvailabilityZone *string `pulumi:"availabilityZone"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The ids list of AnalyticDB for PostgreSQL instances.
	Ids []string `pulumi:"ids"`
	// A list of AnalyticDB for PostgreSQL instances. Its every element contains the following attributes:
	Instances []GetInstancesInstance `pulumi:"instances"`
	NameRegex *string                `pulumi:"nameRegex"`
	// The names list of AnalyticDB for PostgreSQL instance.
	Names      []string               `pulumi:"names"`
	OutputFile *string                `pulumi:"outputFile"`
	Tags       map[string]interface{} `pulumi:"tags"`
	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 `gpdb.getInstances` data source provides a collection of AnalyticDB for PostgreSQL instances available in Alicloud account. Filters support regular expression for the instance name or availability_zone.

> **NOTE:** Available in 1.47.0+

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/gpdb"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		gpdb, err := gpdb.GetInstances(ctx, &gpdb.GetInstancesArgs{
			AvailabilityZone: pulumi.StringRef("cn-beijing-c"),
			NameRegex:        pulumi.StringRef("gp-.+\\d+"),
			OutputFile:       pulumi.StringRef("instances.txt"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("instanceId", gpdb.Instances[0].Id)
		return nil
	})
}

```

type GetInstancesResultOutput added in v3.9.0

type GetInstancesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getInstances.

func GetInstancesOutput added in v3.9.0

func GetInstancesOutput(ctx *pulumi.Context, args GetInstancesOutputArgs, opts ...pulumi.InvokeOption) GetInstancesResultOutput

func (GetInstancesResultOutput) AvailabilityZone added in v3.9.0

func (o GetInstancesResultOutput) AvailabilityZone() pulumi.StringPtrOutput

Instance availability zone.

func (GetInstancesResultOutput) ElementType added in v3.9.0

func (GetInstancesResultOutput) ElementType() reflect.Type

func (GetInstancesResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetInstancesResultOutput) Ids added in v3.9.0

The ids list of AnalyticDB for PostgreSQL instances.

func (GetInstancesResultOutput) Instances added in v3.9.0

A list of AnalyticDB for PostgreSQL instances. Its every element contains the following attributes:

func (GetInstancesResultOutput) NameRegex added in v3.9.0

func (GetInstancesResultOutput) Names added in v3.9.0

The names list of AnalyticDB for PostgreSQL instance.

func (GetInstancesResultOutput) OutputFile added in v3.9.0

func (GetInstancesResultOutput) Tags added in v3.9.0

func (GetInstancesResultOutput) ToGetInstancesResultOutput added in v3.9.0

func (o GetInstancesResultOutput) ToGetInstancesResultOutput() GetInstancesResultOutput

func (GetInstancesResultOutput) ToGetInstancesResultOutputWithContext added in v3.9.0

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

func (GetInstancesResultOutput) VswitchId added in v3.9.0

type GetZonesArgs

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

A collection of arguments for invoking getZones.

type GetZonesOutputArgs added in v3.9.0

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

A collection of arguments for invoking getZones.

func (GetZonesOutputArgs) ElementType added in v3.9.0

func (GetZonesOutputArgs) ElementType() reflect.Type

type GetZonesResult

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

A collection of values returned by getZones.

func GetZones

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

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

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

type GetZonesResultOutput added in v3.9.0

type GetZonesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getZones.

func GetZonesOutput added in v3.9.0

func GetZonesOutput(ctx *pulumi.Context, args GetZonesOutputArgs, opts ...pulumi.InvokeOption) GetZonesResultOutput

func (GetZonesResultOutput) ElementType added in v3.9.0

func (GetZonesResultOutput) ElementType() reflect.Type

func (GetZonesResultOutput) Id added in v3.9.0

The provider-assigned unique ID for this managed resource.

func (GetZonesResultOutput) Ids added in v3.9.0

A list of zone IDs.

func (GetZonesResultOutput) Multi added in v3.9.0

func (GetZonesResultOutput) OutputFile added in v3.9.0

func (GetZonesResultOutput) ToGetZonesResultOutput added in v3.9.0

func (o GetZonesResultOutput) ToGetZonesResultOutput() GetZonesResultOutput

func (GetZonesResultOutput) ToGetZonesResultOutputWithContext added in v3.9.0

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

func (GetZonesResultOutput) Zones added in v3.9.0

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

type GetZonesZone

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

type GetZonesZoneArgs

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

func (GetZonesZoneArgs) ElementType

func (GetZonesZoneArgs) ElementType() reflect.Type

func (GetZonesZoneArgs) ToGetZonesZoneOutput

func (i GetZonesZoneArgs) ToGetZonesZoneOutput() GetZonesZoneOutput

func (GetZonesZoneArgs) ToGetZonesZoneOutputWithContext

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

type GetZonesZoneArray

type GetZonesZoneArray []GetZonesZoneInput

func (GetZonesZoneArray) ElementType

func (GetZonesZoneArray) ElementType() reflect.Type

func (GetZonesZoneArray) ToGetZonesZoneArrayOutput

func (i GetZonesZoneArray) ToGetZonesZoneArrayOutput() GetZonesZoneArrayOutput

func (GetZonesZoneArray) ToGetZonesZoneArrayOutputWithContext

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

type GetZonesZoneArrayInput

type GetZonesZoneArrayInput interface {
	pulumi.Input

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

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

GetZonesZoneArray{ GetZonesZoneArgs{...} }

type GetZonesZoneArrayOutput

type GetZonesZoneArrayOutput struct{ *pulumi.OutputState }

func (GetZonesZoneArrayOutput) ElementType

func (GetZonesZoneArrayOutput) ElementType() reflect.Type

func (GetZonesZoneArrayOutput) Index

func (GetZonesZoneArrayOutput) ToGetZonesZoneArrayOutput

func (o GetZonesZoneArrayOutput) ToGetZonesZoneArrayOutput() GetZonesZoneArrayOutput

func (GetZonesZoneArrayOutput) ToGetZonesZoneArrayOutputWithContext

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

type GetZonesZoneInput

type GetZonesZoneInput interface {
	pulumi.Input

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

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

GetZonesZoneArgs{...}

type GetZonesZoneOutput

type GetZonesZoneOutput struct{ *pulumi.OutputState }

func (GetZonesZoneOutput) ElementType

func (GetZonesZoneOutput) ElementType() reflect.Type

func (GetZonesZoneOutput) Id

ID of the zone.

func (GetZonesZoneOutput) MultiZoneIds

func (o GetZonesZoneOutput) MultiZoneIds() pulumi.StringArrayOutput

A list of zone ids in which the multi zone.

func (GetZonesZoneOutput) ToGetZonesZoneOutput

func (o GetZonesZoneOutput) ToGetZonesZoneOutput() GetZonesZoneOutput

func (GetZonesZoneOutput) ToGetZonesZoneOutputWithContext

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

type Instance

type Instance struct {
	pulumi.CustomResourceState

	AvailabilityZone pulumi.StringOutput `pulumi:"availabilityZone"`
	// The name of DB instance. It a string of 2 to 256 characters.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Database engine: gpdb. System Default value: gpdb.
	Engine pulumi.StringOutput `pulumi:"engine"`
	// Database version. Value options can refer to the latest docs [CreateDBInstance](https://www.alibabacloud.com/help/doc-detail/86908.htm) `EngineVersion`.
	EngineVersion pulumi.StringOutput `pulumi:"engineVersion"`
	// Valid values are `PrePaid`, `PostPaid`,System default to `PostPaid`.
	InstanceChargeType pulumi.StringOutput `pulumi:"instanceChargeType"`
	// Instance specification. see [Instance specifications](https://www.alibabacloud.com/help/doc-detail/86942.htm).
	InstanceClass pulumi.StringOutput `pulumi:"instanceClass"`
	// The number of groups. Valid values: [2,4,8,16,32]
	InstanceGroupCount pulumi.StringOutput `pulumi:"instanceGroupCount"`
	// 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]).
	SecurityIpLists pulumi.StringArrayOutput `pulumi:"securityIpLists"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapOutput `pulumi:"tags"`
	// The virtual switch ID to launch DB instances in one VPC.
	VswitchId pulumi.StringOutput `pulumi:"vswitchId"`
}

Provides a AnalyticDB for PostgreSQL instance resource supports replica set instances only. the AnalyticDB for PostgreSQL provides stable, reliable, and automatic scalable database services. You can see detail product introduction [here](https://www.alibabacloud.com/help/doc-detail/35387.htm)

> **NOTE:** Available in 1.47.0+

> **NOTE:** The following regions don't support create Classic network Gpdb instance. [`ap-southeast-2`,`ap-southeast-3`,`ap-southeast-5`,`ap-south-1`,`me-east-1`,`ap-northeast-1`,`eu-west-1`,`us-east-1`,`eu-central-1`,`cn-shanghai-finance-1`,`cn-shenzhen-finance-1`,`cn-hangzhou-finance`]

> **NOTE:** Create instance or change instance would cost 10~15 minutes. Please make full preparation.

> **NOTE:** This resource is used to manage a Reserved Storage Mode instance, and creating a new reserved storage mode instance is no longer supported since v1.127.0. You can still use this resource to manage the instance which has been already created, but can not create a new one.

## Example Usage ### Create a Gpdb instance

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		defaultZones, err := alicloud.GetZones(ctx, &GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("Gpdb"),
		}, 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{
			ZoneId:      pulumi.String(defaultZones.Zones[0].Id),
			VpcId:       defaultNetwork.ID(),
			CidrBlock:   pulumi.String("172.16.0.0/24"),
			VswitchName: pulumi.String("vpc-123456"),
		})
		if err != nil {
			return err
		}
		_, err = gpdb.NewInstance(ctx, "example", &gpdb.InstanceArgs{
			Description:        pulumi.String("tf-gpdb-test"),
			Engine:             pulumi.String("gpdb"),
			EngineVersion:      pulumi.String("4.3"),
			InstanceClass:      pulumi.String("gpdb.group.segsdx2"),
			InstanceGroupCount: pulumi.String("2"),
			VswitchId:          defaultSwitch.ID(),
			SecurityIpLists: pulumi.StringArray{
				pulumi.String("10.168.1.12"),
				pulumi.String("100.69.7.112"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

AnalyticDB for PostgreSQL can be imported using the id, e.g.

```sh

$ pulumi import alicloud:gpdb/instance:Instance example gp-bp1291daeda44194

```

func GetInstance

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

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

func NewInstance

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

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

func (*Instance) ElementType

func (*Instance) ElementType() reflect.Type

func (*Instance) ToInstanceOutput

func (i *Instance) ToInstanceOutput() InstanceOutput

func (*Instance) ToInstanceOutputWithContext

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

type InstanceArgs

type InstanceArgs struct {
	AvailabilityZone pulumi.StringPtrInput
	// The name of DB instance. It a string of 2 to 256 characters.
	Description pulumi.StringPtrInput
	// Database engine: gpdb. System Default value: gpdb.
	Engine pulumi.StringInput
	// Database version. Value options can refer to the latest docs [CreateDBInstance](https://www.alibabacloud.com/help/doc-detail/86908.htm) `EngineVersion`.
	EngineVersion pulumi.StringInput
	// Valid values are `PrePaid`, `PostPaid`,System default to `PostPaid`.
	InstanceChargeType pulumi.StringPtrInput
	// Instance specification. see [Instance specifications](https://www.alibabacloud.com/help/doc-detail/86942.htm).
	InstanceClass pulumi.StringInput
	// The number of groups. Valid values: [2,4,8,16,32]
	InstanceGroupCount pulumi.StringInput
	// 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]).
	SecurityIpLists pulumi.StringArrayInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
	// The virtual switch ID to launch DB instances in one VPC.
	VswitchId pulumi.StringPtrInput
}

The set of arguments for constructing a Instance resource.

func (InstanceArgs) ElementType

func (InstanceArgs) ElementType() reflect.Type

type InstanceArray

type InstanceArray []InstanceInput

func (InstanceArray) ElementType

func (InstanceArray) ElementType() reflect.Type

func (InstanceArray) ToInstanceArrayOutput

func (i InstanceArray) ToInstanceArrayOutput() InstanceArrayOutput

func (InstanceArray) ToInstanceArrayOutputWithContext

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

type InstanceArrayInput

type InstanceArrayInput interface {
	pulumi.Input

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

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

InstanceArray{ InstanceArgs{...} }

type InstanceArrayOutput

type InstanceArrayOutput struct{ *pulumi.OutputState }

func (InstanceArrayOutput) ElementType

func (InstanceArrayOutput) ElementType() reflect.Type

func (InstanceArrayOutput) Index

func (InstanceArrayOutput) ToInstanceArrayOutput

func (o InstanceArrayOutput) ToInstanceArrayOutput() InstanceArrayOutput

func (InstanceArrayOutput) ToInstanceArrayOutputWithContext

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

type InstanceInput

type InstanceInput interface {
	pulumi.Input

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

type InstanceMap

type InstanceMap map[string]InstanceInput

func (InstanceMap) ElementType

func (InstanceMap) ElementType() reflect.Type

func (InstanceMap) ToInstanceMapOutput

func (i InstanceMap) ToInstanceMapOutput() InstanceMapOutput

func (InstanceMap) ToInstanceMapOutputWithContext

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

type InstanceMapInput

type InstanceMapInput interface {
	pulumi.Input

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

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

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

type InstanceMapOutput

type InstanceMapOutput struct{ *pulumi.OutputState }

func (InstanceMapOutput) ElementType

func (InstanceMapOutput) ElementType() reflect.Type

func (InstanceMapOutput) MapIndex

func (InstanceMapOutput) ToInstanceMapOutput

func (o InstanceMapOutput) ToInstanceMapOutput() InstanceMapOutput

func (InstanceMapOutput) ToInstanceMapOutputWithContext

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

type InstanceOutput

type InstanceOutput struct{ *pulumi.OutputState }

func (InstanceOutput) ElementType

func (InstanceOutput) ElementType() reflect.Type

func (InstanceOutput) ToInstanceOutput

func (o InstanceOutput) ToInstanceOutput() InstanceOutput

func (InstanceOutput) ToInstanceOutputWithContext

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

type InstanceState

type InstanceState struct {
	AvailabilityZone pulumi.StringPtrInput
	// The name of DB instance. It a string of 2 to 256 characters.
	Description pulumi.StringPtrInput
	// Database engine: gpdb. System Default value: gpdb.
	Engine pulumi.StringPtrInput
	// Database version. Value options can refer to the latest docs [CreateDBInstance](https://www.alibabacloud.com/help/doc-detail/86908.htm) `EngineVersion`.
	EngineVersion pulumi.StringPtrInput
	// Valid values are `PrePaid`, `PostPaid`,System default to `PostPaid`.
	InstanceChargeType pulumi.StringPtrInput
	// Instance specification. see [Instance specifications](https://www.alibabacloud.com/help/doc-detail/86942.htm).
	InstanceClass pulumi.StringPtrInput
	// The number of groups. Valid values: [2,4,8,16,32]
	InstanceGroupCount 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]).
	SecurityIpLists pulumi.StringArrayInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
	// The virtual switch ID to launch DB instances in one VPC.
	VswitchId pulumi.StringPtrInput
}

func (InstanceState) ElementType

func (InstanceState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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