cassandra

package
v2.17.0 Latest Latest
Warning

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

Go to latest
Published: Sep 14, 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 Cluster

type Cluster struct {
	pulumi.CustomResourceState

	// Auto renew of dataCenter-1,`true` or `false`. System default to `false`, valid when payType = PrePaid.
	AutoRenew pulumi.BoolPtrOutput `pulumi:"autoRenew"`
	// Period of dataCenter-1 auto renew, if auto renew is `true`, one of `1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 60`, valid when payType = Subscription. Unit: month.
	AutoRenewPeriod pulumi.IntPtrOutput `pulumi:"autoRenewPeriod"`
	// Cassandra cluster name. Length must be 2~128 characters long. Only Chinese characters, English letters, numbers, period `.`, underline `_`, or dash `-` are permitted.
	ClusterName pulumi.StringPtrOutput `pulumi:"clusterName"`
	// Cassandra dataCenter-1 name. Length must be 2~128 characters long. Only Chinese characters, English letters, numbers, period `.`, underline `_`, or dash `-` are permitted.
	DataCenterName pulumi.StringPtrOutput `pulumi:"dataCenterName"`
	// User-defined Cassandra dataCenter-1 one node's storage space.Unit: GB. Value range:
	// - Custom storage space; value range: [160, 2000].
	// - 80-GB increments.
	DiskSize pulumi.IntPtrOutput `pulumi:"diskSize"`
	// The disk type of Cassandra dataCenter-1. Valid values are `cloudSsd`, `cloudEfficiency`, `localHddPro`, `localSsdPro`, localDisk size is fixed.
	DiskType     pulumi.StringPtrOutput `pulumi:"diskType"`
	EnablePublic pulumi.BoolPtrOutput   `pulumi:"enablePublic"`
	// Instance specification. See [Instance specifications](https://help.aliyun.com/document_detail/157445.html). Or you can call describeInstanceType api.
	InstanceType pulumi.StringOutput `pulumi:"instanceType"`
	// Set the instance's IP whitelist in VPC network.
	IpWhite pulumi.StringOutput `pulumi:"ipWhite"`
	// The end time of the operation and maintenance time period of the cluster, in the format of HH:mmZ (UTC time).
	MaintainEndTime pulumi.StringPtrOutput `pulumi:"maintainEndTime"`
	// The start time of the operation and maintenance time period of the cluster, in the format of HH:mmZ (UTC time).
	MaintainStartTime pulumi.StringPtrOutput `pulumi:"maintainStartTime"`
	// Cassandra major version. Now only support version `3.11`.
	MajorVersion pulumi.StringOutput `pulumi:"majorVersion"`
	// The node count of Cassandra dataCenter-1 default to 2.
	NodeCount pulumi.IntOutput       `pulumi:"nodeCount"`
	Password  pulumi.StringPtrOutput `pulumi:"password"`
	// The pay type of Cassandra dataCenter-1. Valid values are `Subscription`, `PayAsYouGo`,System default to `PayAsYouGo`.
	PayType      pulumi.StringOutput      `pulumi:"payType"`
	Period       pulumi.IntPtrOutput      `pulumi:"period"`
	PeriodUnit   pulumi.StringPtrOutput   `pulumi:"periodUnit"`
	PublicPoints pulumi.StringArrayOutput `pulumi:"publicPoints"`
	// A list of security group ids to associate with.
	SecurityGroups pulumi.StringArrayOutput `pulumi:"securityGroups"`
	Status         pulumi.StringOutput      `pulumi:"status"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapOutput `pulumi:"tags"`
	// The vswitchId of dataCenter-1, can not empty.
	VswitchId pulumi.StringOutput `pulumi:"vswitchId"`
	// The Zone to launch the Cassandra cluster. If vswitchId is not empty, this zoneId can be "" or consistent.
	ZoneId pulumi.StringOutput `pulumi:"zoneId"`
}

Provides a Cassandra cluster resource supports replica set clusters only. The Cassandra provides stable, reliable, and automatic scalable database services. It offers a full range of database solutions, such as disaster recovery, backup, recovery, monitoring, and alarms. You can see detail product introduction [here](https://www.alibabacloud.com/help/product/49055.htm).

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

> **NOTE:** The following regions support create Vpc network Cassandra cluster. The official website mark more regions. Or you can call [DescribeRegions](https://help.aliyun.com/document_detail/157540.html).

> **NOTE:** Create Cassandra cluster or change cluster type and storage would cost 30 minutes. Please make full preparation.

## Example Usage ### Create a cassandra cluster

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cassandra.NewCluster(ctx, "_default", &cassandra.ClusterArgs{
			AutoRenew:         pulumi.Bool(false),
			ClusterName:       pulumi.String("cassandra-cluster-name-tf"),
			DataCenterName:    pulumi.String("dc-1"),
			DiskSize:          pulumi.Int(160),
			DiskType:          pulumi.String("cloud_ssd"),
			InstanceType:      pulumi.String("cassandra.c.large"),
			IpWhite:           pulumi.String("127.0.0.1"),
			MaintainEndTime:   pulumi.String("20:00Z"),
			MaintainStartTime: pulumi.String("18:00Z"),
			MajorVersion:      pulumi.String("3.11"),
			NodeCount:         pulumi.Int(2),
			PayType:           pulumi.String("PayAsYouGo"),
			VswitchId:         pulumi.String("vsw-xxxx"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

This is a example for class netType cluster. You can find more detail with the examples/cassandra_cluster dir.

func GetCluster

func GetCluster(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ClusterState, opts ...pulumi.ResourceOption) (*Cluster, error)

GetCluster gets an existing Cluster 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 NewCluster

func NewCluster(ctx *pulumi.Context,
	name string, args *ClusterArgs, opts ...pulumi.ResourceOption) (*Cluster, error)

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

type ClusterArgs

type ClusterArgs struct {
	// Auto renew of dataCenter-1,`true` or `false`. System default to `false`, valid when payType = PrePaid.
	AutoRenew pulumi.BoolPtrInput
	// Period of dataCenter-1 auto renew, if auto renew is `true`, one of `1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 60`, valid when payType = Subscription. Unit: month.
	AutoRenewPeriod pulumi.IntPtrInput
	// Cassandra cluster name. Length must be 2~128 characters long. Only Chinese characters, English letters, numbers, period `.`, underline `_`, or dash `-` are permitted.
	ClusterName pulumi.StringPtrInput
	// Cassandra dataCenter-1 name. Length must be 2~128 characters long. Only Chinese characters, English letters, numbers, period `.`, underline `_`, or dash `-` are permitted.
	DataCenterName pulumi.StringPtrInput
	// User-defined Cassandra dataCenter-1 one node's storage space.Unit: GB. Value range:
	// - Custom storage space; value range: [160, 2000].
	// - 80-GB increments.
	DiskSize pulumi.IntPtrInput
	// The disk type of Cassandra dataCenter-1. Valid values are `cloudSsd`, `cloudEfficiency`, `localHddPro`, `localSsdPro`, localDisk size is fixed.
	DiskType     pulumi.StringPtrInput
	EnablePublic pulumi.BoolPtrInput
	// Instance specification. See [Instance specifications](https://help.aliyun.com/document_detail/157445.html). Or you can call describeInstanceType api.
	InstanceType pulumi.StringInput
	// Set the instance's IP whitelist in VPC network.
	IpWhite pulumi.StringPtrInput
	// The end time of the operation and maintenance time period of the cluster, in the format of HH:mmZ (UTC time).
	MaintainEndTime pulumi.StringPtrInput
	// The start time of the operation and maintenance time period of the cluster, in the format of HH:mmZ (UTC time).
	MaintainStartTime pulumi.StringPtrInput
	// Cassandra major version. Now only support version `3.11`.
	MajorVersion pulumi.StringInput
	// The node count of Cassandra dataCenter-1 default to 2.
	NodeCount pulumi.IntInput
	Password  pulumi.StringPtrInput
	// The pay type of Cassandra dataCenter-1. Valid values are `Subscription`, `PayAsYouGo`,System default to `PayAsYouGo`.
	PayType    pulumi.StringInput
	Period     pulumi.IntPtrInput
	PeriodUnit pulumi.StringPtrInput
	// A list of security group ids to associate with.
	SecurityGroups pulumi.StringArrayInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
	// The vswitchId of dataCenter-1, can not empty.
	VswitchId pulumi.StringInput
	// The Zone to launch the Cassandra cluster. If vswitchId is not empty, this zoneId can be "" or consistent.
	ZoneId pulumi.StringPtrInput
}

The set of arguments for constructing a Cluster resource.

func (ClusterArgs) ElementType

func (ClusterArgs) ElementType() reflect.Type

type ClusterState

type ClusterState struct {
	// Auto renew of dataCenter-1,`true` or `false`. System default to `false`, valid when payType = PrePaid.
	AutoRenew pulumi.BoolPtrInput
	// Period of dataCenter-1 auto renew, if auto renew is `true`, one of `1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 60`, valid when payType = Subscription. Unit: month.
	AutoRenewPeriod pulumi.IntPtrInput
	// Cassandra cluster name. Length must be 2~128 characters long. Only Chinese characters, English letters, numbers, period `.`, underline `_`, or dash `-` are permitted.
	ClusterName pulumi.StringPtrInput
	// Cassandra dataCenter-1 name. Length must be 2~128 characters long. Only Chinese characters, English letters, numbers, period `.`, underline `_`, or dash `-` are permitted.
	DataCenterName pulumi.StringPtrInput
	// User-defined Cassandra dataCenter-1 one node's storage space.Unit: GB. Value range:
	// - Custom storage space; value range: [160, 2000].
	// - 80-GB increments.
	DiskSize pulumi.IntPtrInput
	// The disk type of Cassandra dataCenter-1. Valid values are `cloudSsd`, `cloudEfficiency`, `localHddPro`, `localSsdPro`, localDisk size is fixed.
	DiskType     pulumi.StringPtrInput
	EnablePublic pulumi.BoolPtrInput
	// Instance specification. See [Instance specifications](https://help.aliyun.com/document_detail/157445.html). Or you can call describeInstanceType api.
	InstanceType pulumi.StringPtrInput
	// Set the instance's IP whitelist in VPC network.
	IpWhite pulumi.StringPtrInput
	// The end time of the operation and maintenance time period of the cluster, in the format of HH:mmZ (UTC time).
	MaintainEndTime pulumi.StringPtrInput
	// The start time of the operation and maintenance time period of the cluster, in the format of HH:mmZ (UTC time).
	MaintainStartTime pulumi.StringPtrInput
	// Cassandra major version. Now only support version `3.11`.
	MajorVersion pulumi.StringPtrInput
	// The node count of Cassandra dataCenter-1 default to 2.
	NodeCount pulumi.IntPtrInput
	Password  pulumi.StringPtrInput
	// The pay type of Cassandra dataCenter-1. Valid values are `Subscription`, `PayAsYouGo`,System default to `PayAsYouGo`.
	PayType      pulumi.StringPtrInput
	Period       pulumi.IntPtrInput
	PeriodUnit   pulumi.StringPtrInput
	PublicPoints pulumi.StringArrayInput
	// A list of security group ids to associate with.
	SecurityGroups pulumi.StringArrayInput
	Status         pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput
	// The vswitchId of dataCenter-1, can not empty.
	VswitchId pulumi.StringPtrInput
	// The Zone to launch the Cassandra cluster. If vswitchId is not empty, this zoneId can be "" or consistent.
	ZoneId pulumi.StringPtrInput
}

func (ClusterState) ElementType

func (ClusterState) ElementType() reflect.Type

type DataCenter

type DataCenter struct {
	pulumi.CustomResourceState

	// Auto renew of dataCenter-2,`true` or `false`. System default to `false`, valid when payType = Subscription.
	AutoRenew pulumi.BoolPtrOutput `pulumi:"autoRenew"`
	// Period of dataCenter-2 auto renew, if auto renew is `true`, one of `1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 60`, valid when payType = Subscription. Unit: month.
	AutoRenewPeriod pulumi.IntPtrOutput `pulumi:"autoRenewPeriod"`
	// Cassandra cluster id of dataCenter-2 belongs to.
	ClusterId    pulumi.StringOutput `pulumi:"clusterId"`
	DataCenterId pulumi.StringOutput `pulumi:"dataCenterId"`
	// Cassandra dataCenter-2 name. Length must be 2~128 characters long. Only Chinese characters, English letters, numbers, period `.`, underline `_`, or dash `-` are permitted.
	DataCenterName pulumi.StringPtrOutput `pulumi:"dataCenterName"`
	// User-defined Cassandra dataCenter one core node's storage space.Unit: GB. Value range:
	// - Custom storage space; value range: [160, 2000].
	// - 80-GB increments.
	DiskSize pulumi.IntPtrOutput `pulumi:"diskSize"`
	// The disk type of Cassandra dataCenter-2. Valid values are `cloudSsd`, `cloudEfficiency`, `localHddPro`, `localSsdPro`, localDisk size is fixed.
	DiskType     pulumi.StringPtrOutput `pulumi:"diskType"`
	EnablePublic pulumi.BoolPtrOutput   `pulumi:"enablePublic"`
	// Instance specification. See [Instance specifications](https://help.aliyun.com/document_detail/157445.html). Or you can call describeInstanceType api.
	InstanceType pulumi.StringOutput `pulumi:"instanceType"`
	// The node count of Cassandra dataCenter-2, default to 2.
	NodeCount pulumi.IntOutput `pulumi:"nodeCount"`
	// The pay type of Cassandra dataCenter-2. Valid values are `Subscription`, `PayAsYouGo`. System default to `PayAsYouGo`.
	PayType      pulumi.StringOutput      `pulumi:"payType"`
	Period       pulumi.IntPtrOutput      `pulumi:"period"`
	PeriodUnit   pulumi.StringPtrOutput   `pulumi:"periodUnit"`
	PublicPoints pulumi.StringArrayOutput `pulumi:"publicPoints"`
	Status       pulumi.StringOutput      `pulumi:"status"`
	// The vswitchId of dataCenter-2, mast different of vswitch_id(dc-1), can not empty.
	VswitchId pulumi.StringOutput `pulumi:"vswitchId"`
	// The Zone to launch the Cassandra dataCenter-2. If vswitchId is not empty, this zoneId can be "" or consistent.
	ZoneId pulumi.StringOutput `pulumi:"zoneId"`
}

Provides a Cassandra dataCenter resource supports replica set dataCenters only. The Cassandra provides stable, reliable, and automatic scalable database services. It offers a full range of database solutions, such as disaster recovery, backup, recovery, monitoring, and alarms. You can see detail product introduction [here](https://www.alibabacloud.com/help/product/49055.htm).

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

> **NOTE:** Create a cassandra dataCenter need a clusterId,so need create a cassandra cluster first.

> **NOTE:** The following regions support create Vpc network Cassandra cluster. The official website mark more regions. Or you can call [DescribeRegions](https://help.aliyun.com/document_detail/157540.html).

> **NOTE:** Create Cassandra dataCenter or change dataCenter type and storage would cost 30 minutes. Please make full preparation.

## Example Usage ### Create a cassandra dataCenter

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		defaultCluster, err := cassandra.NewCluster(ctx, "defaultCluster", &cassandra.ClusterArgs{
			ClusterName:       pulumi.String("cassandra-cluster-name-tf"),
			DataCenterName:    pulumi.String("dc-1"),
			AutoRenew:         pulumi.Bool(false),
			InstanceType:      pulumi.String("cassandra.c.large"),
			MajorVersion:      pulumi.String("3.11"),
			NodeCount:         pulumi.Int(2),
			PayType:           pulumi.String("PayAsYouGo"),
			VswitchId:         pulumi.String("vsw-xxxx1"),
			DiskSize:          pulumi.Int(160),
			DiskType:          pulumi.String("cloud_ssd"),
			MaintainStartTime: pulumi.String("18:00Z"),
			MaintainEndTime:   pulumi.String("20:00Z"),
			IpWhite:           pulumi.String("127.0.0.1"),
		})
		if err != nil {
			return err
		}
		_, err = cassandra.NewDataCenter(ctx, "defaultDataCenter", &cassandra.DataCenterArgs{
			ClusterId:      defaultCluster.ID(),
			DataCenterName: pulumi.String("dc-2"),
			AutoRenew:      pulumi.Bool(false),
			InstanceType:   pulumi.String("cassandra.c.large"),
			NodeCount:      pulumi.Int(2),
			PayType:        pulumi.String("PayAsYouGo"),
			VswitchId:      pulumi.String("vsw-xxxx2"),
			DiskSize:       pulumi.Int(160),
			DiskType:       pulumi.String("cloud_ssd"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

This is a example for class netType dataCenter. You can find more detail with the examples/cassandra_data_center dir.

func GetDataCenter

func GetDataCenter(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DataCenterState, opts ...pulumi.ResourceOption) (*DataCenter, error)

GetDataCenter gets an existing DataCenter 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 NewDataCenter

func NewDataCenter(ctx *pulumi.Context,
	name string, args *DataCenterArgs, opts ...pulumi.ResourceOption) (*DataCenter, error)

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

type DataCenterArgs

type DataCenterArgs struct {
	// Auto renew of dataCenter-2,`true` or `false`. System default to `false`, valid when payType = Subscription.
	AutoRenew pulumi.BoolPtrInput
	// Period of dataCenter-2 auto renew, if auto renew is `true`, one of `1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 60`, valid when payType = Subscription. Unit: month.
	AutoRenewPeriod pulumi.IntPtrInput
	// Cassandra cluster id of dataCenter-2 belongs to.
	ClusterId pulumi.StringInput
	// Cassandra dataCenter-2 name. Length must be 2~128 characters long. Only Chinese characters, English letters, numbers, period `.`, underline `_`, or dash `-` are permitted.
	DataCenterName pulumi.StringPtrInput
	// User-defined Cassandra dataCenter one core node's storage space.Unit: GB. Value range:
	// - Custom storage space; value range: [160, 2000].
	// - 80-GB increments.
	DiskSize pulumi.IntPtrInput
	// The disk type of Cassandra dataCenter-2. Valid values are `cloudSsd`, `cloudEfficiency`, `localHddPro`, `localSsdPro`, localDisk size is fixed.
	DiskType     pulumi.StringPtrInput
	EnablePublic pulumi.BoolPtrInput
	// Instance specification. See [Instance specifications](https://help.aliyun.com/document_detail/157445.html). Or you can call describeInstanceType api.
	InstanceType pulumi.StringInput
	// The node count of Cassandra dataCenter-2, default to 2.
	NodeCount pulumi.IntInput
	// The pay type of Cassandra dataCenter-2. Valid values are `Subscription`, `PayAsYouGo`. System default to `PayAsYouGo`.
	PayType    pulumi.StringInput
	Period     pulumi.IntPtrInput
	PeriodUnit pulumi.StringPtrInput
	// The vswitchId of dataCenter-2, mast different of vswitch_id(dc-1), can not empty.
	VswitchId pulumi.StringInput
	// The Zone to launch the Cassandra dataCenter-2. If vswitchId is not empty, this zoneId can be "" or consistent.
	ZoneId pulumi.StringPtrInput
}

The set of arguments for constructing a DataCenter resource.

func (DataCenterArgs) ElementType

func (DataCenterArgs) ElementType() reflect.Type

type DataCenterState

type DataCenterState struct {
	// Auto renew of dataCenter-2,`true` or `false`. System default to `false`, valid when payType = Subscription.
	AutoRenew pulumi.BoolPtrInput
	// Period of dataCenter-2 auto renew, if auto renew is `true`, one of `1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 60`, valid when payType = Subscription. Unit: month.
	AutoRenewPeriod pulumi.IntPtrInput
	// Cassandra cluster id of dataCenter-2 belongs to.
	ClusterId    pulumi.StringPtrInput
	DataCenterId pulumi.StringPtrInput
	// Cassandra dataCenter-2 name. Length must be 2~128 characters long. Only Chinese characters, English letters, numbers, period `.`, underline `_`, or dash `-` are permitted.
	DataCenterName pulumi.StringPtrInput
	// User-defined Cassandra dataCenter one core node's storage space.Unit: GB. Value range:
	// - Custom storage space; value range: [160, 2000].
	// - 80-GB increments.
	DiskSize pulumi.IntPtrInput
	// The disk type of Cassandra dataCenter-2. Valid values are `cloudSsd`, `cloudEfficiency`, `localHddPro`, `localSsdPro`, localDisk size is fixed.
	DiskType     pulumi.StringPtrInput
	EnablePublic pulumi.BoolPtrInput
	// Instance specification. See [Instance specifications](https://help.aliyun.com/document_detail/157445.html). Or you can call describeInstanceType api.
	InstanceType pulumi.StringPtrInput
	// The node count of Cassandra dataCenter-2, default to 2.
	NodeCount pulumi.IntPtrInput
	// The pay type of Cassandra dataCenter-2. Valid values are `Subscription`, `PayAsYouGo`. System default to `PayAsYouGo`.
	PayType      pulumi.StringPtrInput
	Period       pulumi.IntPtrInput
	PeriodUnit   pulumi.StringPtrInput
	PublicPoints pulumi.StringArrayInput
	Status       pulumi.StringPtrInput
	// The vswitchId of dataCenter-2, mast different of vswitch_id(dc-1), can not empty.
	VswitchId pulumi.StringPtrInput
	// The Zone to launch the Cassandra dataCenter-2. If vswitchId is not empty, this zoneId can be "" or consistent.
	ZoneId pulumi.StringPtrInput
}

func (DataCenterState) ElementType

func (DataCenterState) ElementType() reflect.Type

type GetClustersArgs

type GetClustersArgs struct {
	// The list of Cassandra cluster ids.
	Ids []string `pulumi:"ids"`
	// A regex string to apply to the cluster name.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
	// A mapping of tags to assign to the resource.
	Tags map[string]interface{} `pulumi:"tags"`
}

A collection of arguments for invoking getClusters.

type GetClustersCluster

type GetClustersCluster struct {
	// The ID of the Cassandra cluster.
	ClusterId string `pulumi:"clusterId"`
	// The name of the Cassandra cluster.
	ClusterName string `pulumi:"clusterName"`
	CreatedTime string `pulumi:"createdTime"`
	// The count of data centers
	DataCenterCount int `pulumi:"dataCenterCount"`
	// The expire time of the cluster.
	ExpireTime string `pulumi:"expireTime"`
	// The ID of the Cassandra cluster.
	Id string `pulumi:"id"`
	// The lock mode of the cluster.
	LockMode string `pulumi:"lockMode"`
	// The major version of the cluster.
	MajorVersion string `pulumi:"majorVersion"`
	// The minor version of the cluster.
	MinorVersion string `pulumi:"minorVersion"`
	// Billing method. Value options are `Subscription` for Pay-As-You-Go and `PayAsYouGo` for yearly or monthly subscription.
	PayType string `pulumi:"payType"`
	// Status of the cluster.
	Status string `pulumi:"status"`
	// A mapping of tags to assign to the resource.
	Tags map[string]interface{} `pulumi:"tags"`
}

type GetClustersClusterArgs

type GetClustersClusterArgs struct {
	// The ID of the Cassandra cluster.
	ClusterId pulumi.StringInput `pulumi:"clusterId"`
	// The name of the Cassandra cluster.
	ClusterName pulumi.StringInput `pulumi:"clusterName"`
	CreatedTime pulumi.StringInput `pulumi:"createdTime"`
	// The count of data centers
	DataCenterCount pulumi.IntInput `pulumi:"dataCenterCount"`
	// The expire time of the cluster.
	ExpireTime pulumi.StringInput `pulumi:"expireTime"`
	// The ID of the Cassandra cluster.
	Id pulumi.StringInput `pulumi:"id"`
	// The lock mode of the cluster.
	LockMode pulumi.StringInput `pulumi:"lockMode"`
	// The major version of the cluster.
	MajorVersion pulumi.StringInput `pulumi:"majorVersion"`
	// The minor version of the cluster.
	MinorVersion pulumi.StringInput `pulumi:"minorVersion"`
	// Billing method. Value options are `Subscription` for Pay-As-You-Go and `PayAsYouGo` for yearly or monthly subscription.
	PayType pulumi.StringInput `pulumi:"payType"`
	// Status of the cluster.
	Status pulumi.StringInput `pulumi:"status"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.MapInput `pulumi:"tags"`
}

func (GetClustersClusterArgs) ElementType

func (GetClustersClusterArgs) ElementType() reflect.Type

func (GetClustersClusterArgs) ToGetClustersClusterOutput

func (i GetClustersClusterArgs) ToGetClustersClusterOutput() GetClustersClusterOutput

func (GetClustersClusterArgs) ToGetClustersClusterOutputWithContext

func (i GetClustersClusterArgs) ToGetClustersClusterOutputWithContext(ctx context.Context) GetClustersClusterOutput

type GetClustersClusterArray

type GetClustersClusterArray []GetClustersClusterInput

func (GetClustersClusterArray) ElementType

func (GetClustersClusterArray) ElementType() reflect.Type

func (GetClustersClusterArray) ToGetClustersClusterArrayOutput

func (i GetClustersClusterArray) ToGetClustersClusterArrayOutput() GetClustersClusterArrayOutput

func (GetClustersClusterArray) ToGetClustersClusterArrayOutputWithContext

func (i GetClustersClusterArray) ToGetClustersClusterArrayOutputWithContext(ctx context.Context) GetClustersClusterArrayOutput

type GetClustersClusterArrayInput

type GetClustersClusterArrayInput interface {
	pulumi.Input

	ToGetClustersClusterArrayOutput() GetClustersClusterArrayOutput
	ToGetClustersClusterArrayOutputWithContext(context.Context) GetClustersClusterArrayOutput
}

GetClustersClusterArrayInput is an input type that accepts GetClustersClusterArray and GetClustersClusterArrayOutput values. You can construct a concrete instance of `GetClustersClusterArrayInput` via:

GetClustersClusterArray{ GetClustersClusterArgs{...} }

type GetClustersClusterArrayOutput

type GetClustersClusterArrayOutput struct{ *pulumi.OutputState }

func (GetClustersClusterArrayOutput) ElementType

func (GetClustersClusterArrayOutput) Index

func (GetClustersClusterArrayOutput) ToGetClustersClusterArrayOutput

func (o GetClustersClusterArrayOutput) ToGetClustersClusterArrayOutput() GetClustersClusterArrayOutput

func (GetClustersClusterArrayOutput) ToGetClustersClusterArrayOutputWithContext

func (o GetClustersClusterArrayOutput) ToGetClustersClusterArrayOutputWithContext(ctx context.Context) GetClustersClusterArrayOutput

type GetClustersClusterInput

type GetClustersClusterInput interface {
	pulumi.Input

	ToGetClustersClusterOutput() GetClustersClusterOutput
	ToGetClustersClusterOutputWithContext(context.Context) GetClustersClusterOutput
}

GetClustersClusterInput is an input type that accepts GetClustersClusterArgs and GetClustersClusterOutput values. You can construct a concrete instance of `GetClustersClusterInput` via:

GetClustersClusterArgs{...}

type GetClustersClusterOutput

type GetClustersClusterOutput struct{ *pulumi.OutputState }

func (GetClustersClusterOutput) ClusterId

The ID of the Cassandra cluster.

func (GetClustersClusterOutput) ClusterName

The name of the Cassandra cluster.

func (GetClustersClusterOutput) CreatedTime

func (GetClustersClusterOutput) DataCenterCount

func (o GetClustersClusterOutput) DataCenterCount() pulumi.IntOutput

The count of data centers

func (GetClustersClusterOutput) ElementType

func (GetClustersClusterOutput) ElementType() reflect.Type

func (GetClustersClusterOutput) ExpireTime

The expire time of the cluster.

func (GetClustersClusterOutput) Id

The ID of the Cassandra cluster.

func (GetClustersClusterOutput) LockMode

The lock mode of the cluster.

func (GetClustersClusterOutput) MajorVersion

func (o GetClustersClusterOutput) MajorVersion() pulumi.StringOutput

The major version of the cluster.

func (GetClustersClusterOutput) MinorVersion

func (o GetClustersClusterOutput) MinorVersion() pulumi.StringOutput

The minor version of the cluster.

func (GetClustersClusterOutput) PayType

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

func (GetClustersClusterOutput) Status

Status of the cluster.

func (GetClustersClusterOutput) Tags

A mapping of tags to assign to the resource.

func (GetClustersClusterOutput) ToGetClustersClusterOutput

func (o GetClustersClusterOutput) ToGetClustersClusterOutput() GetClustersClusterOutput

func (GetClustersClusterOutput) ToGetClustersClusterOutputWithContext

func (o GetClustersClusterOutput) ToGetClustersClusterOutputWithContext(ctx context.Context) GetClustersClusterOutput

type GetClustersResult

type GetClustersResult struct {
	// A list of Cassandra clusters. Its every element contains the following attributes:
	Clusters []GetClustersCluster `pulumi:"clusters"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The list of Cassandra cluster ids.
	Ids       []string `pulumi:"ids"`
	NameRegex *string  `pulumi:"nameRegex"`
	// The name list of Cassandra clusters.
	Names      []string `pulumi:"names"`
	OutputFile *string  `pulumi:"outputFile"`
	// A mapping of tags to assign to the resource.
	Tags map[string]interface{} `pulumi:"tags"`
}

A collection of values returned by getClusters.

func GetClusters

func GetClusters(ctx *pulumi.Context, args *GetClustersArgs, opts ...pulumi.InvokeOption) (*GetClustersResult, error)

The `cassandra.getClusters` data source provides a collection of Cassandra clusters available in Alicloud account. Filters support regular expression for the cluster name, ids or tags.

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

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "tf_testAccCassandra"
		_, err := cassandra.GetClusters(ctx, &cassandra.GetClustersArgs{
			NameRegex: &opt0,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetDataCentersArgs

type GetDataCentersArgs struct {
	// The cluster id of dataCenters belongs to.
	ClusterId string `pulumi:"clusterId"`
	// The list of Cassandra data center ids.
	Ids []string `pulumi:"ids"`
	// A regex string to apply to the cluster name.
	NameRegex  *string `pulumi:"nameRegex"`
	OutputFile *string `pulumi:"outputFile"`
}

A collection of arguments for invoking getDataCenters.

type GetDataCentersCenter

type GetDataCentersCenter struct {
	// The cluster id of dataCenters belongs to.
	ClusterId string `pulumi:"clusterId"`
	// The commodity ID of the Cassandra dataCenter.
	CommodityInstance string `pulumi:"commodityInstance"`
	CreatedTime       string `pulumi:"createdTime"`
	// The id of the Cassandra dataCenter.
	DataCenterId string `pulumi:"dataCenterId"`
	// The name of the Cassandra dataCenter.
	DataCenterName string `pulumi:"dataCenterName"`
	// One node disk size, unit:GB.
	DiskSize int `pulumi:"diskSize"`
	// Cloud_ssd or cloud_efficiency.
	DiskType string `pulumi:"diskType"`
	// The expire time of the dataCenter.
	ExpireTime string `pulumi:"expireTime"`
	// The instance type of the Cassandra dataCenter, eg: cassandra.c.large.
	InstanceType string `pulumi:"instanceType"`
	// The lock mode of the dataCenter.
	LockMode string `pulumi:"lockMode"`
	// The node count of dataCenter.
	NodeCount int `pulumi:"nodeCount"`
	// Billing method. Value options are `Subscription` for Pay-As-You-Go and `PayAsYouGo` for yearly or monthly subscription.
	PayType string `pulumi:"payType"`
	// Status of the dataCenter.
	Status string `pulumi:"status"`
	// VPC ID the dataCenter belongs to.
	VpcId string `pulumi:"vpcId"`
	// VSwitch ID the dataCenter belongs to.
	VswitchId string `pulumi:"vswitchId"`
	// Zone ID the dataCenter belongs to.
	ZoneId string `pulumi:"zoneId"`
}

type GetDataCentersCenterArgs

type GetDataCentersCenterArgs struct {
	// The cluster id of dataCenters belongs to.
	ClusterId pulumi.StringInput `pulumi:"clusterId"`
	// The commodity ID of the Cassandra dataCenter.
	CommodityInstance pulumi.StringInput `pulumi:"commodityInstance"`
	CreatedTime       pulumi.StringInput `pulumi:"createdTime"`
	// The id of the Cassandra dataCenter.
	DataCenterId pulumi.StringInput `pulumi:"dataCenterId"`
	// The name of the Cassandra dataCenter.
	DataCenterName pulumi.StringInput `pulumi:"dataCenterName"`
	// One node disk size, unit:GB.
	DiskSize pulumi.IntInput `pulumi:"diskSize"`
	// Cloud_ssd or cloud_efficiency.
	DiskType pulumi.StringInput `pulumi:"diskType"`
	// The expire time of the dataCenter.
	ExpireTime pulumi.StringInput `pulumi:"expireTime"`
	// The instance type of the Cassandra dataCenter, eg: cassandra.c.large.
	InstanceType pulumi.StringInput `pulumi:"instanceType"`
	// The lock mode of the dataCenter.
	LockMode pulumi.StringInput `pulumi:"lockMode"`
	// The node count of dataCenter.
	NodeCount pulumi.IntInput `pulumi:"nodeCount"`
	// Billing method. Value options are `Subscription` for Pay-As-You-Go and `PayAsYouGo` for yearly or monthly subscription.
	PayType pulumi.StringInput `pulumi:"payType"`
	// Status of the dataCenter.
	Status pulumi.StringInput `pulumi:"status"`
	// VPC ID the dataCenter belongs to.
	VpcId pulumi.StringInput `pulumi:"vpcId"`
	// VSwitch ID the dataCenter belongs to.
	VswitchId pulumi.StringInput `pulumi:"vswitchId"`
	// Zone ID the dataCenter belongs to.
	ZoneId pulumi.StringInput `pulumi:"zoneId"`
}

func (GetDataCentersCenterArgs) ElementType

func (GetDataCentersCenterArgs) ElementType() reflect.Type

func (GetDataCentersCenterArgs) ToGetDataCentersCenterOutput

func (i GetDataCentersCenterArgs) ToGetDataCentersCenterOutput() GetDataCentersCenterOutput

func (GetDataCentersCenterArgs) ToGetDataCentersCenterOutputWithContext

func (i GetDataCentersCenterArgs) ToGetDataCentersCenterOutputWithContext(ctx context.Context) GetDataCentersCenterOutput

type GetDataCentersCenterArray

type GetDataCentersCenterArray []GetDataCentersCenterInput

func (GetDataCentersCenterArray) ElementType

func (GetDataCentersCenterArray) ElementType() reflect.Type

func (GetDataCentersCenterArray) ToGetDataCentersCenterArrayOutput

func (i GetDataCentersCenterArray) ToGetDataCentersCenterArrayOutput() GetDataCentersCenterArrayOutput

func (GetDataCentersCenterArray) ToGetDataCentersCenterArrayOutputWithContext

func (i GetDataCentersCenterArray) ToGetDataCentersCenterArrayOutputWithContext(ctx context.Context) GetDataCentersCenterArrayOutput

type GetDataCentersCenterArrayInput

type GetDataCentersCenterArrayInput interface {
	pulumi.Input

	ToGetDataCentersCenterArrayOutput() GetDataCentersCenterArrayOutput
	ToGetDataCentersCenterArrayOutputWithContext(context.Context) GetDataCentersCenterArrayOutput
}

GetDataCentersCenterArrayInput is an input type that accepts GetDataCentersCenterArray and GetDataCentersCenterArrayOutput values. You can construct a concrete instance of `GetDataCentersCenterArrayInput` via:

GetDataCentersCenterArray{ GetDataCentersCenterArgs{...} }

type GetDataCentersCenterArrayOutput

type GetDataCentersCenterArrayOutput struct{ *pulumi.OutputState }

func (GetDataCentersCenterArrayOutput) ElementType

func (GetDataCentersCenterArrayOutput) Index

func (GetDataCentersCenterArrayOutput) ToGetDataCentersCenterArrayOutput

func (o GetDataCentersCenterArrayOutput) ToGetDataCentersCenterArrayOutput() GetDataCentersCenterArrayOutput

func (GetDataCentersCenterArrayOutput) ToGetDataCentersCenterArrayOutputWithContext

func (o GetDataCentersCenterArrayOutput) ToGetDataCentersCenterArrayOutputWithContext(ctx context.Context) GetDataCentersCenterArrayOutput

type GetDataCentersCenterInput

type GetDataCentersCenterInput interface {
	pulumi.Input

	ToGetDataCentersCenterOutput() GetDataCentersCenterOutput
	ToGetDataCentersCenterOutputWithContext(context.Context) GetDataCentersCenterOutput
}

GetDataCentersCenterInput is an input type that accepts GetDataCentersCenterArgs and GetDataCentersCenterOutput values. You can construct a concrete instance of `GetDataCentersCenterInput` via:

GetDataCentersCenterArgs{...}

type GetDataCentersCenterOutput

type GetDataCentersCenterOutput struct{ *pulumi.OutputState }

func (GetDataCentersCenterOutput) ClusterId

The cluster id of dataCenters belongs to.

func (GetDataCentersCenterOutput) CommodityInstance

func (o GetDataCentersCenterOutput) CommodityInstance() pulumi.StringOutput

The commodity ID of the Cassandra dataCenter.

func (GetDataCentersCenterOutput) CreatedTime

func (GetDataCentersCenterOutput) DataCenterId

The id of the Cassandra dataCenter.

func (GetDataCentersCenterOutput) DataCenterName

func (o GetDataCentersCenterOutput) DataCenterName() pulumi.StringOutput

The name of the Cassandra dataCenter.

func (GetDataCentersCenterOutput) DiskSize

One node disk size, unit:GB.

func (GetDataCentersCenterOutput) DiskType

Cloud_ssd or cloud_efficiency.

func (GetDataCentersCenterOutput) ElementType

func (GetDataCentersCenterOutput) ElementType() reflect.Type

func (GetDataCentersCenterOutput) ExpireTime

The expire time of the dataCenter.

func (GetDataCentersCenterOutput) InstanceType

The instance type of the Cassandra dataCenter, eg: cassandra.c.large.

func (GetDataCentersCenterOutput) LockMode

The lock mode of the dataCenter.

func (GetDataCentersCenterOutput) NodeCount

The node count of dataCenter.

func (GetDataCentersCenterOutput) PayType

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

func (GetDataCentersCenterOutput) Status

Status of the dataCenter.

func (GetDataCentersCenterOutput) ToGetDataCentersCenterOutput

func (o GetDataCentersCenterOutput) ToGetDataCentersCenterOutput() GetDataCentersCenterOutput

func (GetDataCentersCenterOutput) ToGetDataCentersCenterOutputWithContext

func (o GetDataCentersCenterOutput) ToGetDataCentersCenterOutputWithContext(ctx context.Context) GetDataCentersCenterOutput

func (GetDataCentersCenterOutput) VpcId

VPC ID the dataCenter belongs to.

func (GetDataCentersCenterOutput) VswitchId

VSwitch ID the dataCenter belongs to.

func (GetDataCentersCenterOutput) ZoneId

Zone ID the dataCenter belongs to.

type GetDataCentersResult

type GetDataCentersResult struct {
	// A list of Cassandra data centers. Its every element contains the following attributes:
	Centers []GetDataCentersCenter `pulumi:"centers"`
	// The ID of the Cassandra cluster.
	ClusterId string `pulumi:"clusterId"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The list of Cassandra data center ids.
	Ids       []string `pulumi:"ids"`
	NameRegex *string  `pulumi:"nameRegex"`
	// The name list of Cassandra data centers.
	Names      []string `pulumi:"names"`
	OutputFile *string  `pulumi:"outputFile"`
}

A collection of values returned by getDataCenters.

func GetDataCenters

func GetDataCenters(ctx *pulumi.Context, args *GetDataCentersArgs, opts ...pulumi.InvokeOption) (*GetDataCentersResult, error)

The `cassandra.getDataCenters` data source provides a collection of Cassandra Data Centers available in Alicloud account. Filters support regular expression for the cluster name or ids.

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

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		opt0 := "tf_testAccCassandra_dc"
		_, err := cassandra.GetDataCenters(ctx, &cassandra.GetDataCentersArgs{
			ClusterId: "cds-xxxxx",
			NameRegex: &opt0,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetZonesArgs

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

A collection of arguments for invoking getZones.

type GetZonesResult

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

A collection of values returned by getZones.

func GetZones

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

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

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

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		zonesIds, err := cassandra.GetZones(ctx, nil, nil)
		if err != nil {
			return err
		}
		_, err = cassandra.NewCluster(ctx, "cassandra", &cassandra.ClusterArgs{
			ZoneId: 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

Jump to

Keyboard shortcuts

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