kvstore

package
v2.21.0 Latest Latest
Warning

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

Go to latest
Published: Oct 12, 2020 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Account

type Account struct {
	pulumi.CustomResourceState

	// Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters.
	AccountName pulumi.StringOutput `pulumi:"accountName"`
	// Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. You have to specify one of `accountPassword` and `kmsEncryptedPassword` fields.
	AccountPassword pulumi.StringPtrOutput `pulumi:"accountPassword"`
	// The privilege of account access database. Valid values:
	// - RoleReadOnly: This value is only for Redis and Memcache
	// - RoleReadWrite: This value is only for Redis and Memcache
	// - RoleRepl: This value supports instance to read, write, and open SYNC / PSYNC commands.
	//   Only for Redis which engine version is 4.0 and architecture type is standard
	AccountPrivilege pulumi.StringPtrOutput `pulumi:"accountPrivilege"`
	// Privilege type of account.
	// - Normal: Common privilege.
	//   Default to Normal.
	AccountType pulumi.StringPtrOutput `pulumi:"accountType"`
	// Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The Id of instance in which account belongs. (The engine version of instance must be 4.0 or 4.0+)
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	// An KMS encrypts password used to a KVStore account. If the `accountPassword` is filled in, this field will be ignored.
	KmsEncryptedPassword pulumi.StringPtrOutput `pulumi:"kmsEncryptedPassword"`
	// An KMS encryption context used to decrypt `kmsEncryptedPassword` before creating or updating a KVStore account with `kmsEncryptedPassword`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kmsEncryptedPassword` is set.
	KmsEncryptionContext pulumi.MapOutput `pulumi:"kmsEncryptionContext"`
}

Provides a kvstore account resource and used to manage databases.

> **NOTE:** Available in 1.66.0+

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/kvstore"
"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 := 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 := kvstore.NewInstance(ctx, "defaultInstance", &kvstore.InstanceArgs{
			InstanceClass: pulumi.String("redis.master.small.default"),
			InstanceName:  pulumi.String(name),
			VswitchId:     defaultSwitch.ID(),
			PrivateIp:     pulumi.String("172.16.0.10"),
			SecurityIps: pulumi.StringArray{
				pulumi.String("10.0.0.1"),
			},
			InstanceType:  pulumi.String("Redis"),
			EngineVersion: pulumi.String("4.0"),
		})
		if err != nil {
			return err
		}
		_, err = kvstore.NewAccount(ctx, "account", &kvstore.AccountArgs{
			InstanceId:      defaultInstance.ID(),
			AccountName:     pulumi.String("tftestnormal"),
			AccountPassword: pulumi.String("Test12345"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetAccount

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

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

func NewAccount

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

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

type AccountArgs

type AccountArgs struct {
	// Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters.
	AccountName pulumi.StringInput
	// Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. You have to specify one of `accountPassword` and `kmsEncryptedPassword` fields.
	AccountPassword pulumi.StringPtrInput
	// The privilege of account access database. Valid values:
	// - RoleReadOnly: This value is only for Redis and Memcache
	// - RoleReadWrite: This value is only for Redis and Memcache
	// - RoleRepl: This value supports instance to read, write, and open SYNC / PSYNC commands.
	//   Only for Redis which engine version is 4.0 and architecture type is standard
	AccountPrivilege pulumi.StringPtrInput
	// Privilege type of account.
	// - Normal: Common privilege.
	//   Default to Normal.
	AccountType pulumi.StringPtrInput
	// Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters.
	Description pulumi.StringPtrInput
	// The Id of instance in which account belongs. (The engine version of instance must be 4.0 or 4.0+)
	InstanceId pulumi.StringInput
	// An KMS encrypts password used to a KVStore account. If the `accountPassword` is filled in, this field will be ignored.
	KmsEncryptedPassword pulumi.StringPtrInput
	// An KMS encryption context used to decrypt `kmsEncryptedPassword` before creating or updating a KVStore account with `kmsEncryptedPassword`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kmsEncryptedPassword` is set.
	KmsEncryptionContext pulumi.MapInput
}

The set of arguments for constructing a Account resource.

func (AccountArgs) ElementType

func (AccountArgs) ElementType() reflect.Type

type AccountState

type AccountState struct {
	// Operation account requiring a uniqueness check. It may consist of lower case letters, numbers, and underlines, and must start with a letter and have no more than 16 characters.
	AccountName pulumi.StringPtrInput
	// Operation password. It may consist of letters, digits, or underlines, with a length of 6 to 32 characters. You have to specify one of `accountPassword` and `kmsEncryptedPassword` fields.
	AccountPassword pulumi.StringPtrInput
	// The privilege of account access database. Valid values:
	// - RoleReadOnly: This value is only for Redis and Memcache
	// - RoleReadWrite: This value is only for Redis and Memcache
	// - RoleRepl: This value supports instance to read, write, and open SYNC / PSYNC commands.
	//   Only for Redis which engine version is 4.0 and architecture type is standard
	AccountPrivilege pulumi.StringPtrInput
	// Privilege type of account.
	// - Normal: Common privilege.
	//   Default to Normal.
	AccountType pulumi.StringPtrInput
	// Database description. It cannot begin with https://. It must start with a Chinese character or English letter. It can include Chinese and English characters, underlines (_), hyphens (-), and numbers. The length may be 2-256 characters.
	Description pulumi.StringPtrInput
	// The Id of instance in which account belongs. (The engine version of instance must be 4.0 or 4.0+)
	InstanceId pulumi.StringPtrInput
	// An KMS encrypts password used to a KVStore account. If the `accountPassword` is filled in, this field will be ignored.
	KmsEncryptedPassword pulumi.StringPtrInput
	// An KMS encryption context used to decrypt `kmsEncryptedPassword` before creating or updating a KVStore account with `kmsEncryptedPassword`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kmsEncryptedPassword` is set.
	KmsEncryptionContext pulumi.MapInput
}

func (AccountState) ElementType

func (AccountState) ElementType() reflect.Type

type BackupPolicy

type BackupPolicy struct {
	pulumi.CustomResourceState

	// Backup Cycle. Allowed values: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday
	BackupPeriods pulumi.StringArrayOutput `pulumi:"backupPeriods"`
	// Backup time, in the format of HH:mmZ- HH:mm Z
	BackupTime pulumi.StringPtrOutput `pulumi:"backupTime"`
	// The id of ApsaraDB for Redis or Memcache intance.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
}

Provides a backup policy for ApsaraDB Redis / Memcache instance resource.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/kvstore"
"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 := 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 := kvstore.NewInstance(ctx, "defaultInstance", &kvstore.InstanceArgs{
			InstanceClass: pulumi.String("Memcache"),
			InstanceName:  pulumi.String(name),
			VswitchId:     defaultSwitch.ID(),
			PrivateIp:     pulumi.String("172.16.0.10"),
			SecurityIps: pulumi.StringArray{
				pulumi.String("10.0.0.1"),
			},
			InstanceType:  pulumi.String("memcache.master.small.default"),
			EngineVersion: pulumi.String("2.8"),
		})
		if err != nil {
			return err
		}
		_, err = kvstore.NewBackupPolicy(ctx, "defaultBackupPolicy", &kvstore.BackupPolicyArgs{
			InstanceId: defaultInstance.ID(),
			BackupPeriods: pulumi.StringArray{
				pulumi.String("Tuesday"),
				pulumi.String("Wednesday"),
			},
			BackupTime: pulumi.String("10:00Z-11:00Z"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetBackupPolicy

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

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

func NewBackupPolicy

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

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

type BackupPolicyArgs

type BackupPolicyArgs struct {
	// Backup Cycle. Allowed values: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday
	BackupPeriods pulumi.StringArrayInput
	// Backup time, in the format of HH:mmZ- HH:mm Z
	BackupTime pulumi.StringPtrInput
	// The id of ApsaraDB for Redis or Memcache intance.
	InstanceId pulumi.StringInput
}

The set of arguments for constructing a BackupPolicy resource.

func (BackupPolicyArgs) ElementType

func (BackupPolicyArgs) ElementType() reflect.Type

type BackupPolicyState

type BackupPolicyState struct {
	// Backup Cycle. Allowed values: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday
	BackupPeriods pulumi.StringArrayInput
	// Backup time, in the format of HH:mmZ- HH:mm Z
	BackupTime pulumi.StringPtrInput
	// The id of ApsaraDB for Redis or Memcache intance.
	InstanceId pulumi.StringPtrInput
}

func (BackupPolicyState) ElementType

func (BackupPolicyState) ElementType() reflect.Type

type GetInstanceClassesArgs

type GetInstanceClassesArgs struct {
	// The KVStore instance system architecture required by the user. Valid values: `standard`, `cluster` and `rwsplit`.
	Architecture *string `pulumi:"architecture"`
	// The KVStore instance edition type required by the user. Valid values: `Community` and `Enterprise`.
	EditionType *string `pulumi:"editionType"`
	// Database type. Options are `Redis`, `Memcache`. Default to `Redis`.
	Engine *string `pulumi:"engine"`
	// Database version required by the user. Value options of Redis can refer to the latest docs [detail info](https://www.alibabacloud.com/help/doc-detail/60873.htm) `EngineVersion`. Value of Memcache should be empty.
	EngineVersion *string `pulumi:"engineVersion"`
	// Filter the results by charge type. Valid values: `PrePaid` and `PostPaid`. Default to `PrePaid`.
	InstanceChargeType *string `pulumi:"instanceChargeType"`
	// The KVStore instance node type required by the user. Valid values: `double`, `single`, `readone`, `readthree` and `readfive`.
	NodeType   *string `pulumi:"nodeType"`
	OutputFile *string `pulumi:"outputFile"`
	// It has been deprecated from 1.68.0.
	//
	// Deprecated: The parameter 'package_type' has been deprecated from 1.68.0.
	PackageType *string `pulumi:"packageType"`
	// It has been deprecated from 1.68.0.
	//
	// Deprecated: The parameter 'performance_type' has been deprecated from 1.68.0.
	PerformanceType *string `pulumi:"performanceType"`
	// The KVStore instance series type required by the user. Valid values: `enhancedPerformanceType` and `hybridStorage`.
	SeriesType *string `pulumi:"seriesType"`
	// The number of shard.Valid values: `1`, `2`, `4`, `8`, `16`, `32`, `64`, `128`, `256`.
	ShardNumber *int    `pulumi:"shardNumber"`
	SortedBy    *string `pulumi:"sortedBy"`
	// It has been deprecated from 1.68.0.
	//
	// Deprecated: The parameter 'storage_type' has been deprecated from 1.68.0.
	StorageType *string `pulumi:"storageType"`
	// The Zone to launch the KVStore instance.
	ZoneId string `pulumi:"zoneId"`
}

A collection of arguments for invoking getInstanceClasses.

type GetInstanceClassesClass

type GetInstanceClassesClass struct {
	// KVStore available instance class.
	InstanceClass string `pulumi:"instanceClass"`
	Price         string `pulumi:"price"`
}

type GetInstanceClassesClassArgs

type GetInstanceClassesClassArgs struct {
	// KVStore available instance class.
	InstanceClass pulumi.StringInput `pulumi:"instanceClass"`
	Price         pulumi.StringInput `pulumi:"price"`
}

func (GetInstanceClassesClassArgs) ElementType

func (GetInstanceClassesClassArgs) ToGetInstanceClassesClassOutput

func (i GetInstanceClassesClassArgs) ToGetInstanceClassesClassOutput() GetInstanceClassesClassOutput

func (GetInstanceClassesClassArgs) ToGetInstanceClassesClassOutputWithContext

func (i GetInstanceClassesClassArgs) ToGetInstanceClassesClassOutputWithContext(ctx context.Context) GetInstanceClassesClassOutput

type GetInstanceClassesClassArray

type GetInstanceClassesClassArray []GetInstanceClassesClassInput

func (GetInstanceClassesClassArray) ElementType

func (GetInstanceClassesClassArray) ToGetInstanceClassesClassArrayOutput

func (i GetInstanceClassesClassArray) ToGetInstanceClassesClassArrayOutput() GetInstanceClassesClassArrayOutput

func (GetInstanceClassesClassArray) ToGetInstanceClassesClassArrayOutputWithContext

func (i GetInstanceClassesClassArray) ToGetInstanceClassesClassArrayOutputWithContext(ctx context.Context) GetInstanceClassesClassArrayOutput

type GetInstanceClassesClassArrayInput

type GetInstanceClassesClassArrayInput interface {
	pulumi.Input

	ToGetInstanceClassesClassArrayOutput() GetInstanceClassesClassArrayOutput
	ToGetInstanceClassesClassArrayOutputWithContext(context.Context) GetInstanceClassesClassArrayOutput
}

GetInstanceClassesClassArrayInput is an input type that accepts GetInstanceClassesClassArray and GetInstanceClassesClassArrayOutput values. You can construct a concrete instance of `GetInstanceClassesClassArrayInput` via:

GetInstanceClassesClassArray{ GetInstanceClassesClassArgs{...} }

type GetInstanceClassesClassArrayOutput

type GetInstanceClassesClassArrayOutput struct{ *pulumi.OutputState }

func (GetInstanceClassesClassArrayOutput) ElementType

func (GetInstanceClassesClassArrayOutput) Index

func (GetInstanceClassesClassArrayOutput) ToGetInstanceClassesClassArrayOutput

func (o GetInstanceClassesClassArrayOutput) ToGetInstanceClassesClassArrayOutput() GetInstanceClassesClassArrayOutput

func (GetInstanceClassesClassArrayOutput) ToGetInstanceClassesClassArrayOutputWithContext

func (o GetInstanceClassesClassArrayOutput) ToGetInstanceClassesClassArrayOutputWithContext(ctx context.Context) GetInstanceClassesClassArrayOutput

type GetInstanceClassesClassInput

type GetInstanceClassesClassInput interface {
	pulumi.Input

	ToGetInstanceClassesClassOutput() GetInstanceClassesClassOutput
	ToGetInstanceClassesClassOutputWithContext(context.Context) GetInstanceClassesClassOutput
}

GetInstanceClassesClassInput is an input type that accepts GetInstanceClassesClassArgs and GetInstanceClassesClassOutput values. You can construct a concrete instance of `GetInstanceClassesClassInput` via:

GetInstanceClassesClassArgs{...}

type GetInstanceClassesClassOutput

type GetInstanceClassesClassOutput struct{ *pulumi.OutputState }

func (GetInstanceClassesClassOutput) ElementType

func (GetInstanceClassesClassOutput) InstanceClass

KVStore available instance class.

func (GetInstanceClassesClassOutput) Price

func (GetInstanceClassesClassOutput) ToGetInstanceClassesClassOutput

func (o GetInstanceClassesClassOutput) ToGetInstanceClassesClassOutput() GetInstanceClassesClassOutput

func (GetInstanceClassesClassOutput) ToGetInstanceClassesClassOutputWithContext

func (o GetInstanceClassesClassOutput) ToGetInstanceClassesClassOutputWithContext(ctx context.Context) GetInstanceClassesClassOutput

type GetInstanceClassesResult

type GetInstanceClassesResult struct {
	Architecture *string `pulumi:"architecture"`
	// A list of KVStore available instance classes when the `sortedBy` is "Price". include:
	Classes       []GetInstanceClassesClass `pulumi:"classes"`
	EditionType   *string                   `pulumi:"editionType"`
	Engine        *string                   `pulumi:"engine"`
	EngineVersion *string                   `pulumi:"engineVersion"`
	// The provider-assigned unique ID for this managed resource.
	Id                 string  `pulumi:"id"`
	InstanceChargeType *string `pulumi:"instanceChargeType"`
	// A list of KVStore available instance classes.
	InstanceClasses []string `pulumi:"instanceClasses"`
	NodeType        *string  `pulumi:"nodeType"`
	OutputFile      *string  `pulumi:"outputFile"`
	// Deprecated: The parameter 'package_type' has been deprecated from 1.68.0.
	PackageType *string `pulumi:"packageType"`
	// Deprecated: The parameter 'performance_type' has been deprecated from 1.68.0.
	PerformanceType *string `pulumi:"performanceType"`
	SeriesType      *string `pulumi:"seriesType"`
	ShardNumber     *int    `pulumi:"shardNumber"`
	SortedBy        *string `pulumi:"sortedBy"`
	// Deprecated: The parameter 'storage_type' has been deprecated from 1.68.0.
	StorageType *string `pulumi:"storageType"`
	ZoneId      string  `pulumi:"zoneId"`
}

A collection of values returned by getInstanceClasses.

func GetInstanceClasses

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

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

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

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "KVStore"
		resourcesZones, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: &opt0,
		}, nil)
		if err != nil {
			return err
		}
		opt1 := "Redis"
		opt2 := "5.0"
		opt3 := "PrePaid"
		opt4 := "./classes.txt"
		resourcesInstanceClasses, err := kvstore.GetInstanceClasses(ctx, &kvstore.GetInstanceClassesArgs{
			Engine:             &opt1,
			EngineVersion:      &opt2,
			InstanceChargeType: &opt3,
			OutputFile:         &opt4,
			ZoneId:             resourcesZones.Zones[0].Id,
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("firstKvstoreInstanceClass", resourcesInstanceClasses.InstanceClasses)
		return nil
	})
}

```

type GetInstanceEnginesArgs

type GetInstanceEnginesArgs struct {
	// Database type. Options are `Redis`, `Memcache`. Default to `Redis`.
	Engine *string `pulumi:"engine"`
	// Database version required by the user. Value options of Redis can refer to the latest docs [detail info](https://www.alibabacloud.com/help/doc-detail/60873.htm) `EngineVersion`. Value of Memcache should be empty.
	EngineVersion *string `pulumi:"engineVersion"`
	// Filter the results by charge type. Valid values: `PrePaid` and `PostPaid`. Default to `PrePaid`.
	InstanceChargeType *string `pulumi:"instanceChargeType"`
	OutputFile         *string `pulumi:"outputFile"`
	// The Zone to launch the KVStore instance.
	ZoneId string `pulumi:"zoneId"`
}

A collection of arguments for invoking getInstanceEngines.

type GetInstanceEnginesInstanceEngine

type GetInstanceEnginesInstanceEngine struct {
	// Database type. Options are `Redis`, `Memcache`. Default to `Redis`.
	Engine string `pulumi:"engine"`
	// Database version required by the user. Value options of Redis can refer to the latest docs [detail info](https://www.alibabacloud.com/help/doc-detail/60873.htm) `EngineVersion`. Value of Memcache should be empty.
	EngineVersion string `pulumi:"engineVersion"`
	// The Zone to launch the KVStore instance.
	ZoneId string `pulumi:"zoneId"`
}

type GetInstanceEnginesInstanceEngineArgs

type GetInstanceEnginesInstanceEngineArgs struct {
	// Database type. Options are `Redis`, `Memcache`. Default to `Redis`.
	Engine pulumi.StringInput `pulumi:"engine"`
	// Database version required by the user. Value options of Redis can refer to the latest docs [detail info](https://www.alibabacloud.com/help/doc-detail/60873.htm) `EngineVersion`. Value of Memcache should be empty.
	EngineVersion pulumi.StringInput `pulumi:"engineVersion"`
	// The Zone to launch the KVStore instance.
	ZoneId pulumi.StringInput `pulumi:"zoneId"`
}

func (GetInstanceEnginesInstanceEngineArgs) ElementType

func (GetInstanceEnginesInstanceEngineArgs) ToGetInstanceEnginesInstanceEngineOutput

func (i GetInstanceEnginesInstanceEngineArgs) ToGetInstanceEnginesInstanceEngineOutput() GetInstanceEnginesInstanceEngineOutput

func (GetInstanceEnginesInstanceEngineArgs) ToGetInstanceEnginesInstanceEngineOutputWithContext

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

type GetInstanceEnginesInstanceEngineArray

type GetInstanceEnginesInstanceEngineArray []GetInstanceEnginesInstanceEngineInput

func (GetInstanceEnginesInstanceEngineArray) ElementType

func (GetInstanceEnginesInstanceEngineArray) ToGetInstanceEnginesInstanceEngineArrayOutput

func (i GetInstanceEnginesInstanceEngineArray) ToGetInstanceEnginesInstanceEngineArrayOutput() GetInstanceEnginesInstanceEngineArrayOutput

func (GetInstanceEnginesInstanceEngineArray) ToGetInstanceEnginesInstanceEngineArrayOutputWithContext

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

type GetInstanceEnginesInstanceEngineArrayInput

type GetInstanceEnginesInstanceEngineArrayInput interface {
	pulumi.Input

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

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

GetInstanceEnginesInstanceEngineArray{ GetInstanceEnginesInstanceEngineArgs{...} }

type GetInstanceEnginesInstanceEngineArrayOutput

type GetInstanceEnginesInstanceEngineArrayOutput struct{ *pulumi.OutputState }

func (GetInstanceEnginesInstanceEngineArrayOutput) ElementType

func (GetInstanceEnginesInstanceEngineArrayOutput) Index

func (GetInstanceEnginesInstanceEngineArrayOutput) ToGetInstanceEnginesInstanceEngineArrayOutput

func (o GetInstanceEnginesInstanceEngineArrayOutput) ToGetInstanceEnginesInstanceEngineArrayOutput() GetInstanceEnginesInstanceEngineArrayOutput

func (GetInstanceEnginesInstanceEngineArrayOutput) ToGetInstanceEnginesInstanceEngineArrayOutputWithContext

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

type GetInstanceEnginesInstanceEngineInput

type GetInstanceEnginesInstanceEngineInput interface {
	pulumi.Input

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

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

GetInstanceEnginesInstanceEngineArgs{...}

type GetInstanceEnginesInstanceEngineOutput

type GetInstanceEnginesInstanceEngineOutput struct{ *pulumi.OutputState }

func (GetInstanceEnginesInstanceEngineOutput) ElementType

func (GetInstanceEnginesInstanceEngineOutput) Engine

Database type. Options are `Redis`, `Memcache`. Default to `Redis`.

func (GetInstanceEnginesInstanceEngineOutput) EngineVersion

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

func (GetInstanceEnginesInstanceEngineOutput) ToGetInstanceEnginesInstanceEngineOutput

func (o GetInstanceEnginesInstanceEngineOutput) ToGetInstanceEnginesInstanceEngineOutput() GetInstanceEnginesInstanceEngineOutput

func (GetInstanceEnginesInstanceEngineOutput) ToGetInstanceEnginesInstanceEngineOutputWithContext

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

func (GetInstanceEnginesInstanceEngineOutput) ZoneId

The Zone to launch the KVStore instance.

type GetInstanceEnginesResult

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

A collection of values returned by getInstanceEngines.

func GetInstanceEngines

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

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

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

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "KVStore"
		resourcesZones, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
			AvailableResourceCreation: &opt0,
		}, nil)
		if err != nil {
			return err
		}
		opt1 := "Redis"
		opt2 := "5.0"
		opt3 := "PrePaid"
		opt4 := "./engines.txt"
		resourcesInstanceEngines, err := kvstore.GetInstanceEngines(ctx, &kvstore.GetInstanceEnginesArgs{
			Engine:             &opt1,
			EngineVersion:      &opt2,
			InstanceChargeType: &opt3,
			OutputFile:         &opt4,
			ZoneId:             resourcesZones.Zones[0].Id,
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("firstKvstoreInstanceClass", resourcesInstanceEngines.InstanceEngines[0].Engine)
		return nil
	})
}

```

type GetInstancesArgs

type GetInstancesArgs struct {
	// A list of RKV instance IDs.
	Ids []string `pulumi:"ids"`
	// Type of the applied ApsaraDB for Redis instance.
	// For more information, see [Instance type table](https://www.alibabacloud.com/help/doc-detail/61135.htm).
	InstanceClass *string `pulumi:"instanceClass"`
	// Database type. Options are `Memcache`, and `Redis`. If no value is specified, all types are returned.
	InstanceType *string `pulumi:"instanceType"`
	// A regex string to apply to the instance name.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
	// Status of the instance.
	Status *string `pulumi:"status"`
	// Query the instance bound to the tag. The format of the incoming value is `json` string, including `TagKey` and `TagValue`. `TagKey` cannot be null, and `TagValue` can be empty. Format example `{"key1":"value1"}`.
	Tags map[string]interface{} `pulumi:"tags"`
	// Used to retrieve instances belong to specified VPC.
	VpcId *string `pulumi:"vpcId"`
	// Used to retrieve instances belong to specified `vswitch` resources.
	VswitchId *string `pulumi:"vswitchId"`
}

A collection of arguments for invoking getInstances.

type GetInstancesInstance

type GetInstancesInstance struct {
	// Availability zone.
	AvailabilityZone string `pulumi:"availabilityZone"`
	// Instance bandwidth limit. Unit: Mbit/s.
	Bandwidth int `pulumi:"bandwidth"`
	// Capacity of the applied ApsaraDB for Redis instance. Unit: MB.
	Capacity int `pulumi:"capacity"`
	// Billing method. Value options: `PostPaid` for  Pay-As-You-Go and `PrePaid` for subscription.
	ChargeType       string `pulumi:"chargeType"`
	ConnectionDomain string `pulumi:"connectionDomain"`
	// Instance connection quantity limit. Unit: count.
	Connections int `pulumi:"connections"`
	// Creation time of the instance.
	CreateTime string `pulumi:"createTime"`
	// Expiration time. Pay-As-You-Go instances are never expire.
	ExpireTime string `pulumi:"expireTime"`
	// The ID of the RKV instance.
	Id string `pulumi:"id"`
	// Type of the applied ApsaraDB for Redis instance.
	// For more information, see [Instance type table](https://www.alibabacloud.com/help/doc-detail/61135.htm).
	InstanceClass string `pulumi:"instanceClass"`
	// Database type. Options are `Memcache`, and `Redis`. If no value is specified, all types are returned.
	InstanceType string `pulumi:"instanceType"`
	// The name of the RKV instance.
	Name string `pulumi:"name"`
	// Connection port of the instance.
	Port int `pulumi:"port"`
	// Private IP address of the instance.
	PrivateIp string `pulumi:"privateIp"`
	// Region ID the instance belongs to.
	RegionId string `pulumi:"regionId"`
	// Status of the instance.
	Status   string `pulumi:"status"`
	UserName string `pulumi:"userName"`
	// Used to retrieve instances belong to specified VPC.
	VpcId string `pulumi:"vpcId"`
	// Used to retrieve instances belong to specified `vswitch` resources.
	VswitchId string `pulumi:"vswitchId"`
}

type GetInstancesInstanceArgs

type GetInstancesInstanceArgs struct {
	// Availability zone.
	AvailabilityZone pulumi.StringInput `pulumi:"availabilityZone"`
	// Instance bandwidth limit. Unit: Mbit/s.
	Bandwidth pulumi.IntInput `pulumi:"bandwidth"`
	// Capacity of the applied ApsaraDB for Redis instance. Unit: MB.
	Capacity pulumi.IntInput `pulumi:"capacity"`
	// Billing method. Value options: `PostPaid` for  Pay-As-You-Go and `PrePaid` for subscription.
	ChargeType       pulumi.StringInput `pulumi:"chargeType"`
	ConnectionDomain pulumi.StringInput `pulumi:"connectionDomain"`
	// Instance connection quantity limit. Unit: count.
	Connections pulumi.IntInput `pulumi:"connections"`
	// Creation time of the instance.
	CreateTime pulumi.StringInput `pulumi:"createTime"`
	// Expiration time. Pay-As-You-Go instances are never expire.
	ExpireTime pulumi.StringInput `pulumi:"expireTime"`
	// The ID of the RKV instance.
	Id pulumi.StringInput `pulumi:"id"`
	// Type of the applied ApsaraDB for Redis instance.
	// For more information, see [Instance type table](https://www.alibabacloud.com/help/doc-detail/61135.htm).
	InstanceClass pulumi.StringInput `pulumi:"instanceClass"`
	// Database type. Options are `Memcache`, and `Redis`. If no value is specified, all types are returned.
	InstanceType pulumi.StringInput `pulumi:"instanceType"`
	// The name of the RKV instance.
	Name pulumi.StringInput `pulumi:"name"`
	// Connection port of the instance.
	Port pulumi.IntInput `pulumi:"port"`
	// Private IP address of the instance.
	PrivateIp pulumi.StringInput `pulumi:"privateIp"`
	// Region ID the instance belongs to.
	RegionId pulumi.StringInput `pulumi:"regionId"`
	// Status of the instance.
	Status   pulumi.StringInput `pulumi:"status"`
	UserName pulumi.StringInput `pulumi:"userName"`
	// Used to retrieve instances belong to specified VPC.
	VpcId pulumi.StringInput `pulumi:"vpcId"`
	// Used to retrieve instances belong to specified `vswitch` resources.
	VswitchId pulumi.StringInput `pulumi:"vswitchId"`
}

func (GetInstancesInstanceArgs) ElementType

func (GetInstancesInstanceArgs) ElementType() reflect.Type

func (GetInstancesInstanceArgs) ToGetInstancesInstanceOutput

func (i GetInstancesInstanceArgs) ToGetInstancesInstanceOutput() GetInstancesInstanceOutput

func (GetInstancesInstanceArgs) ToGetInstancesInstanceOutputWithContext

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

type GetInstancesInstanceArray

type GetInstancesInstanceArray []GetInstancesInstanceInput

func (GetInstancesInstanceArray) ElementType

func (GetInstancesInstanceArray) ElementType() reflect.Type

func (GetInstancesInstanceArray) ToGetInstancesInstanceArrayOutput

func (i GetInstancesInstanceArray) ToGetInstancesInstanceArrayOutput() GetInstancesInstanceArrayOutput

func (GetInstancesInstanceArray) ToGetInstancesInstanceArrayOutputWithContext

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

type GetInstancesInstanceArrayInput

type GetInstancesInstanceArrayInput interface {
	pulumi.Input

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

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

GetInstancesInstanceArray{ GetInstancesInstanceArgs{...} }

type GetInstancesInstanceArrayOutput

type GetInstancesInstanceArrayOutput struct{ *pulumi.OutputState }

func (GetInstancesInstanceArrayOutput) ElementType

func (GetInstancesInstanceArrayOutput) Index

func (GetInstancesInstanceArrayOutput) ToGetInstancesInstanceArrayOutput

func (o GetInstancesInstanceArrayOutput) ToGetInstancesInstanceArrayOutput() GetInstancesInstanceArrayOutput

func (GetInstancesInstanceArrayOutput) ToGetInstancesInstanceArrayOutputWithContext

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

type GetInstancesInstanceInput

type GetInstancesInstanceInput interface {
	pulumi.Input

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

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

GetInstancesInstanceArgs{...}

type GetInstancesInstanceOutput

type GetInstancesInstanceOutput struct{ *pulumi.OutputState }

func (GetInstancesInstanceOutput) AvailabilityZone

func (o GetInstancesInstanceOutput) AvailabilityZone() pulumi.StringOutput

Availability zone.

func (GetInstancesInstanceOutput) Bandwidth

Instance bandwidth limit. Unit: Mbit/s.

func (GetInstancesInstanceOutput) Capacity

Capacity of the applied ApsaraDB for Redis instance. Unit: MB.

func (GetInstancesInstanceOutput) ChargeType

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

func (GetInstancesInstanceOutput) ConnectionDomain

func (o GetInstancesInstanceOutput) ConnectionDomain() pulumi.StringOutput

func (GetInstancesInstanceOutput) Connections

Instance connection quantity limit. Unit: count.

func (GetInstancesInstanceOutput) CreateTime

Creation time of the instance.

func (GetInstancesInstanceOutput) ElementType

func (GetInstancesInstanceOutput) ElementType() reflect.Type

func (GetInstancesInstanceOutput) ExpireTime

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

func (GetInstancesInstanceOutput) Id

The ID of the RKV instance.

func (GetInstancesInstanceOutput) InstanceClass

Type of the applied ApsaraDB for Redis instance. For more information, see [Instance type table](https://www.alibabacloud.com/help/doc-detail/61135.htm).

func (GetInstancesInstanceOutput) InstanceType

Database type. Options are `Memcache`, and `Redis`. If no value is specified, all types are returned.

func (GetInstancesInstanceOutput) Name

The name of the RKV instance.

func (GetInstancesInstanceOutput) Port

Connection port of the instance.

func (GetInstancesInstanceOutput) PrivateIp

Private IP address of the instance.

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

func (GetInstancesInstanceOutput) UserName

func (GetInstancesInstanceOutput) VpcId

Used to retrieve instances belong to specified VPC.

func (GetInstancesInstanceOutput) VswitchId

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

type GetInstancesResult

type GetInstancesResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// A list of RKV instance IDs.
	Ids           []string `pulumi:"ids"`
	InstanceClass *string  `pulumi:"instanceClass"`
	// (Optional) Database type. Options are `Memcache`, and `Redis`. If no value is specified, all types are returned.
	// * `instanceClass`- (Optional) Type of the applied ApsaraDB for Redis instance.
	//   For more information, see [Instance type table](https://www.alibabacloud.com/help/doc-detail/61135.htm).
	InstanceType *string `pulumi:"instanceType"`
	// A list of RKV instances. Its every element contains the following attributes:
	Instances  []GetInstancesInstance `pulumi:"instances"`
	NameRegex  *string                `pulumi:"nameRegex"`
	Names      []string               `pulumi:"names"`
	OutputFile *string                `pulumi:"outputFile"`
	// Status of the instance.
	Status *string                `pulumi:"status"`
	Tags   map[string]interface{} `pulumi:"tags"`
	// VPC ID the instance belongs to.
	VpcId *string `pulumi:"vpcId"`
	// VSwitch ID the instance belongs to.
	VswitchId *string `pulumi:"vswitchId"`
}

A collection of values returned by getInstances.

func GetInstances

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

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

type GetZonesArgs

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

A collection of arguments for invoking getZones.

type GetZonesResult

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

A collection of values returned by getZones.

func GetZones

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

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

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

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		zonesIds, err := kvstore.GetZones(ctx, nil, nil)
		if err != nil {
			return err
		}
		_, err = kvstore.NewInstance(ctx, "kvstore", &kvstore.InstanceArgs{
			AvailabilityZone: pulumi.String(zonesIds.Zones[0].Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetZonesZone

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

type GetZonesZoneArgs

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

func (GetZonesZoneArgs) ElementType

func (GetZonesZoneArgs) ElementType() reflect.Type

func (GetZonesZoneArgs) ToGetZonesZoneOutput

func (i GetZonesZoneArgs) ToGetZonesZoneOutput() GetZonesZoneOutput

func (GetZonesZoneArgs) ToGetZonesZoneOutputWithContext

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

type GetZonesZoneArray

type GetZonesZoneArray []GetZonesZoneInput

func (GetZonesZoneArray) ElementType

func (GetZonesZoneArray) ElementType() reflect.Type

func (GetZonesZoneArray) ToGetZonesZoneArrayOutput

func (i GetZonesZoneArray) ToGetZonesZoneArrayOutput() GetZonesZoneArrayOutput

func (GetZonesZoneArray) ToGetZonesZoneArrayOutputWithContext

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

type GetZonesZoneArrayInput

type GetZonesZoneArrayInput interface {
	pulumi.Input

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

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

GetZonesZoneArray{ GetZonesZoneArgs{...} }

type GetZonesZoneArrayOutput

type GetZonesZoneArrayOutput struct{ *pulumi.OutputState }

func (GetZonesZoneArrayOutput) ElementType

func (GetZonesZoneArrayOutput) ElementType() reflect.Type

func (GetZonesZoneArrayOutput) Index

func (GetZonesZoneArrayOutput) ToGetZonesZoneArrayOutput

func (o GetZonesZoneArrayOutput) ToGetZonesZoneArrayOutput() GetZonesZoneArrayOutput

func (GetZonesZoneArrayOutput) ToGetZonesZoneArrayOutputWithContext

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

type GetZonesZoneInput

type GetZonesZoneInput interface {
	pulumi.Input

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

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

GetZonesZoneArgs{...}

type GetZonesZoneOutput

type GetZonesZoneOutput struct{ *pulumi.OutputState }

func (GetZonesZoneOutput) ElementType

func (GetZonesZoneOutput) ElementType() reflect.Type

func (GetZonesZoneOutput) Id

ID of the zone.

func (GetZonesZoneOutput) MultiZoneIds

func (o GetZonesZoneOutput) MultiZoneIds() pulumi.StringArrayOutput

A list of zone ids in which the multi zone.

func (GetZonesZoneOutput) ToGetZonesZoneOutput

func (o GetZonesZoneOutput) ToGetZonesZoneOutput() GetZonesZoneOutput

func (GetZonesZoneOutput) ToGetZonesZoneOutputWithContext

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

type Instance

type Instance struct {
	pulumi.CustomResourceState

	// Whether to renewal a DB instance automatically or not. It is valid when instanceChargeType is `PrePaid`. Default to `false`.
	AutoRenew pulumi.BoolPtrOutput `pulumi:"autoRenew"`
	// Auto-renewal period of an instance, in the unit of the month. It is valid when instanceChargeType is `PrePaid`. Valid value:[1~12], Default to 1.
	AutoRenewPeriod pulumi.IntPtrOutput `pulumi:"autoRenewPeriod"`
	// The Zone to launch the DB instance.
	AvailabilityZone pulumi.StringOutput `pulumi:"availabilityZone"`
	// If an instance created based on a backup set generated by another instance is valid, this parameter indicates the ID of the generated backup set.
	BackupId pulumi.StringPtrOutput `pulumi:"backupId"`
	// Instance connection domain (only Intranet access supported).
	ConnectionDomain pulumi.StringOutput `pulumi:"connectionDomain"`
	// The connection address of the instance.
	ConnectionString pulumi.StringOutput `pulumi:"connectionString"`
	// The prefix of the external network connection address.
	ConnectionStringPrefix pulumi.StringPtrOutput `pulumi:"connectionStringPrefix"`
	// Whether to open the public network. Default to: `false`.
	EnablePublic pulumi.BoolPtrOutput `pulumi:"enablePublic"`
	// Engine version. Supported values: 2.8, 4.0 and 5.0. Default value: 2.8. Only 2.8 can be supported for Memcache Instance.
	EngineVersion pulumi.StringPtrOutput `pulumi:"engineVersion"`
	// Valid values are `PrePaid`, `PostPaid`, Default to `PostPaid`.
	InstanceChargeType pulumi.StringPtrOutput `pulumi:"instanceChargeType"`
	InstanceClass      pulumi.StringOutput    `pulumi:"instanceClass"`
	// The name of DB instance. It a string of 2 to 256 characters.
	InstanceName pulumi.StringPtrOutput `pulumi:"instanceName"`
	// The engine to use: `Redis` or `Memcache`. Defaults to `Redis`.
	InstanceType pulumi.StringPtrOutput `pulumi:"instanceType"`
	// An KMS encrypts password used to a instance. If the `password` is filled in, this field will be ignored.
	KmsEncryptedPassword pulumi.StringPtrOutput `pulumi:"kmsEncryptedPassword"`
	// An KMS encryption context used to decrypt `kmsEncryptedPassword` before creating or updating instance with `kmsEncryptedPassword`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kmsEncryptedPassword` is set.
	KmsEncryptionContext pulumi.MapOutput `pulumi:"kmsEncryptionContext"`
	// The end time of the operation and maintenance time period of the instance, in the format of HH:mmZ (UTC time).
	MaintainEndTime pulumi.StringOutput `pulumi:"maintainEndTime"`
	// The start time of the operation and maintenance time period of the instance, in the format of HH:mmZ (UTC time).
	MaintainStartTime pulumi.StringOutput `pulumi:"maintainStartTime"`
	// Set of parameters needs to be set after instance was launched. Available parameters can refer to the latest docs [Instance configurations table](https://www.alibabacloud.com/help/doc-detail/61209.htm) .
	Parameters InstanceParameterArrayOutput `pulumi:"parameters"`
	// The password of the DB instance. The password is a string of 8 to 30 characters and must contain uppercase letters, lowercase letters, and numbers.
	Password pulumi.StringPtrOutput `pulumi:"password"`
	// The duration that you will buy DB instance (in month). It is valid when instanceChargeType is `PrePaid`. Valid values: [1~9], 12, 24, 36. Default to 1.
	Period pulumi.IntPtrOutput `pulumi:"period"`
	// The port of redis.
	Port pulumi.StringPtrOutput `pulumi:"port"`
	// Set the instance's private IP.
	PrivateIp pulumi.StringOutput `pulumi:"privateIp"`
	// The ID of resource group which the resource belongs.
	ResourceGroupId pulumi.StringPtrOutput `pulumi:"resourceGroupId"`
	// The Security Group ID of ECS.
	SecurityGroupId pulumi.StringOutput `pulumi:"securityGroupId"`
	// Set the instance's IP whitelist of the default security group.
	SecurityIps pulumi.StringArrayOutput `pulumi:"securityIps"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapOutput `pulumi:"tags"`
	// Only meaningful if instanceType is `Redis` and network type is VPC. Valid values are `Close`, `Open`. Defaults to `Open`.  `Close` means the redis instance can be accessed without authentication. `Open` means authentication is required.
	VpcAuthMode pulumi.StringOutput `pulumi:"vpcAuthMode"`
	// The ID of VSwitch.
	VswitchId pulumi.StringPtrOutput `pulumi:"vswitchId"`
}

Provides an ApsaraDB Redis / Memcache instance resource. A DB instance is an isolated database environment in the cloud. It can be associated with IP whitelists and backup configuration which are separate resource providers.

## Example Usage

Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/kvstore"
"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 := 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
		}
		_, err = kvstore.NewInstance(ctx, "defaultInstance", &kvstore.InstanceArgs{
			InstanceClass: pulumi.String("redis.master.small.default"),
			InstanceName:  pulumi.String(name),
			VswitchId:     defaultSwitch.ID(),
			PrivateIp:     pulumi.String("172.16.0.10"),
			SecurityIps: pulumi.StringArray{
				pulumi.String("10.0.0.1"),
			},
			InstanceType:  pulumi.String("Redis"),
			EngineVersion: pulumi.String("4.0"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

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.

type InstanceArgs

type InstanceArgs struct {
	// Whether to renewal a DB instance automatically or not. It is valid when instanceChargeType is `PrePaid`. Default to `false`.
	AutoRenew pulumi.BoolPtrInput
	// Auto-renewal period of an instance, in the unit of the month. It is valid when instanceChargeType is `PrePaid`. Valid value:[1~12], Default to 1.
	AutoRenewPeriod pulumi.IntPtrInput
	// The Zone to launch the DB instance.
	AvailabilityZone pulumi.StringPtrInput
	// If an instance created based on a backup set generated by another instance is valid, this parameter indicates the ID of the generated backup set.
	BackupId pulumi.StringPtrInput
	// The prefix of the external network connection address.
	ConnectionStringPrefix pulumi.StringPtrInput
	// Whether to open the public network. Default to: `false`.
	EnablePublic pulumi.BoolPtrInput
	// Engine version. Supported values: 2.8, 4.0 and 5.0. Default value: 2.8. Only 2.8 can be supported for Memcache Instance.
	EngineVersion pulumi.StringPtrInput
	// Valid values are `PrePaid`, `PostPaid`, Default to `PostPaid`.
	InstanceChargeType pulumi.StringPtrInput
	InstanceClass      pulumi.StringInput
	// The name of DB instance. It a string of 2 to 256 characters.
	InstanceName pulumi.StringPtrInput
	// The engine to use: `Redis` or `Memcache`. Defaults to `Redis`.
	InstanceType pulumi.StringPtrInput
	// An KMS encrypts password used to a instance. If the `password` is filled in, this field will be ignored.
	KmsEncryptedPassword pulumi.StringPtrInput
	// An KMS encryption context used to decrypt `kmsEncryptedPassword` before creating or updating instance with `kmsEncryptedPassword`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kmsEncryptedPassword` is set.
	KmsEncryptionContext pulumi.MapInput
	// The end time of the operation and maintenance time period of the instance, in the format of HH:mmZ (UTC time).
	MaintainEndTime pulumi.StringPtrInput
	// The start time of the operation and maintenance time period of the instance, in the format of HH:mmZ (UTC time).
	MaintainStartTime pulumi.StringPtrInput
	// Set of parameters needs to be set after instance was launched. Available parameters can refer to the latest docs [Instance configurations table](https://www.alibabacloud.com/help/doc-detail/61209.htm) .
	Parameters InstanceParameterArrayInput
	// The password of the DB instance. The password is a string of 8 to 30 characters and must contain uppercase letters, lowercase letters, and numbers.
	Password pulumi.StringPtrInput
	// The duration that you will buy DB instance (in month). It is valid when instanceChargeType is `PrePaid`. Valid values: [1~9], 12, 24, 36. Default to 1.
	Period pulumi.IntPtrInput
	// The port of redis.
	Port pulumi.StringPtrInput
	// Set the instance's private IP.
	PrivateIp pulumi.StringPtrInput
	// The ID of resource group which the resource belongs.
	ResourceGroupId pulumi.StringPtrInput
	// The Security Group ID of ECS.
	SecurityGroupId pulumi.StringPtrInput
	// Set the instance's IP whitelist of the default security group.
	SecurityIps pulumi.StringArrayInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
	// Only meaningful if instanceType is `Redis` and network type is VPC. Valid values are `Close`, `Open`. Defaults to `Open`.  `Close` means the redis instance can be accessed without authentication. `Open` means authentication is required.
	VpcAuthMode pulumi.StringPtrInput
	// The ID of VSwitch.
	VswitchId pulumi.StringPtrInput
}

The set of arguments for constructing a Instance resource.

func (InstanceArgs) ElementType

func (InstanceArgs) ElementType() reflect.Type

type InstanceParameter

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

type InstanceParameterArgs

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

func (InstanceParameterArgs) ElementType

func (InstanceParameterArgs) ElementType() reflect.Type

func (InstanceParameterArgs) ToInstanceParameterOutput

func (i InstanceParameterArgs) ToInstanceParameterOutput() InstanceParameterOutput

func (InstanceParameterArgs) ToInstanceParameterOutputWithContext

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

type InstanceParameterArray

type InstanceParameterArray []InstanceParameterInput

func (InstanceParameterArray) ElementType

func (InstanceParameterArray) ElementType() reflect.Type

func (InstanceParameterArray) ToInstanceParameterArrayOutput

func (i InstanceParameterArray) ToInstanceParameterArrayOutput() InstanceParameterArrayOutput

func (InstanceParameterArray) ToInstanceParameterArrayOutputWithContext

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

type InstanceParameterArrayInput

type InstanceParameterArrayInput interface {
	pulumi.Input

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

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

InstanceParameterArray{ InstanceParameterArgs{...} }

type InstanceParameterArrayOutput

type InstanceParameterArrayOutput struct{ *pulumi.OutputState }

func (InstanceParameterArrayOutput) ElementType

func (InstanceParameterArrayOutput) Index

func (InstanceParameterArrayOutput) ToInstanceParameterArrayOutput

func (o InstanceParameterArrayOutput) ToInstanceParameterArrayOutput() InstanceParameterArrayOutput

func (InstanceParameterArrayOutput) ToInstanceParameterArrayOutputWithContext

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

type InstanceParameterInput

type InstanceParameterInput interface {
	pulumi.Input

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

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

InstanceParameterArgs{...}

type InstanceParameterOutput

type InstanceParameterOutput struct{ *pulumi.OutputState }

func (InstanceParameterOutput) ElementType

func (InstanceParameterOutput) ElementType() reflect.Type

func (InstanceParameterOutput) Name

func (InstanceParameterOutput) ToInstanceParameterOutput

func (o InstanceParameterOutput) ToInstanceParameterOutput() InstanceParameterOutput

func (InstanceParameterOutput) ToInstanceParameterOutputWithContext

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

func (InstanceParameterOutput) Value

type InstanceState

type InstanceState struct {
	// Whether to renewal a DB instance automatically or not. It is valid when instanceChargeType is `PrePaid`. Default to `false`.
	AutoRenew pulumi.BoolPtrInput
	// Auto-renewal period of an instance, in the unit of the month. It is valid when instanceChargeType is `PrePaid`. Valid value:[1~12], Default to 1.
	AutoRenewPeriod pulumi.IntPtrInput
	// The Zone to launch the DB instance.
	AvailabilityZone pulumi.StringPtrInput
	// If an instance created based on a backup set generated by another instance is valid, this parameter indicates the ID of the generated backup set.
	BackupId pulumi.StringPtrInput
	// Instance connection domain (only Intranet access supported).
	ConnectionDomain pulumi.StringPtrInput
	// The connection address of the instance.
	ConnectionString pulumi.StringPtrInput
	// The prefix of the external network connection address.
	ConnectionStringPrefix pulumi.StringPtrInput
	// Whether to open the public network. Default to: `false`.
	EnablePublic pulumi.BoolPtrInput
	// Engine version. Supported values: 2.8, 4.0 and 5.0. Default value: 2.8. Only 2.8 can be supported for Memcache Instance.
	EngineVersion pulumi.StringPtrInput
	// Valid values are `PrePaid`, `PostPaid`, Default to `PostPaid`.
	InstanceChargeType pulumi.StringPtrInput
	InstanceClass      pulumi.StringPtrInput
	// The name of DB instance. It a string of 2 to 256 characters.
	InstanceName pulumi.StringPtrInput
	// The engine to use: `Redis` or `Memcache`. Defaults to `Redis`.
	InstanceType pulumi.StringPtrInput
	// An KMS encrypts password used to a instance. If the `password` is filled in, this field will be ignored.
	KmsEncryptedPassword pulumi.StringPtrInput
	// An KMS encryption context used to decrypt `kmsEncryptedPassword` before creating or updating instance with `kmsEncryptedPassword`. See [Encryption Context](https://www.alibabacloud.com/help/doc-detail/42975.htm). It is valid when `kmsEncryptedPassword` is set.
	KmsEncryptionContext pulumi.MapInput
	// The end time of the operation and maintenance time period of the instance, in the format of HH:mmZ (UTC time).
	MaintainEndTime pulumi.StringPtrInput
	// The start time of the operation and maintenance time period of the instance, in the format of HH:mmZ (UTC time).
	MaintainStartTime pulumi.StringPtrInput
	// Set of parameters needs to be set after instance was launched. Available parameters can refer to the latest docs [Instance configurations table](https://www.alibabacloud.com/help/doc-detail/61209.htm) .
	Parameters InstanceParameterArrayInput
	// The password of the DB instance. The password is a string of 8 to 30 characters and must contain uppercase letters, lowercase letters, and numbers.
	Password pulumi.StringPtrInput
	// The duration that you will buy DB instance (in month). It is valid when instanceChargeType is `PrePaid`. Valid values: [1~9], 12, 24, 36. Default to 1.
	Period pulumi.IntPtrInput
	// The port of redis.
	Port pulumi.StringPtrInput
	// Set the instance's private IP.
	PrivateIp pulumi.StringPtrInput
	// The ID of resource group which the resource belongs.
	ResourceGroupId pulumi.StringPtrInput
	// The Security Group ID of ECS.
	SecurityGroupId pulumi.StringPtrInput
	// Set the instance's IP whitelist of the default security group.
	SecurityIps pulumi.StringArrayInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
	// Only meaningful if instanceType is `Redis` and network type is VPC. Valid values are `Close`, `Open`. Defaults to `Open`.  `Close` means the redis instance can be accessed without authentication. `Open` means authentication is required.
	VpcAuthMode pulumi.StringPtrInput
	// The ID of VSwitch.
	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