alicloudroscdklindorm

package module
v1.4.0 Latest Latest
Warning

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

Go to latest
Published: Oct 22, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

README

Aliyun ROS LINDORM Construct Library

This module is part of the AliCloud ROS Cloud Development Kit (ROS CDK) project.

import * as LINDORM from '@alicloud/ros-cdk-lindorm';

Documentation

Overview

Aliyun SDK Copyright (C) Alibaba Cloud Computing All rights reserved. http://www.aliyun.com

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Instance_IsConstruct

func Instance_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct.

func MultiZoneInstance_IsConstruct

func MultiZoneInstance_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct.

func NewInstance_Override

func NewInstance_Override(i Instance, scope alicloudroscdkcore.Construct, id *string, props *InstanceProps, enableResourcePropertyConstraint *bool)

Param scope - scope in which this resource is defined Param id - scoped id of the resource Param props - resource properties.

func NewMultiZoneInstance_Override

func NewMultiZoneInstance_Override(m MultiZoneInstance, scope alicloudroscdkcore.Construct, id *string, props *MultiZoneInstanceProps, enableResourcePropertyConstraint *bool)

Param scope - scope in which this resource is defined Param id - scoped id of the resource Param props - resource properties.

func NewRosInstance_Override

func NewRosInstance_Override(r RosInstance, scope alicloudroscdkcore.Construct, id *string, props *RosInstanceProps, enableResourcePropertyConstraint *bool)

func NewRosMultiZoneInstance_Override

func NewRosMultiZoneInstance_Override(r RosMultiZoneInstance, scope alicloudroscdkcore.Construct, id *string, props *RosMultiZoneInstanceProps, enableResourcePropertyConstraint *bool)

func RosInstance_IsConstruct

func RosInstance_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct.

func RosInstance_IsRosElement

func RosInstance_IsRosElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func RosInstance_IsRosResource

func RosInstance_IsRosResource(construct alicloudroscdkcore.IConstruct) *bool

Check whether the given construct is a RosResource.

func RosInstance_ROS_RESOURCE_TYPE_NAME

func RosInstance_ROS_RESOURCE_TYPE_NAME() *string

func RosMultiZoneInstance_IsConstruct

func RosMultiZoneInstance_IsConstruct(x interface{}) *bool

Return whether the given object is a Construct.

func RosMultiZoneInstance_IsRosElement

func RosMultiZoneInstance_IsRosElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func RosMultiZoneInstance_IsRosResource

func RosMultiZoneInstance_IsRosResource(construct alicloudroscdkcore.IConstruct) *bool

Check whether the given construct is a RosResource.

func RosMultiZoneInstance_ROS_RESOURCE_TYPE_NAME

func RosMultiZoneInstance_ROS_RESOURCE_TYPE_NAME() *string

Types

type Instance

type Instance interface {
	alicloudroscdkcore.Resource
	// Attribute AuthInfos: The list of the Lindorm instance auth infos.
	AttrAuthInfos() alicloudroscdkcore.IResolvable
	// Attribute InstanceId: The ID of the Lindorm instance that is created.
	AttrInstanceId() alicloudroscdkcore.IResolvable
	// Attribute JdbcUrlList: The list of the jdbc connection address.
	AttrJdbcUrlList() alicloudroscdkcore.IResolvable
	EnableResourcePropertyConstraint() *bool
	SetEnableResourcePropertyConstraint(val *bool)
	Id() *string
	SetId(val *string)
	// The construct tree node associated with this construct.
	Node() alicloudroscdkcore.ConstructNode
	// Returns a string-encoded token that resolves to the physical name that should be passed to the ROS resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by ROS
	// - a concrete name generated automatically during synthesis, in
	//    cross-environment scenarios.
	// Experimental.
	PhysicalName() *string
	Props() *InstanceProps
	SetProps(val *InstanceProps)
	Ref() *string
	Resource() alicloudroscdkcore.RosResource
	SetResource(val alicloudroscdkcore.RosResource)
	Scope() alicloudroscdkcore.Construct
	SetScope(val alicloudroscdkcore.Construct)
	// The stack in which this resource is defined.
	Stack() alicloudroscdkcore.Stack
	AddCondition(condition alicloudroscdkcore.RosCondition)
	AddCount(count interface{})
	AddDependency(resource alicloudroscdkcore.Resource)
	AddResourceDesc(desc *string)
	ApplyRemovalPolicy(policy alicloudroscdkcore.RemovalPolicy)
	GeneratePhysicalName() *string
	GetAtt(name *string) alicloudroscdkcore.IResolvable
	// Perform final modifications before synthesis.
	//
	// This method can be implemented by derived constructs in order to perform
	// final changes before synthesis. prepare() will be called after child
	// constructs have been prepared.
	//
	// This is an advanced framework feature. Only use this if you
	// understand the implications.
	OnPrepare()
	// Allows this construct to emit artifacts into the cloud assembly during synthesis.
	//
	// This method is usually implemented by framework-level constructs such as `Stack` and `Asset`
	// as they participate in synthesizing the cloud assembly.
	OnSynthesize(session constructs.ISynthesisSession)
	// Validate the current construct.
	//
	// This method can be implemented by derived constructs in order to perform
	// validation logic. It is called on all constructs before synthesis.
	//
	// Returns: An array of validation error messages, or an empty array if the construct is valid.
	OnValidate() *[]*string
	// Perform final modifications before synthesis.
	//
	// This method can be implemented by derived constructs in order to perform
	// final changes before synthesis. prepare() will be called after child
	// constructs have been prepared.
	//
	// This is an advanced framework feature. Only use this if you
	// understand the implications.
	Prepare()
	SetMetadata(key *string, value interface{})
	// Allows this construct to emit artifacts into the cloud assembly during synthesis.
	//
	// This method is usually implemented by framework-level constructs such as `Stack` and `Asset`
	// as they participate in synthesizing the cloud assembly.
	Synthesize(session alicloudroscdkcore.ISynthesisSession)
	// Returns a string representation of this construct.
	ToString() *string
	// Validate the current construct.
	//
	// This method can be implemented by derived constructs in order to perform
	// validation logic. It is called on all constructs before synthesis.
	//
	// Returns: An array of validation error messages, or an empty array if the construct is valid.
	Validate() *[]*string
}

This class encapsulates and extends the ROS resource type `ALIYUN::Lindorm::Instance`, which is used to create a Lindorm instance.

func NewInstance

func NewInstance(scope alicloudroscdkcore.Construct, id *string, props *InstanceProps, enableResourcePropertyConstraint *bool) Instance

Param scope - scope in which this resource is defined Param id - scoped id of the resource Param props - resource properties.

type InstanceProps

type InstanceProps struct {
	// Property diskCategory: The storage type of the instance.
	//
	// Valid values:
	// cloud_efficiency: This instance uses the Standard type of storage.
	// cloud_ssd: This instance uses the Performance type of storage.
	// capacity_cloud_storage: This instance uses the Capacity type of storage.
	// local_ssd_pro: This instance uses local SSDs.
	// local_hdd_pro: This instance uses local HDDs.
	DiskCategory interface{} `field:"required" json:"diskCategory" yaml:"diskCategory"`
	// Property instanceName: The name of the instance that you want to create.
	InstanceName interface{} `field:"required" json:"instanceName" yaml:"instanceName"`
	// Property vpcId: The ID of the VPC in which you want to create the instance.
	VpcId interface{} `field:"required" json:"vpcId" yaml:"vpcId"`
	// Property coldStorage: The cold storage capacity of the instance.
	//
	// By default, if you leave this parameter unspecified, cold storage is not enabled for the instance. Unit: GB. Valid values: 800 to 1000000.
	ColdStorage interface{} `field:"optional" json:"coldStorage" yaml:"coldStorage"`
	// Property coreSpec: The specification of the nodes in the instance if you set DiskCategory to local_ssd_pro or local_hdd_pro.
	//
	// When DiskCategory is set to local_ssd_pro, you can set this parameter to the following values:
	// lindorm.i2.xlarge: Each node has 4 dedicated CPU cores and 32 GB of dedicated memory.
	// lindorm.i2.2xlarge: Each node has 8 dedicated CPU cores and 64 GB of dedicated memory.
	// lindorm.i2.4xlarge: Each node has 16 dedicated CPU cores and 128 GB of dedicated memory.
	// lindorm.i2.8xlarge: Each node has 32 dedicated CPU cores and 256 GB of dedicated memory.
	// When DiskCategory is set to local_hdd_pro, you can set this parameter to the following values:
	// lindorm.d1.2xlarge: Each node has 8 dedicated CPU cores and 32 GB of dedicated memory.
	// lindorm.d1.4xlarge: Each node has 16 dedicated CPU cores and 64 GB of dedicated memory.
	// lindorm.d1.6xlarge: Each node has 24 dedicated CPU cores and 96 GB of dedicated memory.
	CoreSpec interface{} `field:"optional" json:"coreSpec" yaml:"coreSpec"`
	// Property filestoreNum: The number of LindormDFS nodes in the instance.
	//
	// The valid values of this parameter depend on the value of the PayType parameter.
	// If the PayType parameter is set to PREPAY, set this parameter to an integer that ranges from 0 to 60.
	// If the PayType parameter is set to POSTPAY, set this parameter to an integer that ranges from 0 to 8.
	FilestoreNum interface{} `field:"optional" json:"filestoreNum" yaml:"filestoreNum"`
	// Property filestoreSpec: The specification of LindormDFS nodes in the instance.
	//
	// Set the value of this parameter to lindorm.c.xlarge, which indicates that each node has 4 dedicated CPU cores and 8 GB of dedicated memory.
	FilestoreSpec interface{} `field:"optional" json:"filestoreSpec" yaml:"filestoreSpec"`
	// Property instanceChargeType: The billing method of the instance you want to create.
	//
	// Valid values:
	// PREPAY: subscription.
	// POSTPAY: pay-as-you-go.
	// Default value: POSTPAY.
	InstanceChargeType interface{} `field:"optional" json:"instanceChargeType" yaml:"instanceChargeType"`
	// Property instanceStorage: The storage capacity of the instance you want to create.
	//
	// Unit: GB.
	InstanceStorage interface{} `field:"optional" json:"instanceStorage" yaml:"instanceStorage"`
	// Property lindormNum: The number of LindormTable nodes in the instance.
	//
	// The valid values of this parameter depend on the value of the PayType parameter.
	// If the PayType parameter is set to PREPAY, set this parameter to an integer that ranges from 0 to 90.
	// If the PayType parameter is set to POSTPAY, set this parameter to an integer that ranges from 0 to 400.
	// ** This parameter is required if you want to create a multi-zone instance. ** The valid values of this parameter range from 4 to 400 if you want to create a multi-zone instance.
	LindormNum interface{} `field:"optional" json:"lindormNum" yaml:"lindormNum"`
	// Property lindormSpec: The specification of LindormTable nodes in the instance.
	//
	// Valid values:
	// lindorm.g.xlarge: Each node has 4 dedicated CPU cores and 16 GB of dedicated memory.
	// lindorm.g.2xlarge: Each node has 8 dedicated CPU cores and 32 GB of dedicated memory.
	// lindorm.g.4xlarge: Each node has 16 dedicated CPU cores and 64 GB of dedicated memory.
	// lindorm.g.8xlarge: Each node has 32 dedicated CPU cores and 128 GB of dedicated memory.
	// lindorm.c.xlarge: Each node has 4 dedicated CPU cores and 8 GB of dedicated memory.
	// lindorm.c.2xlarge: Each node has 8 dedicated CPU cores and 16 GB of dedicated memory.
	// lindorm.c.4xlarge: Each node has 16 dedicated CPU cores and 32 GB of dedicated memory.
	// lindorm.c.8xlarge: Each node has 32 dedicated CPU cores and 64 GB of dedicated memory.
	LindormSpec interface{} `field:"optional" json:"lindormSpec" yaml:"lindormSpec"`
	// Property period: The subscription period of the instance.
	//
	// The valid values of this parameter depend on the value of the PeriodUnit parameter.
	// If PeriodUnit is set to Month, Valid values are 1,2,3,4,5,6,7,8,9,12,24,36.
	// If PeriodUnit is set to Year, set this parameter to an integer that ranges from 1 to 3.
	// NoteThis parameter is available and required when the PayType parameter is set to PREPAY.
	Period interface{} `field:"optional" json:"period" yaml:"period"`
	// Property periodUnit: The period based on which you are charged for the instance.
	//
	// Valid values:
	// Month: You are charged for the instance on a monthly basis.
	// Year: You are charged for the instance on a yearly basis.
	// NoteThis parameter is available and required when the PayType parameter is set to PREPAY.
	PeriodUnit interface{} `field:"optional" json:"periodUnit" yaml:"periodUnit"`
	// Property resourceGroupId: The ID of the resource group to which the Lindorm instance belongs.
	ResourceGroupId interface{} `field:"optional" json:"resourceGroupId" yaml:"resourceGroupId"`
	// Property securityIpList: The ip white list of instance.
	SecurityIpList interface{} `field:"optional" json:"securityIpList" yaml:"securityIpList"`
	// Property solrNum: The number of LindormSearch nodes in the instance.
	//
	// Valid values: integers from 0 to 60.
	SolrNum interface{} `field:"optional" json:"solrNum" yaml:"solrNum"`
	// Property solrSpec: The specification of the LindormSearch nodes in the instance.
	//
	// Valid values:
	// lindorm.g.xlarge: Each node has 4 dedicated CPU cores and 16 GB of dedicated memory.
	// lindorm.g.2xlarge: Each node has 8 dedicated CPU cores and 32 GB of dedicated memory.
	// lindorm.g.4xlarge: Each node has 16 dedicated CPU cores and 64 GB of dedicated memory.
	// lindorm.g.8xlarge: Each node has 32 dedicated CPU cores and 128 GB of dedicated memory.
	SolrSpec interface{} `field:"optional" json:"solrSpec" yaml:"solrSpec"`
	// Property streamNum: The number of LindormStream nodes in the instance.
	//
	// Valid values: integers from 0 to 90.
	StreamNum interface{} `field:"optional" json:"streamNum" yaml:"streamNum"`
	// Property streamSpec: The specification of LindormStream nodes in the instance.
	//
	// Valid values:
	// lindorm.g.xlarge: Each node has 4 dedicated CPU cores and 16 GB of dedicated memory.
	// lindorm.g.2xlarge: Each node has 8 dedicated CPU cores and 32 GB of dedicated memory.
	// lindorm.g.4xlarge: Each node has 16 dedicated CPU cores and 64 GB of dedicated memory.
	// lindorm.g.8xlarge: Each node has 32 dedicated CPU cores and 128 GB of dedicated memory.
	// lindorm.c.xlarge: Each node has 4 dedicated CPU cores and 8 GB of dedicated memory.
	// lindorm.c.2xlarge: Each node has 8 dedicated CPU cores and 16 GB of dedicated memory.
	// lindorm.c.4xlarge: Each node has 16 dedicated CPU cores and 32 GB of dedicated memory.
	// lindorm.c.8xlarge: Each node has 32 dedicated CPU cores and 64 GB of dedicated memory.
	StreamSpec interface{} `field:"optional" json:"streamSpec" yaml:"streamSpec"`
	// Property tsdbNum: The number of the LindormTSDB nodes in the instance.
	//
	// The valid values of this parameter depend on the value of the PayType parameter.
	// If the PayType parameter is set to PREPAY, set this parameter to an integer that ranges from 0 to 24.
	// If the PayType parameter is set to POSTPAY, set this parameter to an integer that ranges from 0 to 32.
	TsdbNum interface{} `field:"optional" json:"tsdbNum" yaml:"tsdbNum"`
	// Property tsdbSpec: The specification of the LindormTSDB nodes in the instance.
	//
	// Valid values:
	// lindorm.g.xlarge: Each node has 4 dedicated CPU cores and 16 GB of dedicated memory.
	// lindorm.g.2xlarge: Each node has 8 dedicated CPU cores and 32 GB of dedicated memory.
	// lindorm.g.4xlarge: Each node has 16 dedicated CPU cores and 64 GB of dedicated memory.
	// lindorm.g.8xlarge: Each node has 32 dedicated CPU cores and 128 GB of dedicated memory.
	TsdbSpec interface{} `field:"optional" json:"tsdbSpec" yaml:"tsdbSpec"`
	// Property vSwitchId: The ID of the vSwitch to which you want the instance to connect.
	VSwitchId interface{} `field:"optional" json:"vSwitchId" yaml:"vSwitchId"`
	// Property zoneId: The ID of the zone in which you want to create the instance.
	ZoneId interface{} `field:"optional" json:"zoneId" yaml:"zoneId"`
}

Properties for defining a `Instance`.

See https://www.alibabacloud.com/help/ros/developer-reference/aliyun-lindorm-instance

type MultiZoneInstance

type MultiZoneInstance interface {
	alicloudroscdkcore.Resource
	// Attribute AuthInfos: The list of the Lindorm instance auth infos.
	AttrAuthInfos() alicloudroscdkcore.IResolvable
	// Attribute InstanceId: The ID of the Lindorm instance that is created.
	AttrInstanceId() alicloudroscdkcore.IResolvable
	// Attribute JdbcUrlList: The list of the jdbc connection address.
	AttrJdbcUrlList() alicloudroscdkcore.IResolvable
	EnableResourcePropertyConstraint() *bool
	SetEnableResourcePropertyConstraint(val *bool)
	Id() *string
	SetId(val *string)
	// The construct tree node associated with this construct.
	Node() alicloudroscdkcore.ConstructNode
	// Returns a string-encoded token that resolves to the physical name that should be passed to the ROS resource.
	//
	// This value will resolve to one of the following:
	// - a concrete value (e.g. `"my-awesome-bucket"`)
	// - `undefined`, when a name should be generated by ROS
	// - a concrete name generated automatically during synthesis, in
	//    cross-environment scenarios.
	// Experimental.
	PhysicalName() *string
	Props() *MultiZoneInstanceProps
	SetProps(val *MultiZoneInstanceProps)
	Ref() *string
	Resource() alicloudroscdkcore.RosResource
	SetResource(val alicloudroscdkcore.RosResource)
	Scope() alicloudroscdkcore.Construct
	SetScope(val alicloudroscdkcore.Construct)
	// The stack in which this resource is defined.
	Stack() alicloudroscdkcore.Stack
	AddCondition(condition alicloudroscdkcore.RosCondition)
	AddCount(count interface{})
	AddDependency(resource alicloudroscdkcore.Resource)
	AddResourceDesc(desc *string)
	ApplyRemovalPolicy(policy alicloudroscdkcore.RemovalPolicy)
	GeneratePhysicalName() *string
	GetAtt(name *string) alicloudroscdkcore.IResolvable
	// Perform final modifications before synthesis.
	//
	// This method can be implemented by derived constructs in order to perform
	// final changes before synthesis. prepare() will be called after child
	// constructs have been prepared.
	//
	// This is an advanced framework feature. Only use this if you
	// understand the implications.
	OnPrepare()
	// Allows this construct to emit artifacts into the cloud assembly during synthesis.
	//
	// This method is usually implemented by framework-level constructs such as `Stack` and `Asset`
	// as they participate in synthesizing the cloud assembly.
	OnSynthesize(session constructs.ISynthesisSession)
	// Validate the current construct.
	//
	// This method can be implemented by derived constructs in order to perform
	// validation logic. It is called on all constructs before synthesis.
	//
	// Returns: An array of validation error messages, or an empty array if the construct is valid.
	OnValidate() *[]*string
	// Perform final modifications before synthesis.
	//
	// This method can be implemented by derived constructs in order to perform
	// final changes before synthesis. prepare() will be called after child
	// constructs have been prepared.
	//
	// This is an advanced framework feature. Only use this if you
	// understand the implications.
	Prepare()
	SetMetadata(key *string, value interface{})
	// Allows this construct to emit artifacts into the cloud assembly during synthesis.
	//
	// This method is usually implemented by framework-level constructs such as `Stack` and `Asset`
	// as they participate in synthesizing the cloud assembly.
	Synthesize(session alicloudroscdkcore.ISynthesisSession)
	// Returns a string representation of this construct.
	ToString() *string
	// Validate the current construct.
	//
	// This method can be implemented by derived constructs in order to perform
	// validation logic. It is called on all constructs before synthesis.
	//
	// Returns: An array of validation error messages, or an empty array if the construct is valid.
	Validate() *[]*string
}

This class encapsulates and extends the ROS resource type `ALIYUN::Lindorm::MultiZoneInstance`, which is used to create a multi-zone Lindorm instance.

func NewMultiZoneInstance

func NewMultiZoneInstance(scope alicloudroscdkcore.Construct, id *string, props *MultiZoneInstanceProps, enableResourcePropertyConstraint *bool) MultiZoneInstance

Param scope - scope in which this resource is defined Param id - scoped id of the resource Param props - resource properties.

type MultiZoneInstanceProps

type MultiZoneInstanceProps struct {
	// Property diskCategory: The storage type of the instance.
	//
	// Valid values:
	// cloud_efficiency: This instance uses the Standard type of storage.
	// cloud_ssd: This instance uses the Performance type of storage.
	// capacity_cloud_storage: This instance uses the Capacity type of storage.
	// local_ssd_pro: This instance uses local SSDs.
	// local_hdd_pro: This instance uses local HDDs.
	DiskCategory interface{} `field:"required" json:"diskCategory" yaml:"diskCategory"`
	// Property instanceName: The name of the instance that you want to create.
	InstanceName interface{} `field:"required" json:"instanceName" yaml:"instanceName"`
	// Property vpcId: The ID of the VPC in which you want to create the instance.
	VpcId interface{} `field:"required" json:"vpcId" yaml:"vpcId"`
	// Property arbiterVSwitchId: The ID of the vSwitch that is specified for the zone for the coordinate node of the instance.
	//
	// The vSwitch must be deployed in the zone specified by the ArbiterZoneId parameter. **This parameter is required if you want to create a multi-zone instance.
	ArbiterVSwitchId interface{} `field:"optional" json:"arbiterVSwitchId" yaml:"arbiterVSwitchId"`
	// Property arbiterZoneId: The ID of the zone for the coordinate node of the instance.
	//
	// **This parameter is required if you want to create a multi-zone instance.
	ArbiterZoneId interface{} `field:"optional" json:"arbiterZoneId" yaml:"arbiterZoneId"`
	// Property coldStorage: The cold storage capacity of the instance.
	//
	// By default, if you leave this parameter unspecified, cold storage is not enabled for the instance. Unit: GB. Valid values: 800 to 1000000.
	ColdStorage interface{} `field:"optional" json:"coldStorage" yaml:"coldStorage"`
	// Property coreSingleStorage: The storage capacity of the disk of a single core node.
	//
	// Valid values: 400 to 64000. Unit: GB. **This parameter is required if you want to create a multi-zone instance.
	CoreSingleStorage interface{} `field:"optional" json:"coreSingleStorage" yaml:"coreSingleStorage"`
	// Property coreSpec: The specification of the nodes in the instance if you set DiskCategory to local_ssd_pro or local_hdd_pro.
	//
	// When DiskCategory is set to local_ssd_pro, you can set this parameter to the following values:
	// lindorm.i2.xlarge: Each node has 4 dedicated CPU cores and 32 GB of dedicated memory.
	// lindorm.i2.2xlarge: Each node has 8 dedicated CPU cores and 64 GB of dedicated memory.
	// lindorm.i2.4xlarge: Each node has 16 dedicated CPU cores and 128 GB of dedicated memory.
	// lindorm.i2.8xlarge: Each node has 32 dedicated CPU cores and 256 GB of dedicated memory.
	// When DiskCategory is set to local_hdd_pro, you can set this parameter to the following values:
	// lindorm.d1.2xlarge: Each node has 8 dedicated CPU cores and 32 GB of dedicated memory.
	// lindorm.d1.4xlarge: Each node has 16 dedicated CPU cores and 64 GB of dedicated memory.
	// lindorm.d1.6xlarge: Each node has 24 dedicated CPU cores and 96 GB of dedicated memory.
	CoreSpec interface{} `field:"optional" json:"coreSpec" yaml:"coreSpec"`
	// Property filestoreNum: The number of LindormDFS nodes in the instance.
	//
	// The valid values of this parameter depend on the value of the PayType parameter.
	// If the PayType parameter is set to PREPAY, set this parameter to an integer that ranges from 0 to 60.
	// If the PayType parameter is set to POSTPAY, set this parameter to an integer that ranges from 0 to 8.
	FilestoreNum interface{} `field:"optional" json:"filestoreNum" yaml:"filestoreNum"`
	// Property filestoreSpec: The specification of LindormDFS nodes in the instance.
	//
	// Set the value of this parameter to lindorm.c.xlarge, which indicates that each node has 4 dedicated CPU cores and 8 GB of dedicated memory.
	FilestoreSpec interface{} `field:"optional" json:"filestoreSpec" yaml:"filestoreSpec"`
	// Property instanceChargeType: The billing method of the instance you want to create.
	//
	// Valid values:
	// PREPAY: subscription.
	// POSTPAY: pay-as-you-go.
	// Default value: POSTPAY.
	InstanceChargeType interface{} `field:"optional" json:"instanceChargeType" yaml:"instanceChargeType"`
	// Property lindormNum: The number of LindormTable nodes in the instance.
	//
	// The valid values of this parameter depend on the value of the PayType parameter.
	// If the PayType parameter is set to PREPAY, set this parameter to an integer that ranges from 0 to 90.
	// If the PayType parameter is set to POSTPAY, set this parameter to an integer that ranges from 0 to 400.
	// ** This parameter is required if you want to create a multi-zone instance. ** The valid values of this parameter range from 4 to 400 if you want to create a multi-zone instance.
	LindormNum interface{} `field:"optional" json:"lindormNum" yaml:"lindormNum"`
	// Property lindormSpec: The specification of LindormTable nodes in the instance.
	//
	// Valid values:
	// lindorm.g.xlarge: Each node has 4 dedicated CPU cores and 16 GB of dedicated memory.
	// lindorm.g.2xlarge: Each node has 8 dedicated CPU cores and 32 GB of dedicated memory.
	// lindorm.g.4xlarge: Each node has 16 dedicated CPU cores and 64 GB of dedicated memory.
	// lindorm.g.8xlarge: Each node has 32 dedicated CPU cores and 128 GB of dedicated memory.
	// lindorm.c.xlarge: Each node has 4 dedicated CPU cores and 8 GB of dedicated memory.
	// lindorm.c.2xlarge: Each node has 8 dedicated CPU cores and 16 GB of dedicated memory.
	// lindorm.c.4xlarge: Each node has 16 dedicated CPU cores and 32 GB of dedicated memory.
	// lindorm.c.8xlarge: Each node has 32 dedicated CPU cores and 64 GB of dedicated memory.
	LindormSpec interface{} `field:"optional" json:"lindormSpec" yaml:"lindormSpec"`
	// Property logDiskCategory: The disk type of the log nodes.
	//
	// Valid values:
	// cloud_efficiency、cloud_essd.
	// This parameter is required if you want to create a multi-zone instance.
	LogDiskCategory interface{} `field:"optional" json:"logDiskCategory" yaml:"logDiskCategory"`
	// Property logNum: The number of the log nodes.
	//
	// Valid values: 4 to 400. **This parameter is required if you want to create a multi-zone instance.
	LogNum interface{} `field:"optional" json:"logNum" yaml:"logNum"`
	// Property logSingleStorage: The storage capacity of the disk of a single log node.
	//
	// Valid values: 400 to 64000. Unit: GB. **This parameter is required if you want to create a multi-zone instance.
	LogSingleStorage interface{} `field:"optional" json:"logSingleStorage" yaml:"logSingleStorage"`
	// Property logSpec: The type of the log nodes.
	//
	// Valid values:
	// lindorm.sn1.large: Each node has 4 dedicated CPU cores and 8 GB of dedicated memory.
	// lindorm.sn1.2xlarge: Each node has 8 dedicated CPU cores and 16 GB of dedicated memory.
	// **This parameter is required if you want to create a multi-zone instance.
	LogSpec interface{} `field:"optional" json:"logSpec" yaml:"logSpec"`
	// Property multiZoneCombination: The combinations of zones that are available for the multi-zone instance.
	//
	// You can go to the purchase page of Lindorm to view the supported zone combinations.
	// ap-southeast-5abc-aliyun: Zone A+B+C in the Indonesia (Jakarta) region.
	// cn-hangzhou-ehi-aliyun: Zone E+H+I in the China (Hangzhou) region.
	// cn-beijing-acd-aliyun: Zone A+C+D in the China (Beijing) region.
	// ap-southeast-1-abc-aliyun: Zone A+B+C in the Singapore region.
	// cn-zhangjiakou-abc-aliyun: Zone A+B+C in the China (Zhangjiakou) region.
	// cn-shanghai-efg-aliyun: Zone E+F+G in the China (Shanghai) region.
	// cn-shanghai-abd-aliyun: Zone A+B+D in the China (Shanghai) region.
	// cn-hangzhou-bef-aliyun: Zone B+E+F in the China (Hangzhou) region.
	// cn-hangzhou-bce-aliyun: Zone B+C+E in the China (Hangzhou) region.
	// cn-beijing-fgh-aliyun: Zone F+G+H in the China (Beijing) region.
	// cn-shenzhen-abc-aliyun: Zone A+B+C in the China (Shenzhen) region.
	// **This parameter is required if you want to create a multi-zone instance.
	MultiZoneCombination interface{} `field:"optional" json:"multiZoneCombination" yaml:"multiZoneCombination"`
	// Property period: The subscription period of the instance.
	//
	// The valid values of this parameter depend on the value of the PeriodUnit parameter.
	// If PeriodUnit is set to Month, Valid values are 1,2,3,4,5,6,7,8,9,12,24,36.
	// If PeriodUnit is set to Year, set this parameter to an integer that ranges from 1 to 3.
	// NoteThis parameter is available and required when the PayType parameter is set to PREPAY.
	Period interface{} `field:"optional" json:"period" yaml:"period"`
	// Property periodUnit: The period based on which you are charged for the instance.
	//
	// Valid values:
	// Month: You are charged for the instance on a monthly basis.
	// Year: You are charged for the instance on a yearly basis.
	// NoteThis parameter is available and required when the PayType parameter is set to PREPAY.
	PeriodUnit interface{} `field:"optional" json:"periodUnit" yaml:"periodUnit"`
	// Property primaryVSwitchId: For multiple available regions, the virtual switch ID of the main available area must be under the available area corresponding to the Primaryzoneid.If you need to create a multi -available area example, this parameter must be filled.
	PrimaryVSwitchId interface{} `field:"optional" json:"primaryVSwitchId" yaml:"primaryVSwitchId"`
	// Property primaryZoneId: For many available zone instances, the available area ID of the main available area.If you need to create a multi -available area example, this parameter must be filled.
	PrimaryZoneId interface{} `field:"optional" json:"primaryZoneId" yaml:"primaryZoneId"`
	// Property resourceGroupId: The ID of the resource group to which the Lindorm instance belongs.
	ResourceGroupId interface{} `field:"optional" json:"resourceGroupId" yaml:"resourceGroupId"`
	// Property securityIpList: The ip white list of instance.
	SecurityIpList interface{} `field:"optional" json:"securityIpList" yaml:"securityIpList"`
	// Property solrNum: The number of LindormSearch nodes in the instance.
	//
	// Valid values: integers from 0 to 60.
	SolrNum interface{} `field:"optional" json:"solrNum" yaml:"solrNum"`
	// Property solrSpec: The specification of the LindormSearch nodes in the instance.
	//
	// Valid values:
	// lindorm.g.xlarge: Each node has 4 dedicated CPU cores and 16 GB of dedicated memory.
	// lindorm.g.2xlarge: Each node has 8 dedicated CPU cores and 32 GB of dedicated memory.
	// lindorm.g.4xlarge: Each node has 16 dedicated CPU cores and 64 GB of dedicated memory.
	// lindorm.g.8xlarge: Each node has 32 dedicated CPU cores and 128 GB of dedicated memory.
	SolrSpec interface{} `field:"optional" json:"solrSpec" yaml:"solrSpec"`
	// Property standbyVSwitchId: The ID of the vSwitch that is specified for the secondary zone of the instance.
	//
	// The vSwitch must be deployed in the zone specified by the StandbyZoneId parameter. **This parameter is required if you want to create a multi-zone instance.
	StandbyVSwitchId interface{} `field:"optional" json:"standbyVSwitchId" yaml:"standbyVSwitchId"`
	// Property standbyZoneId: The ID of the secondary zone of the instance.
	//
	// **This parameter is required if you want to create a multi-zone instance.
	StandbyZoneId interface{} `field:"optional" json:"standbyZoneId" yaml:"standbyZoneId"`
	// Property streamNum: The number of LindormStream nodes in the instance.
	//
	// Valid values: integers from 0 to 90.
	StreamNum interface{} `field:"optional" json:"streamNum" yaml:"streamNum"`
	// Property streamSpec: The specification of LindormStream nodes in the instance.
	//
	// Valid values:
	// lindorm.g.xlarge: Each node has 4 dedicated CPU cores and 16 GB of dedicated memory.
	// lindorm.g.2xlarge: Each node has 8 dedicated CPU cores and 32 GB of dedicated memory.
	// lindorm.g.4xlarge: Each node has 16 dedicated CPU cores and 64 GB of dedicated memory.
	// lindorm.g.8xlarge: Each node has 32 dedicated CPU cores and 128 GB of dedicated memory.
	// lindorm.c.xlarge: Each node has 4 dedicated CPU cores and 8 GB of dedicated memory.
	// lindorm.c.2xlarge: Each node has 8 dedicated CPU cores and 16 GB of dedicated memory.
	// lindorm.c.4xlarge: Each node has 16 dedicated CPU cores and 32 GB of dedicated memory.
	// lindorm.c.8xlarge: Each node has 32 dedicated CPU cores and 64 GB of dedicated memory.
	StreamSpec interface{} `field:"optional" json:"streamSpec" yaml:"streamSpec"`
	// Property tsdbNum: The number of the LindormTSDB nodes in the instance.
	//
	// The valid values of this parameter depend on the value of the PayType parameter.
	// If the PayType parameter is set to PREPAY, set this parameter to an integer that ranges from 0 to 24.
	// If the PayType parameter is set to POSTPAY, set this parameter to an integer that ranges from 0 to 32.
	TsdbNum interface{} `field:"optional" json:"tsdbNum" yaml:"tsdbNum"`
	// Property tsdbSpec: The specification of the LindormTSDB nodes in the instance.
	//
	// Valid values:
	// lindorm.g.xlarge: Each node has 4 dedicated CPU cores and 16 GB of dedicated memory.
	// lindorm.g.2xlarge: Each node has 8 dedicated CPU cores and 32 GB of dedicated memory.
	// lindorm.g.4xlarge: Each node has 16 dedicated CPU cores and 64 GB of dedicated memory.
	// lindorm.g.8xlarge: Each node has 32 dedicated CPU cores and 128 GB of dedicated memory.
	TsdbSpec interface{} `field:"optional" json:"tsdbSpec" yaml:"tsdbSpec"`
}

Properties for defining a `MultiZoneInstance`.

See https://www.alibabacloud.com/help/ros/developer-reference/aliyun-lindorm-multizoneinstance

type RosInstance

type RosInstance interface {
	alicloudroscdkcore.RosResource
	AttrAuthInfos() alicloudroscdkcore.IResolvable
	AttrInstanceId() alicloudroscdkcore.IResolvable
	AttrJdbcUrlList() alicloudroscdkcore.IResolvable
	ColdStorage() interface{}
	SetColdStorage(val interface{})
	CoreSpec() interface{}
	SetCoreSpec(val interface{})
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aliyun:ros:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	DiskCategory() interface{}
	SetDiskCategory(val interface{})
	EnableResourcePropertyConstraint() *bool
	SetEnableResourcePropertyConstraint(val *bool)
	FilestoreNum() interface{}
	SetFilestoreNum(val interface{})
	FilestoreSpec() interface{}
	SetFilestoreSpec(val interface{})
	InstanceChargeType() interface{}
	SetInstanceChargeType(val interface{})
	InstanceName() interface{}
	SetInstanceName(val interface{})
	InstanceStorage() interface{}
	SetInstanceStorage(val interface{})
	LindormNum() interface{}
	SetLindormNum(val interface{})
	LindormSpec() interface{}
	SetLindormSpec(val interface{})
	// The logical ID for this stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The construct tree node associated with this construct.
	Node() alicloudroscdkcore.ConstructNode
	Period() interface{}
	SetPeriod(val interface{})
	PeriodUnit() interface{}
	SetPeriodUnit(val interface{})
	// Return a string that will be resolved to a RosTemplate `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	ResourceGroupId() interface{}
	SetResourceGroupId(val interface{})
	// Options for this resource, such as condition, update policy etc.
	RosOptions() alicloudroscdkcore.IRosResourceOptions
	RosProperties() *map[string]interface{}
	// ROS resource type.
	RosResourceType() *string
	SecurityIpList() interface{}
	SetSecurityIpList(val interface{})
	SolrNum() interface{}
	SetSolrNum(val interface{})
	SolrSpec() interface{}
	SetSolrSpec(val interface{})
	// The stack in which this element is defined.
	//
	// RosElements must be defined within a stack scope (directly or indirectly).
	Stack() alicloudroscdkcore.Stack
	StreamNum() interface{}
	SetStreamNum(val interface{})
	StreamSpec() interface{}
	SetStreamSpec(val interface{})
	TsdbNum() interface{}
	SetTsdbNum(val interface{})
	TsdbSpec() interface{}
	SetTsdbSpec(val interface{})
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	VpcId() interface{}
	SetVpcId(val interface{})
	VSwitchId() interface{}
	SetVSwitchId(val interface{})
	ZoneId() interface{}
	SetZoneId(val interface{})
	AddCondition(con alicloudroscdkcore.RosCondition)
	AddCount(count interface{})
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependsOn(target alicloudroscdkcore.RosResource)
	AddDesc(desc *string)
	AddMetaData(key *string, value interface{})
	// Adds an override to the synthesized ROS resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// For example,
	// “`typescript
	// addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute'])
	// addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE')
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//    "GlobalSecondaryIndexes": [
	//      {
	//        "Projection": {
	//          "NonKeyAttributes": [ "myattribute" ]
	//          ...
	//        }
	//        ...
	//      },
	//      {
	//        "ProjectionType": "INCLUDE"
	//        ...
	//      },
	//    ]
	//    ...
	// }
	// “`.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	AddRosDependency(target *string)
	// Sets the deletion policy of the resource based on the removal policy specified.
	ApplyRemovalPolicy(policy alicloudroscdkcore.RemovalPolicy, options *alicloudroscdkcore.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string) alicloudroscdkcore.Reference
	// Perform final modifications before synthesis.
	//
	// This method can be implemented by derived constructs in order to perform
	// final changes before synthesis. prepare() will be called after child
	// constructs have been prepared.
	//
	// This is an advanced framework feature. Only use this if you
	// understand the implications.
	OnPrepare()
	// Allows this construct to emit artifacts into the cloud assembly during synthesis.
	//
	// This method is usually implemented by framework-level constructs such as `Stack` and `Asset`
	// as they participate in synthesizing the cloud assembly.
	OnSynthesize(session constructs.ISynthesisSession)
	// Validate the current construct.
	//
	// This method can be implemented by derived constructs in order to perform
	// validation logic. It is called on all constructs before synthesis.
	//
	// Returns: An array of validation error messages, or an empty array if the construct is valid.
	OnValidate() *[]*string
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Perform final modifications before synthesis.
	//
	// This method can be implemented by derived constructs in order to perform
	// final changes before synthesis. prepare() will be called after child
	// constructs have been prepared.
	//
	// This is an advanced framework feature. Only use this if you
	// understand the implications.
	Prepare()
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Allows this construct to emit artifacts into the cloud assembly during synthesis.
	//
	// This method is usually implemented by framework-level constructs such as `Stack` and `Asset`
	// as they participate in synthesizing the cloud assembly.
	Synthesize(session alicloudroscdkcore.ISynthesisSession)
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	// Validate the current construct.
	//
	// This method can be implemented by derived constructs in order to perform
	// validation logic. It is called on all constructs before synthesis.
	//
	// Returns: An array of validation error messages, or an empty array if the construct is valid.
	Validate() *[]*string
	ValidateProperties(_properties interface{})
}

This class is a base encapsulation around the ROS resource type `ALIYUN::Lindorm::Instance`, which is used to create a Lindorm instance.

func NewRosInstance

func NewRosInstance(scope alicloudroscdkcore.Construct, id *string, props *RosInstanceProps, enableResourcePropertyConstraint *bool) RosInstance

type RosInstanceProps

type RosInstanceProps struct {
	DiskCategory       interface{} `field:"required" json:"diskCategory" yaml:"diskCategory"`
	InstanceName       interface{} `field:"required" json:"instanceName" yaml:"instanceName"`
	VpcId              interface{} `field:"required" json:"vpcId" yaml:"vpcId"`
	ColdStorage        interface{} `field:"optional" json:"coldStorage" yaml:"coldStorage"`
	CoreSpec           interface{} `field:"optional" json:"coreSpec" yaml:"coreSpec"`
	FilestoreNum       interface{} `field:"optional" json:"filestoreNum" yaml:"filestoreNum"`
	FilestoreSpec      interface{} `field:"optional" json:"filestoreSpec" yaml:"filestoreSpec"`
	InstanceChargeType interface{} `field:"optional" json:"instanceChargeType" yaml:"instanceChargeType"`
	InstanceStorage    interface{} `field:"optional" json:"instanceStorage" yaml:"instanceStorage"`
	LindormNum         interface{} `field:"optional" json:"lindormNum" yaml:"lindormNum"`
	LindormSpec        interface{} `field:"optional" json:"lindormSpec" yaml:"lindormSpec"`
	Period             interface{} `field:"optional" json:"period" yaml:"period"`
	PeriodUnit         interface{} `field:"optional" json:"periodUnit" yaml:"periodUnit"`
	ResourceGroupId    interface{} `field:"optional" json:"resourceGroupId" yaml:"resourceGroupId"`
	SecurityIpList     interface{} `field:"optional" json:"securityIpList" yaml:"securityIpList"`
	SolrNum            interface{} `field:"optional" json:"solrNum" yaml:"solrNum"`
	SolrSpec           interface{} `field:"optional" json:"solrSpec" yaml:"solrSpec"`
	StreamNum          interface{} `field:"optional" json:"streamNum" yaml:"streamNum"`
	StreamSpec         interface{} `field:"optional" json:"streamSpec" yaml:"streamSpec"`
	TsdbNum            interface{} `field:"optional" json:"tsdbNum" yaml:"tsdbNum"`
	TsdbSpec           interface{} `field:"optional" json:"tsdbSpec" yaml:"tsdbSpec"`
	VSwitchId          interface{} `field:"optional" json:"vSwitchId" yaml:"vSwitchId"`
	ZoneId             interface{} `field:"optional" json:"zoneId" yaml:"zoneId"`
}

Properties for defining a `RosInstance`.

See https://www.alibabacloud.com/help/ros/developer-reference/aliyun-lindorm-instance

type RosMultiZoneInstance

type RosMultiZoneInstance interface {
	alicloudroscdkcore.RosResource
	ArbiterVSwitchId() interface{}
	SetArbiterVSwitchId(val interface{})
	ArbiterZoneId() interface{}
	SetArbiterZoneId(val interface{})
	AttrAuthInfos() alicloudroscdkcore.IResolvable
	AttrInstanceId() alicloudroscdkcore.IResolvable
	AttrJdbcUrlList() alicloudroscdkcore.IResolvable
	ColdStorage() interface{}
	SetColdStorage(val interface{})
	CoreSingleStorage() interface{}
	SetCoreSingleStorage(val interface{})
	CoreSpec() interface{}
	SetCoreSpec(val interface{})
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aliyun:ros:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	DiskCategory() interface{}
	SetDiskCategory(val interface{})
	EnableResourcePropertyConstraint() *bool
	SetEnableResourcePropertyConstraint(val *bool)
	FilestoreNum() interface{}
	SetFilestoreNum(val interface{})
	FilestoreSpec() interface{}
	SetFilestoreSpec(val interface{})
	InstanceChargeType() interface{}
	SetInstanceChargeType(val interface{})
	InstanceName() interface{}
	SetInstanceName(val interface{})
	LindormNum() interface{}
	SetLindormNum(val interface{})
	LindormSpec() interface{}
	SetLindormSpec(val interface{})
	LogDiskCategory() interface{}
	SetLogDiskCategory(val interface{})
	// The logical ID for this stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	LogNum() interface{}
	SetLogNum(val interface{})
	LogSingleStorage() interface{}
	SetLogSingleStorage(val interface{})
	LogSpec() interface{}
	SetLogSpec(val interface{})
	MultiZoneCombination() interface{}
	SetMultiZoneCombination(val interface{})
	// The construct tree node associated with this construct.
	Node() alicloudroscdkcore.ConstructNode
	Period() interface{}
	SetPeriod(val interface{})
	PeriodUnit() interface{}
	SetPeriodUnit(val interface{})
	PrimaryVSwitchId() interface{}
	SetPrimaryVSwitchId(val interface{})
	PrimaryZoneId() interface{}
	SetPrimaryZoneId(val interface{})
	// Return a string that will be resolved to a RosTemplate `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	ResourceGroupId() interface{}
	SetResourceGroupId(val interface{})
	// Options for this resource, such as condition, update policy etc.
	RosOptions() alicloudroscdkcore.IRosResourceOptions
	RosProperties() *map[string]interface{}
	// ROS resource type.
	RosResourceType() *string
	SecurityIpList() interface{}
	SetSecurityIpList(val interface{})
	SolrNum() interface{}
	SetSolrNum(val interface{})
	SolrSpec() interface{}
	SetSolrSpec(val interface{})
	// The stack in which this element is defined.
	//
	// RosElements must be defined within a stack scope (directly or indirectly).
	Stack() alicloudroscdkcore.Stack
	StandbyVSwitchId() interface{}
	SetStandbyVSwitchId(val interface{})
	StandbyZoneId() interface{}
	SetStandbyZoneId(val interface{})
	StreamNum() interface{}
	SetStreamNum(val interface{})
	StreamSpec() interface{}
	SetStreamSpec(val interface{})
	TsdbNum() interface{}
	SetTsdbNum(val interface{})
	TsdbSpec() interface{}
	SetTsdbSpec(val interface{})
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	VpcId() interface{}
	SetVpcId(val interface{})
	AddCondition(con alicloudroscdkcore.RosCondition)
	AddCount(count interface{})
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependsOn(target alicloudroscdkcore.RosResource)
	AddDesc(desc *string)
	AddMetaData(key *string, value interface{})
	// Adds an override to the synthesized ROS resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// For example,
	// “`typescript
	// addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute'])
	// addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE')
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//    "GlobalSecondaryIndexes": [
	//      {
	//        "Projection": {
	//          "NonKeyAttributes": [ "myattribute" ]
	//          ...
	//        }
	//        ...
	//      },
	//      {
	//        "ProjectionType": "INCLUDE"
	//        ...
	//      },
	//    ]
	//    ...
	// }
	// “`.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	AddRosDependency(target *string)
	// Sets the deletion policy of the resource based on the removal policy specified.
	ApplyRemovalPolicy(policy alicloudroscdkcore.RemovalPolicy, options *alicloudroscdkcore.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string) alicloudroscdkcore.Reference
	// Perform final modifications before synthesis.
	//
	// This method can be implemented by derived constructs in order to perform
	// final changes before synthesis. prepare() will be called after child
	// constructs have been prepared.
	//
	// This is an advanced framework feature. Only use this if you
	// understand the implications.
	OnPrepare()
	// Allows this construct to emit artifacts into the cloud assembly during synthesis.
	//
	// This method is usually implemented by framework-level constructs such as `Stack` and `Asset`
	// as they participate in synthesizing the cloud assembly.
	OnSynthesize(session constructs.ISynthesisSession)
	// Validate the current construct.
	//
	// This method can be implemented by derived constructs in order to perform
	// validation logic. It is called on all constructs before synthesis.
	//
	// Returns: An array of validation error messages, or an empty array if the construct is valid.
	OnValidate() *[]*string
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Perform final modifications before synthesis.
	//
	// This method can be implemented by derived constructs in order to perform
	// final changes before synthesis. prepare() will be called after child
	// constructs have been prepared.
	//
	// This is an advanced framework feature. Only use this if you
	// understand the implications.
	Prepare()
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Allows this construct to emit artifacts into the cloud assembly during synthesis.
	//
	// This method is usually implemented by framework-level constructs such as `Stack` and `Asset`
	// as they participate in synthesizing the cloud assembly.
	Synthesize(session alicloudroscdkcore.ISynthesisSession)
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	// Validate the current construct.
	//
	// This method can be implemented by derived constructs in order to perform
	// validation logic. It is called on all constructs before synthesis.
	//
	// Returns: An array of validation error messages, or an empty array if the construct is valid.
	Validate() *[]*string
	ValidateProperties(_properties interface{})
}

This class is a base encapsulation around the ROS resource type `ALIYUN::Lindorm::MultiZoneInstance`, which is used to create a multi-zone Lindorm instance.

func NewRosMultiZoneInstance

func NewRosMultiZoneInstance(scope alicloudroscdkcore.Construct, id *string, props *RosMultiZoneInstanceProps, enableResourcePropertyConstraint *bool) RosMultiZoneInstance

type RosMultiZoneInstanceProps

type RosMultiZoneInstanceProps struct {
	DiskCategory         interface{} `field:"required" json:"diskCategory" yaml:"diskCategory"`
	InstanceName         interface{} `field:"required" json:"instanceName" yaml:"instanceName"`
	VpcId                interface{} `field:"required" json:"vpcId" yaml:"vpcId"`
	ArbiterVSwitchId     interface{} `field:"optional" json:"arbiterVSwitchId" yaml:"arbiterVSwitchId"`
	ArbiterZoneId        interface{} `field:"optional" json:"arbiterZoneId" yaml:"arbiterZoneId"`
	ColdStorage          interface{} `field:"optional" json:"coldStorage" yaml:"coldStorage"`
	CoreSingleStorage    interface{} `field:"optional" json:"coreSingleStorage" yaml:"coreSingleStorage"`
	CoreSpec             interface{} `field:"optional" json:"coreSpec" yaml:"coreSpec"`
	FilestoreNum         interface{} `field:"optional" json:"filestoreNum" yaml:"filestoreNum"`
	FilestoreSpec        interface{} `field:"optional" json:"filestoreSpec" yaml:"filestoreSpec"`
	InstanceChargeType   interface{} `field:"optional" json:"instanceChargeType" yaml:"instanceChargeType"`
	LindormNum           interface{} `field:"optional" json:"lindormNum" yaml:"lindormNum"`
	LindormSpec          interface{} `field:"optional" json:"lindormSpec" yaml:"lindormSpec"`
	LogDiskCategory      interface{} `field:"optional" json:"logDiskCategory" yaml:"logDiskCategory"`
	LogNum               interface{} `field:"optional" json:"logNum" yaml:"logNum"`
	LogSingleStorage     interface{} `field:"optional" json:"logSingleStorage" yaml:"logSingleStorage"`
	LogSpec              interface{} `field:"optional" json:"logSpec" yaml:"logSpec"`
	MultiZoneCombination interface{} `field:"optional" json:"multiZoneCombination" yaml:"multiZoneCombination"`
	Period               interface{} `field:"optional" json:"period" yaml:"period"`
	PeriodUnit           interface{} `field:"optional" json:"periodUnit" yaml:"periodUnit"`
	PrimaryVSwitchId     interface{} `field:"optional" json:"primaryVSwitchId" yaml:"primaryVSwitchId"`
	PrimaryZoneId        interface{} `field:"optional" json:"primaryZoneId" yaml:"primaryZoneId"`
	ResourceGroupId      interface{} `field:"optional" json:"resourceGroupId" yaml:"resourceGroupId"`
	SecurityIpList       interface{} `field:"optional" json:"securityIpList" yaml:"securityIpList"`
	SolrNum              interface{} `field:"optional" json:"solrNum" yaml:"solrNum"`
	SolrSpec             interface{} `field:"optional" json:"solrSpec" yaml:"solrSpec"`
	StandbyVSwitchId     interface{} `field:"optional" json:"standbyVSwitchId" yaml:"standbyVSwitchId"`
	StandbyZoneId        interface{} `field:"optional" json:"standbyZoneId" yaml:"standbyZoneId"`
	StreamNum            interface{} `field:"optional" json:"streamNum" yaml:"streamNum"`
	StreamSpec           interface{} `field:"optional" json:"streamSpec" yaml:"streamSpec"`
	TsdbNum              interface{} `field:"optional" json:"tsdbNum" yaml:"tsdbNum"`
	TsdbSpec             interface{} `field:"optional" json:"tsdbSpec" yaml:"tsdbSpec"`
}

Properties for defining a `RosMultiZoneInstance`.

See https://www.alibabacloud.com/help/ros/developer-reference/aliyun-lindorm-multizoneinstance

Directories

Path Synopsis
Package jsii contains the functionaility needed for jsii packages to initialize their dependencies and themselves.
Package jsii contains the functionaility needed for jsii packages to initialize their dependencies and themselves.

Jump to

Keyboard shortcuts

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