gpdb

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 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/v2/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/gpdb"
"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 := "Gpdb"
		if param := cfg.Get("creation"); param != "" {
			creation = param
		}
		name := "gpdbConnectionBasic"
		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),
		})
		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 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 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 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 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 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 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/v2/go/alicloud/gpdb"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

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

```

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

## Example Usage ### Create a Gpdb instance

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "Gpdb"
		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{
			AvailabilityZone: 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 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 {
	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.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 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 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 {
	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