drds

package
v3.55.0 Latest Latest
Warning

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

Go to latest
Published: Apr 30, 2024 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 GetInstancesArgs

type GetInstancesArgs struct {
	// A regex string to filter results by instance description.
	DescriptionRegex *string `pulumi:"descriptionRegex"`
	// A list of DRDS instance IDs.
	Ids []string `pulumi:"ids"`
	// A regex string to filter results by instance description. It is deprecated since v1.91.0 and will be removed in a future release, please use 'description_regex' instead.
	//
	// Deprecated: Field 'name_regex' is deprecated and will be removed in a future release. Please use 'description_regex' instead.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
}

A collection of arguments for invoking getInstances.

type GetInstancesInstance

type GetInstancesInstance struct {
	// (Available in 1.196.0+) The connection string of the DRDS instance.
	ConnectionString string `pulumi:"connectionString"`
	// Creation time of the instance.
	CreateTime int `pulumi:"createTime"`
	// The DRDS instance description.
	Description string `pulumi:"description"`
	// The ID of the DRDS instance.
	Id string `pulumi:"id"`
	// `Classic` for public classic network or `VPC` for private network.
	NetworkType string `pulumi:"networkType"`
	// (Available in 1.196.0+) The connection port of the DRDS instance.
	Port string `pulumi:"port"`
	// Status of the instance.
	Status string `pulumi:"status"`
	// The DRDS Instance type.
	Type string `pulumi:"type"`
	// The DRDS Instance version.
	Version int `pulumi:"version"`
	// Zone ID the instance belongs to.
	ZoneId string `pulumi:"zoneId"`
}

type GetInstancesInstanceArgs

type GetInstancesInstanceArgs struct {
	// (Available in 1.196.0+) The connection string of the DRDS instance.
	ConnectionString pulumi.StringInput `pulumi:"connectionString"`
	// Creation time of the instance.
	CreateTime pulumi.IntInput `pulumi:"createTime"`
	// The DRDS instance description.
	Description pulumi.StringInput `pulumi:"description"`
	// The ID of the DRDS instance.
	Id pulumi.StringInput `pulumi:"id"`
	// `Classic` for public classic network or `VPC` for private network.
	NetworkType pulumi.StringInput `pulumi:"networkType"`
	// (Available in 1.196.0+) The connection port of the DRDS instance.
	Port pulumi.StringInput `pulumi:"port"`
	// Status of the instance.
	Status pulumi.StringInput `pulumi:"status"`
	// The DRDS Instance type.
	Type pulumi.StringInput `pulumi:"type"`
	// The DRDS Instance version.
	Version pulumi.IntInput `pulumi:"version"`
	// Zone ID the instance belongs to.
	ZoneId pulumi.StringInput `pulumi:"zoneId"`
}

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) ConnectionString added in v3.29.0

func (o GetInstancesInstanceOutput) ConnectionString() pulumi.StringOutput

(Available in 1.196.0+) The connection string of the DRDS instance.

func (GetInstancesInstanceOutput) CreateTime

Creation time of the instance.

func (GetInstancesInstanceOutput) Description

The DRDS instance description.

func (GetInstancesInstanceOutput) ElementType

func (GetInstancesInstanceOutput) ElementType() reflect.Type

func (GetInstancesInstanceOutput) Id

The ID of the DRDS instance.

func (GetInstancesInstanceOutput) NetworkType

`Classic` for public classic network or `VPC` for private network.

func (GetInstancesInstanceOutput) Port added in v3.29.0

(Available in 1.196.0+) The connection port of the DRDS instance.

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

func (GetInstancesInstanceOutput) Type

The DRDS Instance type.

func (GetInstancesInstanceOutput) Version

The DRDS Instance version.

func (GetInstancesInstanceOutput) ZoneId

Zone ID the instance belongs to.

type GetInstancesOutputArgs added in v3.9.0

type GetInstancesOutputArgs struct {
	// A regex string to filter results by instance description.
	DescriptionRegex pulumi.StringPtrInput `pulumi:"descriptionRegex"`
	// A list of DRDS instance IDs.
	Ids pulumi.StringArrayInput `pulumi:"ids"`
	// A regex string to filter results by instance description. It is deprecated since v1.91.0 and will be removed in a future release, please use 'description_regex' instead.
	//
	// Deprecated: Field 'name_regex' is deprecated and will be removed in a future release. Please use 'description_regex' instead.
	NameRegex  pulumi.StringPtrInput `pulumi:"nameRegex"`
	OutputFile pulumi.StringPtrInput `pulumi:"outputFile"`
}

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 {
	DescriptionRegex *string `pulumi:"descriptionRegex"`
	// A list of DRDS descriptions.
	Descriptions []string `pulumi:"descriptions"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of DRDS instance IDs.
	Ids []string `pulumi:"ids"`
	// A list of DRDS instances.
	Instances []GetInstancesInstance `pulumi:"instances"`
	// Deprecated: Field 'name_regex' is deprecated and will be removed in a future release. Please use 'description_regex' instead.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
}

A collection of values returned by getInstances.

func GetInstances

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

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

> **NOTE:** Available in 1.35.0+.

## Example Usage

```go package main

import (

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

)

func main() {
   pulumi.Run(func(ctx *pulumi.Context) error {
       drdsInstancesDs, err := drds.GetInstances(ctx, &drds.GetInstancesArgs{
           NameRegex: pulumi.StringRef("drds-\\d+"),
           Ids: []string{
               "drdsabc123456",
           },
       }, nil)
       if err != nil {
           return err
       }
       ctx.Export("firstDbInstanceId", drdsInstancesDs.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) DescriptionRegex added in v3.9.0

func (o GetInstancesResultOutput) DescriptionRegex() pulumi.StringPtrOutput

func (GetInstancesResultOutput) Descriptions added in v3.9.0

A list of DRDS descriptions.

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

A list of DRDS instance IDs.

func (GetInstancesResultOutput) Instances added in v3.9.0

A list of DRDS instances.

func (GetInstancesResultOutput) NameRegex deprecated added in v3.9.0

Deprecated: Field 'name_regex' is deprecated and will be removed in a future release. Please use 'description_regex' instead.

func (GetInstancesResultOutput) OutputFile 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

type Instance

type Instance struct {
	pulumi.CustomResourceState

	// (Available in 1.196.0+) The connection string of the DRDS instance.
	ConnectionString pulumi.StringOutput `pulumi:"connectionString"`
	// Description of the DRDS instance, This description can have a string of 2 to 256 characters.
	Description pulumi.StringOutput `pulumi:"description"`
	// Valid values are `PrePaid`, `PostPaid`, Default to `PostPaid`.
	InstanceChargeType pulumi.StringPtrOutput `pulumi:"instanceChargeType"`
	// The parameter of the instance series. **NOTE:**  `drds.sn1.4c8g`,`drds.sn1.8c16g`,`drds.sn1.16c32g`,`drds.sn1.32c64g` are no longer supported. Valid values:
	// - `drds.sn2.4c16g` Starter Edition.
	// - `drds.sn2.8c32g` Standard Edition.
	// - `drds.sn2.16c64g` Enterprise Edition.
	InstanceSeries pulumi.StringOutput `pulumi:"instanceSeries"`
	// The MySQL version supported by the instance, with the following range of values. `5`: Fully compatible with MySQL 5.x (default) `8`: Fully compatible with MySQL 8.0. This parameter takes effect when the primary instance is created, and the read-only instance has the same MySQL version as the primary instance by default.
	MysqlVersion pulumi.IntOutput `pulumi:"mysqlVersion"`
	// (Available in 1.196.0+) The connection port of the DRDS instance.
	Port pulumi.StringOutput `pulumi:"port"`
	// User-defined DRDS instance specification. Value range:
	// - `drds.sn1.4c8g` for DRDS instance Starter version;
	// - value range : `drds.sn1.4c8g.8c16g`, `drds.sn1.4c8g.16c32g`, `drds.sn1.4c8g.32c64g`, `drds.sn1.4c8g.64c128g`
	// - `drds.sn1.8c16g` for DRDS instance Standard edition;
	// - value range : `drds.sn1.8c16g.16c32g`, `drds.sn1.8c16g.32c64g`, `drds.sn1.8c16g.64c128g`
	// - `drds.sn1.16c32g` for DRDS instance Enterprise Edition;
	// - value range : `drds.sn1.16c32g.32c64g`, `drds.sn1.16c32g.64c128g`
	// - `drds.sn1.32c64g` for DRDS instance Extreme Edition;
	// - value range : `drds.sn1.32c64g.128c256g`
	Specification pulumi.StringOutput `pulumi:"specification"`
	// The id of the VPC.
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
	// The VSwitch ID to launch in.
	VswitchId pulumi.StringOutput `pulumi:"vswitchId"`
	// The Zone to launch the DRDS instance.
	ZoneId pulumi.StringOutput `pulumi:"zoneId"`
}

Distributed Relational Database Service (DRDS) is a lightweight (stateless), flexible, stable, and efficient middleware product independently developed by Alibaba Group to resolve scalability issues with single-host relational databases. With its compatibility with MySQL protocols and syntaxes, DRDS enables database/table sharding, smooth scaling, configuration upgrade/downgrade, transparent read/write splitting, and distributed transactions, providing O&M capabilities for distributed databases throughout their entire lifecycle.

For information about DRDS and how to use it, see [What is DRDS](https://www.alibabacloud.com/help/product/29657.htm).

> **NOTE:** At present, DRDS instance only can be supported in the regions: cn-shenzhen, cn-beijing, cn-hangzhou, cn-hongkong, cn-qingdao, ap-southeast-1.

> **NOTE:** Currently, this resource only support `Domestic Site Account`.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/drds"
"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 {
		_, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		cfg := config.New(ctx, "")
		instanceSeries := "drds.sn1.4c8g"
		if param := cfg.Get("instanceSeries"); param != "" {
			instanceSeries = param
		}
		defaultGetNetworks, err := vpc.GetNetworks(ctx, &vpc.GetNetworksArgs{
			NameRegex: pulumi.StringRef("default-NODELETING"),
		}, nil)
		if err != nil {
			return err
		}
		defaultGetSwitches, err := vpc.GetSwitches(ctx, &vpc.GetSwitchesArgs{
			VpcId: pulumi.StringRef(defaultGetNetworks.Ids[0]),
		}, nil)
		if err != nil {
			return err
		}
		_, err = drds.NewInstance(ctx, "default", &drds.InstanceArgs{
			Description:        pulumi.String("drds instance"),
			InstanceChargeType: pulumi.String("PostPaid"),
			ZoneId:             pulumi.String(defaultGetSwitches.Vswitches[0].ZoneId),
			VswitchId:          pulumi.String(defaultGetSwitches.Vswitches[0].Id),
			InstanceSeries:     pulumi.String(instanceSeries),
			Specification:      pulumi.String("drds.sn1.4c8g.8C16G"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Distributed Relational Database Service (DRDS) can be imported using the id, e.g.

```sh $ pulumi import alicloud:drds/instance:Instance example drds-abc123456 ```

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 {
	// Description of the DRDS instance, This description can have a string of 2 to 256 characters.
	Description pulumi.StringInput
	// Valid values are `PrePaid`, `PostPaid`, Default to `PostPaid`.
	InstanceChargeType pulumi.StringPtrInput
	// The parameter of the instance series. **NOTE:**  `drds.sn1.4c8g`,`drds.sn1.8c16g`,`drds.sn1.16c32g`,`drds.sn1.32c64g` are no longer supported. Valid values:
	// - `drds.sn2.4c16g` Starter Edition.
	// - `drds.sn2.8c32g` Standard Edition.
	// - `drds.sn2.16c64g` Enterprise Edition.
	InstanceSeries pulumi.StringInput
	// The MySQL version supported by the instance, with the following range of values. `5`: Fully compatible with MySQL 5.x (default) `8`: Fully compatible with MySQL 8.0. This parameter takes effect when the primary instance is created, and the read-only instance has the same MySQL version as the primary instance by default.
	MysqlVersion pulumi.IntPtrInput
	// User-defined DRDS instance specification. Value range:
	// - `drds.sn1.4c8g` for DRDS instance Starter version;
	// - value range : `drds.sn1.4c8g.8c16g`, `drds.sn1.4c8g.16c32g`, `drds.sn1.4c8g.32c64g`, `drds.sn1.4c8g.64c128g`
	// - `drds.sn1.8c16g` for DRDS instance Standard edition;
	// - value range : `drds.sn1.8c16g.16c32g`, `drds.sn1.8c16g.32c64g`, `drds.sn1.8c16g.64c128g`
	// - `drds.sn1.16c32g` for DRDS instance Enterprise Edition;
	// - value range : `drds.sn1.16c32g.32c64g`, `drds.sn1.16c32g.64c128g`
	// - `drds.sn1.32c64g` for DRDS instance Extreme Edition;
	// - value range : `drds.sn1.32c64g.128c256g`
	Specification pulumi.StringInput
	// The id of the VPC.
	VpcId pulumi.StringPtrInput
	// The VSwitch ID to launch in.
	VswitchId pulumi.StringInput
	// The Zone to launch the DRDS instance.
	ZoneId pulumi.StringInput
}

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) ConnectionString added in v3.29.0

func (o InstanceOutput) ConnectionString() pulumi.StringOutput

(Available in 1.196.0+) The connection string of the DRDS instance.

func (InstanceOutput) Description added in v3.27.0

func (o InstanceOutput) Description() pulumi.StringOutput

Description of the DRDS instance, This description can have a string of 2 to 256 characters.

func (InstanceOutput) ElementType

func (InstanceOutput) ElementType() reflect.Type

func (InstanceOutput) InstanceChargeType added in v3.27.0

func (o InstanceOutput) InstanceChargeType() pulumi.StringPtrOutput

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

func (InstanceOutput) InstanceSeries added in v3.27.0

func (o InstanceOutput) InstanceSeries() pulumi.StringOutput

The parameter of the instance series. **NOTE:** `drds.sn1.4c8g`,`drds.sn1.8c16g`,`drds.sn1.16c32g`,`drds.sn1.32c64g` are no longer supported. Valid values: - `drds.sn2.4c16g` Starter Edition. - `drds.sn2.8c32g` Standard Edition. - `drds.sn2.16c64g` Enterprise Edition.

func (InstanceOutput) MysqlVersion added in v3.34.0

func (o InstanceOutput) MysqlVersion() pulumi.IntOutput

The MySQL version supported by the instance, with the following range of values. `5`: Fully compatible with MySQL 5.x (default) `8`: Fully compatible with MySQL 8.0. This parameter takes effect when the primary instance is created, and the read-only instance has the same MySQL version as the primary instance by default.

func (InstanceOutput) Port added in v3.29.0

(Available in 1.196.0+) The connection port of the DRDS instance.

func (InstanceOutput) Specification added in v3.27.0

func (o InstanceOutput) Specification() pulumi.StringOutput

User-defined DRDS instance specification. Value range: - `drds.sn1.4c8g` for DRDS instance Starter version; - value range : `drds.sn1.4c8g.8c16g`, `drds.sn1.4c8g.16c32g`, `drds.sn1.4c8g.32c64g`, `drds.sn1.4c8g.64c128g` - `drds.sn1.8c16g` for DRDS instance Standard edition; - value range : `drds.sn1.8c16g.16c32g`, `drds.sn1.8c16g.32c64g`, `drds.sn1.8c16g.64c128g` - `drds.sn1.16c32g` for DRDS instance Enterprise Edition; - value range : `drds.sn1.16c32g.32c64g`, `drds.sn1.16c32g.64c128g` - `drds.sn1.32c64g` for DRDS instance Extreme Edition; - value range : `drds.sn1.32c64g.128c256g`

func (InstanceOutput) ToInstanceOutput

func (o InstanceOutput) ToInstanceOutput() InstanceOutput

func (InstanceOutput) ToInstanceOutputWithContext

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

func (InstanceOutput) VpcId added in v3.29.0

The id of the VPC.

func (InstanceOutput) VswitchId added in v3.27.0

func (o InstanceOutput) VswitchId() pulumi.StringOutput

The VSwitch ID to launch in.

func (InstanceOutput) ZoneId added in v3.27.0

func (o InstanceOutput) ZoneId() pulumi.StringOutput

The Zone to launch the DRDS instance.

type InstanceState

type InstanceState struct {
	// (Available in 1.196.0+) The connection string of the DRDS instance.
	ConnectionString pulumi.StringPtrInput
	// Description of the DRDS instance, This description can have a string of 2 to 256 characters.
	Description pulumi.StringPtrInput
	// Valid values are `PrePaid`, `PostPaid`, Default to `PostPaid`.
	InstanceChargeType pulumi.StringPtrInput
	// The parameter of the instance series. **NOTE:**  `drds.sn1.4c8g`,`drds.sn1.8c16g`,`drds.sn1.16c32g`,`drds.sn1.32c64g` are no longer supported. Valid values:
	// - `drds.sn2.4c16g` Starter Edition.
	// - `drds.sn2.8c32g` Standard Edition.
	// - `drds.sn2.16c64g` Enterprise Edition.
	InstanceSeries pulumi.StringPtrInput
	// The MySQL version supported by the instance, with the following range of values. `5`: Fully compatible with MySQL 5.x (default) `8`: Fully compatible with MySQL 8.0. This parameter takes effect when the primary instance is created, and the read-only instance has the same MySQL version as the primary instance by default.
	MysqlVersion pulumi.IntPtrInput
	// (Available in 1.196.0+) The connection port of the DRDS instance.
	Port pulumi.StringPtrInput
	// User-defined DRDS instance specification. Value range:
	// - `drds.sn1.4c8g` for DRDS instance Starter version;
	// - value range : `drds.sn1.4c8g.8c16g`, `drds.sn1.4c8g.16c32g`, `drds.sn1.4c8g.32c64g`, `drds.sn1.4c8g.64c128g`
	// - `drds.sn1.8c16g` for DRDS instance Standard edition;
	// - value range : `drds.sn1.8c16g.16c32g`, `drds.sn1.8c16g.32c64g`, `drds.sn1.8c16g.64c128g`
	// - `drds.sn1.16c32g` for DRDS instance Enterprise Edition;
	// - value range : `drds.sn1.16c32g.32c64g`, `drds.sn1.16c32g.64c128g`
	// - `drds.sn1.32c64g` for DRDS instance Extreme Edition;
	// - value range : `drds.sn1.32c64g.128c256g`
	Specification pulumi.StringPtrInput
	// The id of the VPC.
	VpcId pulumi.StringPtrInput
	// The VSwitch ID to launch in.
	VswitchId pulumi.StringPtrInput
	// The Zone to launch the DRDS instance.
	ZoneId pulumi.StringPtrInput
}

func (InstanceState) ElementType

func (InstanceState) ElementType() reflect.Type

type PolardbxInstance added in v3.44.1

type PolardbxInstance struct {
	pulumi.CustomResourceState

	// Compute node specifications.
	CnClass pulumi.StringOutput `pulumi:"cnClass"`
	// Number of computing nodes.
	CnNodeCount pulumi.IntOutput `pulumi:"cnNodeCount"`
	// The creation time of the resource.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// Storage node specifications.
	DnClass pulumi.StringOutput `pulumi:"dnClass"`
	// The number of storage nodes.
	DnNodeCount pulumi.IntOutput `pulumi:"dnNodeCount"`
	// Primary Availability Zone.
	PrimaryZone pulumi.StringOutput `pulumi:"primaryZone"`
	// The resource group ID can be empty. This parameter is not supported for the time being.
	ResourceGroupId pulumi.StringOutput `pulumi:"resourceGroupId"`
	// Secondary availability zone.
	SecondaryZone pulumi.StringPtrOutput `pulumi:"secondaryZone"`
	// The status of the resource.
	Status pulumi.StringOutput `pulumi:"status"`
	// Third Availability Zone.
	TertiaryZone pulumi.StringPtrOutput `pulumi:"tertiaryZone"`
	// Topology type:
	// - **3azones**: three available areas;
	// - **1azone**: Single zone.
	TopologyType pulumi.StringOutput `pulumi:"topologyType"`
	// The VPC ID.
	VpcId pulumi.StringOutput `pulumi:"vpcId"`
	// The ID of the virtual switch.
	VswitchId pulumi.StringOutput `pulumi:"vswitchId"`
}

Provides a DRDS Polardb X Instance resource.

For information about DRDS Polardb X Instance and how to use it, see [What is Polardb X Instance](https://www.alibabacloud.com/help/en/polardb/polardb-for-xscale/api-createdbinstance-1).

> **NOTE:** Available since v1.211.0.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/drds"
"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, "")
		name := "terraform-example"
		if param := cfg.Get("name"); param != "" {
			name = param
		}
		_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: pulumi.StringRef("VSwitch"),
		}, nil)
		if err != nil {
			return err
		}
		example, err := vpc.NewNetwork(ctx, "example", &vpc.NetworkArgs{
			VpcName: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		exampleSwitch, err := vpc.NewSwitch(ctx, "example", &vpc.SwitchArgs{
			VpcId:       example.ID(),
			ZoneId:      pulumi.String(_default.Zones[0].Id),
			CidrBlock:   pulumi.String("172.16.0.0/24"),
			VswitchName: pulumi.String(name),
		})
		if err != nil {
			return err
		}
		_, err = drds.NewPolardbxInstance(ctx, "default", &drds.PolardbxInstanceArgs{
			TopologyType:  pulumi.String("3azones"),
			VswitchId:     exampleSwitch.ID(),
			PrimaryZone:   pulumi.String("ap-southeast-1a"),
			CnNodeCount:   pulumi.Int(2),
			DnClass:       pulumi.String("mysql.n4.medium.25"),
			CnClass:       pulumi.String("polarx.x4.medium.2e"),
			DnNodeCount:   pulumi.Int(2),
			SecondaryZone: pulumi.String("ap-southeast-1b"),
			TertiaryZone:  pulumi.String("ap-southeast-1c"),
			VpcId:         example.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

DRDS Polardb X Instance can be imported using the id, e.g.

```sh $ pulumi import alicloud:drds/polardbxInstance:PolardbxInstance example <id> ```

func GetPolardbxInstance added in v3.44.1

func GetPolardbxInstance(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PolardbxInstanceState, opts ...pulumi.ResourceOption) (*PolardbxInstance, error)

GetPolardbxInstance gets an existing PolardbxInstance 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 NewPolardbxInstance added in v3.44.1

func NewPolardbxInstance(ctx *pulumi.Context,
	name string, args *PolardbxInstanceArgs, opts ...pulumi.ResourceOption) (*PolardbxInstance, error)

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

func (*PolardbxInstance) ElementType added in v3.44.1

func (*PolardbxInstance) ElementType() reflect.Type

func (*PolardbxInstance) ToPolardbxInstanceOutput added in v3.44.1

func (i *PolardbxInstance) ToPolardbxInstanceOutput() PolardbxInstanceOutput

func (*PolardbxInstance) ToPolardbxInstanceOutputWithContext added in v3.44.1

func (i *PolardbxInstance) ToPolardbxInstanceOutputWithContext(ctx context.Context) PolardbxInstanceOutput

type PolardbxInstanceArgs added in v3.44.1

type PolardbxInstanceArgs struct {
	// Compute node specifications.
	CnClass pulumi.StringInput
	// Number of computing nodes.
	CnNodeCount pulumi.IntInput
	// Storage node specifications.
	DnClass pulumi.StringInput
	// The number of storage nodes.
	DnNodeCount pulumi.IntInput
	// Primary Availability Zone.
	PrimaryZone pulumi.StringInput
	// The resource group ID can be empty. This parameter is not supported for the time being.
	ResourceGroupId pulumi.StringPtrInput
	// Secondary availability zone.
	SecondaryZone pulumi.StringPtrInput
	// Third Availability Zone.
	TertiaryZone pulumi.StringPtrInput
	// Topology type:
	// - **3azones**: three available areas;
	// - **1azone**: Single zone.
	TopologyType pulumi.StringInput
	// The VPC ID.
	VpcId pulumi.StringInput
	// The ID of the virtual switch.
	VswitchId pulumi.StringInput
}

The set of arguments for constructing a PolardbxInstance resource.

func (PolardbxInstanceArgs) ElementType added in v3.44.1

func (PolardbxInstanceArgs) ElementType() reflect.Type

type PolardbxInstanceArray added in v3.44.1

type PolardbxInstanceArray []PolardbxInstanceInput

func (PolardbxInstanceArray) ElementType added in v3.44.1

func (PolardbxInstanceArray) ElementType() reflect.Type

func (PolardbxInstanceArray) ToPolardbxInstanceArrayOutput added in v3.44.1

func (i PolardbxInstanceArray) ToPolardbxInstanceArrayOutput() PolardbxInstanceArrayOutput

func (PolardbxInstanceArray) ToPolardbxInstanceArrayOutputWithContext added in v3.44.1

func (i PolardbxInstanceArray) ToPolardbxInstanceArrayOutputWithContext(ctx context.Context) PolardbxInstanceArrayOutput

type PolardbxInstanceArrayInput added in v3.44.1

type PolardbxInstanceArrayInput interface {
	pulumi.Input

	ToPolardbxInstanceArrayOutput() PolardbxInstanceArrayOutput
	ToPolardbxInstanceArrayOutputWithContext(context.Context) PolardbxInstanceArrayOutput
}

PolardbxInstanceArrayInput is an input type that accepts PolardbxInstanceArray and PolardbxInstanceArrayOutput values. You can construct a concrete instance of `PolardbxInstanceArrayInput` via:

PolardbxInstanceArray{ PolardbxInstanceArgs{...} }

type PolardbxInstanceArrayOutput added in v3.44.1

type PolardbxInstanceArrayOutput struct{ *pulumi.OutputState }

func (PolardbxInstanceArrayOutput) ElementType added in v3.44.1

func (PolardbxInstanceArrayOutput) Index added in v3.44.1

func (PolardbxInstanceArrayOutput) ToPolardbxInstanceArrayOutput added in v3.44.1

func (o PolardbxInstanceArrayOutput) ToPolardbxInstanceArrayOutput() PolardbxInstanceArrayOutput

func (PolardbxInstanceArrayOutput) ToPolardbxInstanceArrayOutputWithContext added in v3.44.1

func (o PolardbxInstanceArrayOutput) ToPolardbxInstanceArrayOutputWithContext(ctx context.Context) PolardbxInstanceArrayOutput

type PolardbxInstanceInput added in v3.44.1

type PolardbxInstanceInput interface {
	pulumi.Input

	ToPolardbxInstanceOutput() PolardbxInstanceOutput
	ToPolardbxInstanceOutputWithContext(ctx context.Context) PolardbxInstanceOutput
}

type PolardbxInstanceMap added in v3.44.1

type PolardbxInstanceMap map[string]PolardbxInstanceInput

func (PolardbxInstanceMap) ElementType added in v3.44.1

func (PolardbxInstanceMap) ElementType() reflect.Type

func (PolardbxInstanceMap) ToPolardbxInstanceMapOutput added in v3.44.1

func (i PolardbxInstanceMap) ToPolardbxInstanceMapOutput() PolardbxInstanceMapOutput

func (PolardbxInstanceMap) ToPolardbxInstanceMapOutputWithContext added in v3.44.1

func (i PolardbxInstanceMap) ToPolardbxInstanceMapOutputWithContext(ctx context.Context) PolardbxInstanceMapOutput

type PolardbxInstanceMapInput added in v3.44.1

type PolardbxInstanceMapInput interface {
	pulumi.Input

	ToPolardbxInstanceMapOutput() PolardbxInstanceMapOutput
	ToPolardbxInstanceMapOutputWithContext(context.Context) PolardbxInstanceMapOutput
}

PolardbxInstanceMapInput is an input type that accepts PolardbxInstanceMap and PolardbxInstanceMapOutput values. You can construct a concrete instance of `PolardbxInstanceMapInput` via:

PolardbxInstanceMap{ "key": PolardbxInstanceArgs{...} }

type PolardbxInstanceMapOutput added in v3.44.1

type PolardbxInstanceMapOutput struct{ *pulumi.OutputState }

func (PolardbxInstanceMapOutput) ElementType added in v3.44.1

func (PolardbxInstanceMapOutput) ElementType() reflect.Type

func (PolardbxInstanceMapOutput) MapIndex added in v3.44.1

func (PolardbxInstanceMapOutput) ToPolardbxInstanceMapOutput added in v3.44.1

func (o PolardbxInstanceMapOutput) ToPolardbxInstanceMapOutput() PolardbxInstanceMapOutput

func (PolardbxInstanceMapOutput) ToPolardbxInstanceMapOutputWithContext added in v3.44.1

func (o PolardbxInstanceMapOutput) ToPolardbxInstanceMapOutputWithContext(ctx context.Context) PolardbxInstanceMapOutput

type PolardbxInstanceOutput added in v3.44.1

type PolardbxInstanceOutput struct{ *pulumi.OutputState }

func (PolardbxInstanceOutput) CnClass added in v3.44.1

Compute node specifications.

func (PolardbxInstanceOutput) CnNodeCount added in v3.44.1

func (o PolardbxInstanceOutput) CnNodeCount() pulumi.IntOutput

Number of computing nodes.

func (PolardbxInstanceOutput) CreateTime added in v3.44.1

The creation time of the resource.

func (PolardbxInstanceOutput) DnClass added in v3.44.1

Storage node specifications.

func (PolardbxInstanceOutput) DnNodeCount added in v3.44.1

func (o PolardbxInstanceOutput) DnNodeCount() pulumi.IntOutput

The number of storage nodes.

func (PolardbxInstanceOutput) ElementType added in v3.44.1

func (PolardbxInstanceOutput) ElementType() reflect.Type

func (PolardbxInstanceOutput) PrimaryZone added in v3.44.1

func (o PolardbxInstanceOutput) PrimaryZone() pulumi.StringOutput

Primary Availability Zone.

func (PolardbxInstanceOutput) ResourceGroupId added in v3.44.1

func (o PolardbxInstanceOutput) ResourceGroupId() pulumi.StringOutput

The resource group ID can be empty. This parameter is not supported for the time being.

func (PolardbxInstanceOutput) SecondaryZone added in v3.44.1

func (o PolardbxInstanceOutput) SecondaryZone() pulumi.StringPtrOutput

Secondary availability zone.

func (PolardbxInstanceOutput) Status added in v3.44.1

The status of the resource.

func (PolardbxInstanceOutput) TertiaryZone added in v3.44.1

Third Availability Zone.

func (PolardbxInstanceOutput) ToPolardbxInstanceOutput added in v3.44.1

func (o PolardbxInstanceOutput) ToPolardbxInstanceOutput() PolardbxInstanceOutput

func (PolardbxInstanceOutput) ToPolardbxInstanceOutputWithContext added in v3.44.1

func (o PolardbxInstanceOutput) ToPolardbxInstanceOutputWithContext(ctx context.Context) PolardbxInstanceOutput

func (PolardbxInstanceOutput) TopologyType added in v3.44.1

func (o PolardbxInstanceOutput) TopologyType() pulumi.StringOutput

Topology type: - **3azones**: three available areas; - **1azone**: Single zone.

func (PolardbxInstanceOutput) VpcId added in v3.44.1

The VPC ID.

func (PolardbxInstanceOutput) VswitchId added in v3.44.1

The ID of the virtual switch.

type PolardbxInstanceState added in v3.44.1

type PolardbxInstanceState struct {
	// Compute node specifications.
	CnClass pulumi.StringPtrInput
	// Number of computing nodes.
	CnNodeCount pulumi.IntPtrInput
	// The creation time of the resource.
	CreateTime pulumi.StringPtrInput
	// Storage node specifications.
	DnClass pulumi.StringPtrInput
	// The number of storage nodes.
	DnNodeCount pulumi.IntPtrInput
	// Primary Availability Zone.
	PrimaryZone pulumi.StringPtrInput
	// The resource group ID can be empty. This parameter is not supported for the time being.
	ResourceGroupId pulumi.StringPtrInput
	// Secondary availability zone.
	SecondaryZone pulumi.StringPtrInput
	// The status of the resource.
	Status pulumi.StringPtrInput
	// Third Availability Zone.
	TertiaryZone pulumi.StringPtrInput
	// Topology type:
	// - **3azones**: three available areas;
	// - **1azone**: Single zone.
	TopologyType pulumi.StringPtrInput
	// The VPC ID.
	VpcId pulumi.StringPtrInput
	// The ID of the virtual switch.
	VswitchId pulumi.StringPtrInput
}

func (PolardbxInstanceState) ElementType added in v3.44.1

func (PolardbxInstanceState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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