v1alpha1

package
v0.8.2 Latest Latest
Warning

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

Go to latest
Published: May 28, 2024 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

+kubebuilder:object:generate=true +groupName=mongodb.tencentcloud.crossplane.io +versionName=v1alpha1

Index

Constants

View Source
const (
	CRDGroup   = "mongodb.tencentcloud.crossplane.io"
	CRDVersion = "v1alpha1"
)

Package type metadata.

Variables

View Source
var (
	// CRDGroupVersion is the API Group Version used to register the objects
	CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var (
	Instance_Kind             = "Instance"
	Instance_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Instance_Kind}.String()
	Instance_KindAPIVersion   = Instance_Kind + "." + CRDGroupVersion.String()
	Instance_GroupVersionKind = CRDGroupVersion.WithKind(Instance_Kind)
)

Repository type metadata.

View Source
var (
	ShardingInstance_Kind             = "ShardingInstance"
	ShardingInstance_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: ShardingInstance_Kind}.String()
	ShardingInstance_KindAPIVersion   = ShardingInstance_Kind + "." + CRDGroupVersion.String()
	ShardingInstance_GroupVersionKind = CRDGroupVersion.WithKind(ShardingInstance_Kind)
)

Repository type metadata.

View Source
var (
	StandbyInstance_Kind             = "StandbyInstance"
	StandbyInstance_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: StandbyInstance_Kind}.String()
	StandbyInstance_KindAPIVersion   = StandbyInstance_Kind + "." + CRDGroupVersion.String()
	StandbyInstance_GroupVersionKind = CRDGroupVersion.WithKind(StandbyInstance_Kind)
)

Repository type metadata.

Functions

This section is empty.

Types

type AddNodeListInitParameters added in v0.8.0

type AddNodeListInitParameters struct {

	// The node role that needs to be added.
	// The node role that needs to be added.
	// - SECONDARY: Mongod node;
	// - READONLY: read-only node;
	// - MONGOS: Mongos node.
	Role *string `json:"role,omitempty" tf:"role,omitempty"`

	// The availability zone corresponding to the node.
	// The availability zone corresponding to the node.
	// - single availability zone, where all nodes are in the same availability zone;
	// - multiple availability zones: the current standard specification is the distribution of three availability zones, and the master and slave nodes are not in the same availability zone. You should pay attention to configuring the availability zone corresponding to the new node, and the rule that the number of nodes in any two availability zones is greater than the third availability zone must be met after the addition.
	Zone *string `json:"zone,omitempty" tf:"zone,omitempty"`
}

func (*AddNodeListInitParameters) DeepCopy added in v0.8.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddNodeListInitParameters.

func (*AddNodeListInitParameters) DeepCopyInto added in v0.8.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AddNodeListObservation added in v0.8.0

type AddNodeListObservation struct {

	// The node role that needs to be added.
	// The node role that needs to be added.
	// - SECONDARY: Mongod node;
	// - READONLY: read-only node;
	// - MONGOS: Mongos node.
	Role *string `json:"role,omitempty" tf:"role,omitempty"`

	// The availability zone corresponding to the node.
	// The availability zone corresponding to the node.
	// - single availability zone, where all nodes are in the same availability zone;
	// - multiple availability zones: the current standard specification is the distribution of three availability zones, and the master and slave nodes are not in the same availability zone. You should pay attention to configuring the availability zone corresponding to the new node, and the rule that the number of nodes in any two availability zones is greater than the third availability zone must be met after the addition.
	Zone *string `json:"zone,omitempty" tf:"zone,omitempty"`
}

func (*AddNodeListObservation) DeepCopy added in v0.8.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddNodeListObservation.

func (*AddNodeListObservation) DeepCopyInto added in v0.8.0

func (in *AddNodeListObservation) DeepCopyInto(out *AddNodeListObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AddNodeListParameters added in v0.8.0

type AddNodeListParameters struct {

	// The node role that needs to be added.
	// The node role that needs to be added.
	// - SECONDARY: Mongod node;
	// - READONLY: read-only node;
	// - MONGOS: Mongos node.
	// +kubebuilder:validation:Optional
	Role *string `json:"role" tf:"role,omitempty"`

	// The availability zone corresponding to the node.
	// The availability zone corresponding to the node.
	// - single availability zone, where all nodes are in the same availability zone;
	// - multiple availability zones: the current standard specification is the distribution of three availability zones, and the master and slave nodes are not in the same availability zone. You should pay attention to configuring the availability zone corresponding to the new node, and the rule that the number of nodes in any two availability zones is greater than the third availability zone must be met after the addition.
	// +kubebuilder:validation:Optional
	Zone *string `json:"zone" tf:"zone,omitempty"`
}

func (*AddNodeListParameters) DeepCopy added in v0.8.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddNodeListParameters.

func (*AddNodeListParameters) DeepCopyInto added in v0.8.0

func (in *AddNodeListParameters) DeepCopyInto(out *AddNodeListParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Instance

type Instance struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.availableZone) || (has(self.initProvider) && has(self.initProvider.availableZone))",message="spec.forProvider.availableZone is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.engineVersion) || (has(self.initProvider) && has(self.initProvider.engineVersion))",message="spec.forProvider.engineVersion is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.instanceName) || (has(self.initProvider) && has(self.initProvider.instanceName))",message="spec.forProvider.instanceName is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.machineType) || (has(self.initProvider) && has(self.initProvider.machineType))",message="spec.forProvider.machineType is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.memory) || (has(self.initProvider) && has(self.initProvider.memory))",message="spec.forProvider.memory is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.volume) || (has(self.initProvider) && has(self.initProvider.volume))",message="spec.forProvider.volume is a required parameter"
	Spec   InstanceSpec   `json:"spec"`
	Status InstanceStatus `json:"status,omitempty"`
}

Instance is the Schema for the Instances API. Provide a resource to create a Mongodb instance. +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,tencentcloud}

func (*Instance) DeepCopy

func (in *Instance) DeepCopy() *Instance

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Instance.

func (*Instance) DeepCopyInto

func (in *Instance) DeepCopyInto(out *Instance)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Instance) DeepCopyObject

func (in *Instance) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Instance) GetCondition

func (mg *Instance) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this Instance.

func (*Instance) GetConnectionDetailsMapping

func (tr *Instance) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Instance

func (*Instance) GetDeletionPolicy

func (mg *Instance) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this Instance.

func (*Instance) GetID

func (tr *Instance) GetID() string

GetID returns ID of underlying Terraform resource of this Instance

func (*Instance) GetInitParameters added in v0.8.0

func (tr *Instance) GetInitParameters() (map[string]any, error)

GetInitParameters of this Instance

func (*Instance) GetManagementPolicies added in v0.8.0

func (mg *Instance) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this Instance.

func (*Instance) GetMergedParameters added in v0.8.1

func (tr *Instance) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this Instance

func (*Instance) GetObservation

func (tr *Instance) GetObservation() (map[string]any, error)

GetObservation of this Instance

func (*Instance) GetParameters

func (tr *Instance) GetParameters() (map[string]any, error)

GetParameters of this Instance

func (*Instance) GetProviderConfigReference

func (mg *Instance) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this Instance.

func (*Instance) GetPublishConnectionDetailsTo

func (mg *Instance) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Instance.

func (*Instance) GetTerraformResourceType

func (mg *Instance) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Instance

func (*Instance) GetTerraformSchemaVersion

func (tr *Instance) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Instance) GetWriteConnectionSecretToReference

func (mg *Instance) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this Instance.

func (*Instance) Hub added in v0.8.1

func (tr *Instance) Hub()

Hub marks this type as a conversion hub.

func (*Instance) LateInitialize

func (tr *Instance) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Instance using its observed tfState. returns True if there are any spec changes for the resource.

func (*Instance) ResolveReferences

func (mg *Instance) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this Instance.

func (*Instance) SetConditions

func (mg *Instance) SetConditions(c ...xpv1.Condition)

SetConditions of this Instance.

func (*Instance) SetDeletionPolicy

func (mg *Instance) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this Instance.

func (*Instance) SetManagementPolicies added in v0.8.0

func (mg *Instance) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this Instance.

func (*Instance) SetObservation

func (tr *Instance) SetObservation(obs map[string]any) error

SetObservation for this Instance

func (*Instance) SetParameters

func (tr *Instance) SetParameters(params map[string]any) error

SetParameters for this Instance

func (*Instance) SetProviderConfigReference

func (mg *Instance) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this Instance.

func (*Instance) SetPublishConnectionDetailsTo

func (mg *Instance) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Instance.

func (*Instance) SetWriteConnectionSecretToReference

func (mg *Instance) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this Instance.

type InstanceInitParameters added in v0.8.0

type InstanceInitParameters struct {

	// Add node attribute list.
	// Add node attribute list.
	AddNodeList []AddNodeListInitParameters `json:"addNodeList,omitempty" tf:"add_node_list,omitempty"`

	// Auto renew flag. Valid values are 0(NOTIFY_AND_MANUAL_RENEW), 1(NOTIFY_AND_AUTO_RENEW) and 2(DISABLE_NOTIFY_AND_MANUAL_RENEW). Default value is 0. Note: only works for PREPAID instance. Only supports0 and 1 for creation.
	// Auto renew flag. Valid values are `0`(NOTIFY_AND_MANUAL_RENEW), `1`(NOTIFY_AND_AUTO_RENEW) and `2`(DISABLE_NOTIFY_AND_MANUAL_RENEW). Default value is `0`. Note: only works for PREPAID instance. Only supports`0` and `1` for creation.
	AutoRenewFlag *float64 `json:"autoRenewFlag,omitempty" tf:"auto_renew_flag,omitempty"`

	// A list of nodes deployed in multiple availability zones. For more information, please use the API DescribeSpecInfo.
	// - Multi-availability zone deployment nodes can only be deployed in 3 different availability zones. It is not supported to deploy most nodes of the cluster in the same availability zone. For example, a 3-node cluster does not support the deployment of 2 nodes in the same zone.
	// - Version 4.2 and above are not supported.
	// - Read-only disaster recovery instances are not supported.
	// - Basic network cannot be selected.
	// A list of nodes deployed in multiple availability zones. For more information, please use the API DescribeSpecInfo.
	// - Multi-availability zone deployment nodes can only be deployed in 3 different availability zones. It is not supported to deploy most nodes of the cluster in the same availability zone. For example, a 3-node cluster does not support the deployment of 2 nodes in the same zone.
	// - Version 4.2 and above are not supported.
	// - Read-only disaster recovery instances are not supported.
	// - Basic network cannot be selected.
	AvailabilityZoneList []*string `json:"availabilityZoneList,omitempty" tf:"availability_zone_list,omitempty"`

	// The available zone of the Mongodb.
	// The available zone of the Mongodb.
	AvailableZone *string `json:"availableZone,omitempty" tf:"available_zone,omitempty"`

	// The charge type of instance. Valid values are PREPAID and POSTPAID_BY_HOUR. Default value is POSTPAID_BY_HOUR. Note: TencentCloud International only supports POSTPAID_BY_HOUR. Caution that update operation on this field will delete old instances and create new one with new charge type.
	// The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. Default value is `POSTPAID_BY_HOUR`. Note: TencentCloud International only supports `POSTPAID_BY_HOUR`. Caution that update operation on this field will delete old instances and create new one with new charge type.
	ChargeType *string `json:"chargeType,omitempty" tf:"charge_type,omitempty"`

	// Version of the Mongodb, and available values include MONGO_36_WT (MongoDB 3.6 WiredTiger Edition), MONGO_40_WT (MongoDB 4.0 WiredTiger Edition) and MONGO_42_WT  (MongoDB 4.2 WiredTiger Edition). NOTE: MONGO_3_WT (MongoDB 3.2 WiredTiger Edition) and MONGO_3_ROCKS (MongoDB 3.2 RocksDB Edition) will deprecated.
	// Version of the Mongodb, and available values include `MONGO_36_WT` (MongoDB 3.6 WiredTiger Edition), `MONGO_40_WT` (MongoDB 4.0 WiredTiger Edition) and `MONGO_42_WT`  (MongoDB 4.2 WiredTiger Edition). NOTE: `MONGO_3_WT` (MongoDB 3.2 WiredTiger Edition) and `MONGO_3_ROCKS` (MongoDB 3.2 RocksDB Edition) will deprecated.
	EngineVersion *string `json:"engineVersion,omitempty" tf:"engine_version,omitempty"`

	// The availability zone to which the Hidden node belongs. This parameter must be configured to deploy instances across availability zones.
	// The availability zone to which the Hidden node belongs. This parameter must be configured to deploy instances across availability zones.
	HiddenZone *string `json:"hiddenZone,omitempty" tf:"hidden_zone,omitempty"`

	// Name of the Mongodb instance.
	// Name of the Mongodb instance.
	InstanceName *string `json:"instanceName,omitempty" tf:"instance_name,omitempty"`

	// Type of Mongodb instance, and available values include HIO(or GIO which will be deprecated, represents high IO) and HIO10G(or TGIO which will be deprecated, represents 10-gigabit high IO).
	// Type of Mongodb instance, and available values include `HIO`(or `GIO` which will be deprecated, represents high IO) and `HIO10G`(or `TGIO` which will be deprecated, represents 10-gigabit high IO).
	MachineType *string `json:"machineType,omitempty" tf:"machine_type,omitempty"`

	// Memory size. The minimum value is 2, and unit is GB. Memory and volume must be upgraded or degraded simultaneously.
	// Memory size. The minimum value is 2, and unit is GB. Memory and volume must be upgraded or degraded simultaneously.
	Memory *float64 `json:"memory,omitempty" tf:"memory,omitempty"`

	// The number of nodes in each replica set. Default value: 3.
	// The number of nodes in each replica set. Default value: 3.
	NodeNum *float64 `json:"nodeNum,omitempty" tf:"node_num,omitempty"`

	// The tenancy (time unit is month) of the prepaid instance. Valid values are 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, 36. NOTE: it only works when charge_type is set to PREPAID.
	// The tenancy (time unit is month) of the prepaid instance. Valid values are 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, 36. NOTE: it only works when charge_type is set to `PREPAID`.
	PrepaidPeriod *float64 `json:"prepaidPeriod,omitempty" tf:"prepaid_period,omitempty"`

	// ID of the project which the instance belongs.
	// ID of the project which the instance belongs.
	ProjectID *float64 `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// Add node attribute list.
	// Add node attribute list.
	RemoveNodeList []RemoveNodeListInitParameters `json:"removeNodeList,omitempty" tf:"remove_node_list,omitempty"`

	// ID of the security group.
	// ID of the security group.
	// +listType=set
	SecurityGroups []*string `json:"securityGroups,omitempty" tf:"security_groups,omitempty"`

	// ID of the subnet within this VPC. The value is required if vpc_id is set.
	// ID of the subnet within this VPC. The value is required if `vpc_id` is set.
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-tencentcloud/apis/vpc/v1alpha1.Subnet
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// Reference to a Subnet in vpc to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDRef *v1.Reference `json:"subnetIdRef,omitempty" tf:"-"`

	// Selector for a Subnet in vpc to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDSelector *v1.Selector `json:"subnetIdSelector,omitempty" tf:"-"`

	// The tags of the Mongodb. Key name project is system reserved and can't be used.
	// The tags of the Mongodb. Key name `project` is system reserved and can't be used.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// ID of the VPC.
	// ID of the VPC.
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-tencentcloud/apis/vpc/v1alpha1.VPC
	VPCID *string `json:"vpcId,omitempty" tf:"vpc_id,omitempty"`

	// Reference to a VPC in vpc to populate vpcId.
	// +kubebuilder:validation:Optional
	VPCIDRef *v1.Reference `json:"vpcIdRef,omitempty" tf:"-"`

	// Selector for a VPC in vpc to populate vpcId.
	// +kubebuilder:validation:Optional
	VPCIDSelector *v1.Selector `json:"vpcIdSelector,omitempty" tf:"-"`

	// Disk size. The minimum value is 25, and unit is GB. Memory and volume must be upgraded or degraded simultaneously.
	// Disk size. The minimum value is 25, and unit is GB. Memory and volume must be upgraded or degraded simultaneously.
	Volume *float64 `json:"volume,omitempty" tf:"volume,omitempty"`
}

func (*InstanceInitParameters) DeepCopy added in v0.8.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceInitParameters.

func (*InstanceInitParameters) DeepCopyInto added in v0.8.0

func (in *InstanceInitParameters) DeepCopyInto(out *InstanceInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceList

type InstanceList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Instance `json:"items"`
}

InstanceList contains a list of Instances

func (*InstanceList) DeepCopy

func (in *InstanceList) DeepCopy() *InstanceList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceList.

func (*InstanceList) DeepCopyInto

func (in *InstanceList) DeepCopyInto(out *InstanceList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*InstanceList) DeepCopyObject

func (in *InstanceList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*InstanceList) GetItems

func (l *InstanceList) GetItems() []resource.Managed

GetItems of this InstanceList.

type InstanceObservation

type InstanceObservation struct {

	// Add node attribute list.
	// Add node attribute list.
	AddNodeList []AddNodeListObservation `json:"addNodeList,omitempty" tf:"add_node_list,omitempty"`

	// Auto renew flag. Valid values are 0(NOTIFY_AND_MANUAL_RENEW), 1(NOTIFY_AND_AUTO_RENEW) and 2(DISABLE_NOTIFY_AND_MANUAL_RENEW). Default value is 0. Note: only works for PREPAID instance. Only supports0 and 1 for creation.
	// Auto renew flag. Valid values are `0`(NOTIFY_AND_MANUAL_RENEW), `1`(NOTIFY_AND_AUTO_RENEW) and `2`(DISABLE_NOTIFY_AND_MANUAL_RENEW). Default value is `0`. Note: only works for PREPAID instance. Only supports`0` and `1` for creation.
	AutoRenewFlag *float64 `json:"autoRenewFlag,omitempty" tf:"auto_renew_flag,omitempty"`

	// A list of nodes deployed in multiple availability zones. For more information, please use the API DescribeSpecInfo.
	// - Multi-availability zone deployment nodes can only be deployed in 3 different availability zones. It is not supported to deploy most nodes of the cluster in the same availability zone. For example, a 3-node cluster does not support the deployment of 2 nodes in the same zone.
	// - Version 4.2 and above are not supported.
	// - Read-only disaster recovery instances are not supported.
	// - Basic network cannot be selected.
	// A list of nodes deployed in multiple availability zones. For more information, please use the API DescribeSpecInfo.
	// - Multi-availability zone deployment nodes can only be deployed in 3 different availability zones. It is not supported to deploy most nodes of the cluster in the same availability zone. For example, a 3-node cluster does not support the deployment of 2 nodes in the same zone.
	// - Version 4.2 and above are not supported.
	// - Read-only disaster recovery instances are not supported.
	// - Basic network cannot be selected.
	AvailabilityZoneList []*string `json:"availabilityZoneList,omitempty" tf:"availability_zone_list,omitempty"`

	// The available zone of the Mongodb.
	// The available zone of the Mongodb.
	AvailableZone *string `json:"availableZone,omitempty" tf:"available_zone,omitempty"`

	// The charge type of instance. Valid values are PREPAID and POSTPAID_BY_HOUR. Default value is POSTPAID_BY_HOUR. Note: TencentCloud International only supports POSTPAID_BY_HOUR. Caution that update operation on this field will delete old instances and create new one with new charge type.
	// The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. Default value is `POSTPAID_BY_HOUR`. Note: TencentCloud International only supports `POSTPAID_BY_HOUR`. Caution that update operation on this field will delete old instances and create new one with new charge type.
	ChargeType *string `json:"chargeType,omitempty" tf:"charge_type,omitempty"`

	// Creation time of the Mongodb instance.
	// Creation time of the Mongodb instance.
	CreateTime *string `json:"createTime,omitempty" tf:"create_time,omitempty"`

	// Version of the Mongodb, and available values include MONGO_36_WT (MongoDB 3.6 WiredTiger Edition), MONGO_40_WT (MongoDB 4.0 WiredTiger Edition) and MONGO_42_WT  (MongoDB 4.2 WiredTiger Edition). NOTE: MONGO_3_WT (MongoDB 3.2 WiredTiger Edition) and MONGO_3_ROCKS (MongoDB 3.2 RocksDB Edition) will deprecated.
	// Version of the Mongodb, and available values include `MONGO_36_WT` (MongoDB 3.6 WiredTiger Edition), `MONGO_40_WT` (MongoDB 4.0 WiredTiger Edition) and `MONGO_42_WT`  (MongoDB 4.2 WiredTiger Edition). NOTE: `MONGO_3_WT` (MongoDB 3.2 WiredTiger Edition) and `MONGO_3_ROCKS` (MongoDB 3.2 RocksDB Edition) will deprecated.
	EngineVersion *string `json:"engineVersion,omitempty" tf:"engine_version,omitempty"`

	// The availability zone to which the Hidden node belongs. This parameter must be configured to deploy instances across availability zones.
	// The availability zone to which the Hidden node belongs. This parameter must be configured to deploy instances across availability zones.
	HiddenZone *string `json:"hiddenZone,omitempty" tf:"hidden_zone,omitempty"`

	// ID of the resource.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Name of the Mongodb instance.
	// Name of the Mongodb instance.
	InstanceName *string `json:"instanceName,omitempty" tf:"instance_name,omitempty"`

	// Type of Mongodb instance, and available values include HIO(or GIO which will be deprecated, represents high IO) and HIO10G(or TGIO which will be deprecated, represents 10-gigabit high IO).
	// Type of Mongodb instance, and available values include `HIO`(or `GIO` which will be deprecated, represents high IO) and `HIO10G`(or `TGIO` which will be deprecated, represents 10-gigabit high IO).
	MachineType *string `json:"machineType,omitempty" tf:"machine_type,omitempty"`

	// Memory size. The minimum value is 2, and unit is GB. Memory and volume must be upgraded or degraded simultaneously.
	// Memory size. The minimum value is 2, and unit is GB. Memory and volume must be upgraded or degraded simultaneously.
	Memory *float64 `json:"memory,omitempty" tf:"memory,omitempty"`

	// The number of nodes in each replica set. Default value: 3.
	// The number of nodes in each replica set. Default value: 3.
	NodeNum *float64 `json:"nodeNum,omitempty" tf:"node_num,omitempty"`

	// The tenancy (time unit is month) of the prepaid instance. Valid values are 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, 36. NOTE: it only works when charge_type is set to PREPAID.
	// The tenancy (time unit is month) of the prepaid instance. Valid values are 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, 36. NOTE: it only works when charge_type is set to `PREPAID`.
	PrepaidPeriod *float64 `json:"prepaidPeriod,omitempty" tf:"prepaid_period,omitempty"`

	// ID of the project which the instance belongs.
	// ID of the project which the instance belongs.
	ProjectID *float64 `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// Add node attribute list.
	// Add node attribute list.
	RemoveNodeList []RemoveNodeListObservation `json:"removeNodeList,omitempty" tf:"remove_node_list,omitempty"`

	// ID of the security group.
	// ID of the security group.
	// +listType=set
	SecurityGroups []*string `json:"securityGroups,omitempty" tf:"security_groups,omitempty"`

	// List of standby instances' info.
	// List of standby instances' info.
	StandbyInstanceList []StandbyInstanceListObservation `json:"standbyInstanceList,omitempty" tf:"standby_instance_list,omitempty"`

	// Status of the Mongodb instance, and available values include pending initialization(expressed with 0),  processing(expressed with 1), running(expressed with 2) and expired(expressed with -2).
	// Status of the Mongodb instance, and available values include pending initialization(expressed with 0),  processing(expressed with 1), running(expressed with 2) and expired(expressed with -2).
	Status *float64 `json:"status,omitempty" tf:"status,omitempty"`

	// ID of the subnet within this VPC. The value is required if vpc_id is set.
	// ID of the subnet within this VPC. The value is required if `vpc_id` is set.
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// The tags of the Mongodb. Key name project is system reserved and can't be used.
	// The tags of the Mongodb. Key name `project` is system reserved and can't be used.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// ID of the VPC.
	// ID of the VPC.
	VPCID *string `json:"vpcId,omitempty" tf:"vpc_id,omitempty"`

	// IP of the Mongodb instance.
	// IP of the Mongodb instance.
	Vip *string `json:"vip,omitempty" tf:"vip,omitempty"`

	// Disk size. The minimum value is 25, and unit is GB. Memory and volume must be upgraded or degraded simultaneously.
	// Disk size. The minimum value is 25, and unit is GB. Memory and volume must be upgraded or degraded simultaneously.
	Volume *float64 `json:"volume,omitempty" tf:"volume,omitempty"`

	// IP port of the Mongodb instance.
	// IP port of the Mongodb instance.
	Vport *float64 `json:"vport,omitempty" tf:"vport,omitempty"`
}

func (*InstanceObservation) DeepCopy

func (in *InstanceObservation) DeepCopy() *InstanceObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceObservation.

func (*InstanceObservation) DeepCopyInto

func (in *InstanceObservation) DeepCopyInto(out *InstanceObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceParameters

type InstanceParameters struct {

	// Add node attribute list.
	// Add node attribute list.
	// +kubebuilder:validation:Optional
	AddNodeList []AddNodeListParameters `json:"addNodeList,omitempty" tf:"add_node_list,omitempty"`

	// Auto renew flag. Valid values are 0(NOTIFY_AND_MANUAL_RENEW), 1(NOTIFY_AND_AUTO_RENEW) and 2(DISABLE_NOTIFY_AND_MANUAL_RENEW). Default value is 0. Note: only works for PREPAID instance. Only supports0 and 1 for creation.
	// Auto renew flag. Valid values are `0`(NOTIFY_AND_MANUAL_RENEW), `1`(NOTIFY_AND_AUTO_RENEW) and `2`(DISABLE_NOTIFY_AND_MANUAL_RENEW). Default value is `0`. Note: only works for PREPAID instance. Only supports`0` and `1` for creation.
	// +kubebuilder:validation:Optional
	AutoRenewFlag *float64 `json:"autoRenewFlag,omitempty" tf:"auto_renew_flag,omitempty"`

	// A list of nodes deployed in multiple availability zones. For more information, please use the API DescribeSpecInfo.
	// - Multi-availability zone deployment nodes can only be deployed in 3 different availability zones. It is not supported to deploy most nodes of the cluster in the same availability zone. For example, a 3-node cluster does not support the deployment of 2 nodes in the same zone.
	// - Version 4.2 and above are not supported.
	// - Read-only disaster recovery instances are not supported.
	// - Basic network cannot be selected.
	// A list of nodes deployed in multiple availability zones. For more information, please use the API DescribeSpecInfo.
	// - Multi-availability zone deployment nodes can only be deployed in 3 different availability zones. It is not supported to deploy most nodes of the cluster in the same availability zone. For example, a 3-node cluster does not support the deployment of 2 nodes in the same zone.
	// - Version 4.2 and above are not supported.
	// - Read-only disaster recovery instances are not supported.
	// - Basic network cannot be selected.
	// +kubebuilder:validation:Optional
	AvailabilityZoneList []*string `json:"availabilityZoneList,omitempty" tf:"availability_zone_list,omitempty"`

	// The available zone of the Mongodb.
	// The available zone of the Mongodb.
	// +kubebuilder:validation:Optional
	AvailableZone *string `json:"availableZone,omitempty" tf:"available_zone,omitempty"`

	// The charge type of instance. Valid values are PREPAID and POSTPAID_BY_HOUR. Default value is POSTPAID_BY_HOUR. Note: TencentCloud International only supports POSTPAID_BY_HOUR. Caution that update operation on this field will delete old instances and create new one with new charge type.
	// The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. Default value is `POSTPAID_BY_HOUR`. Note: TencentCloud International only supports `POSTPAID_BY_HOUR`. Caution that update operation on this field will delete old instances and create new one with new charge type.
	// +kubebuilder:validation:Optional
	ChargeType *string `json:"chargeType,omitempty" tf:"charge_type,omitempty"`

	// Version of the Mongodb, and available values include MONGO_36_WT (MongoDB 3.6 WiredTiger Edition), MONGO_40_WT (MongoDB 4.0 WiredTiger Edition) and MONGO_42_WT  (MongoDB 4.2 WiredTiger Edition). NOTE: MONGO_3_WT (MongoDB 3.2 WiredTiger Edition) and MONGO_3_ROCKS (MongoDB 3.2 RocksDB Edition) will deprecated.
	// Version of the Mongodb, and available values include `MONGO_36_WT` (MongoDB 3.6 WiredTiger Edition), `MONGO_40_WT` (MongoDB 4.0 WiredTiger Edition) and `MONGO_42_WT`  (MongoDB 4.2 WiredTiger Edition). NOTE: `MONGO_3_WT` (MongoDB 3.2 WiredTiger Edition) and `MONGO_3_ROCKS` (MongoDB 3.2 RocksDB Edition) will deprecated.
	// +kubebuilder:validation:Optional
	EngineVersion *string `json:"engineVersion,omitempty" tf:"engine_version,omitempty"`

	// The availability zone to which the Hidden node belongs. This parameter must be configured to deploy instances across availability zones.
	// The availability zone to which the Hidden node belongs. This parameter must be configured to deploy instances across availability zones.
	// +kubebuilder:validation:Optional
	HiddenZone *string `json:"hiddenZone,omitempty" tf:"hidden_zone,omitempty"`

	// Name of the Mongodb instance.
	// Name of the Mongodb instance.
	// +kubebuilder:validation:Optional
	InstanceName *string `json:"instanceName,omitempty" tf:"instance_name,omitempty"`

	// Type of Mongodb instance, and available values include HIO(or GIO which will be deprecated, represents high IO) and HIO10G(or TGIO which will be deprecated, represents 10-gigabit high IO).
	// Type of Mongodb instance, and available values include `HIO`(or `GIO` which will be deprecated, represents high IO) and `HIO10G`(or `TGIO` which will be deprecated, represents 10-gigabit high IO).
	// +kubebuilder:validation:Optional
	MachineType *string `json:"machineType,omitempty" tf:"machine_type,omitempty"`

	// Memory size. The minimum value is 2, and unit is GB. Memory and volume must be upgraded or degraded simultaneously.
	// Memory size. The minimum value is 2, and unit is GB. Memory and volume must be upgraded or degraded simultaneously.
	// +kubebuilder:validation:Optional
	Memory *float64 `json:"memory,omitempty" tf:"memory,omitempty"`

	// The number of nodes in each replica set. Default value: 3.
	// The number of nodes in each replica set. Default value: 3.
	// +kubebuilder:validation:Optional
	NodeNum *float64 `json:"nodeNum,omitempty" tf:"node_num,omitempty"`

	// Password of this Mongodb account.
	// Password of this Mongodb account.
	// +kubebuilder:validation:Optional
	PasswordSecretRef *v1.SecretKeySelector `json:"passwordSecretRef,omitempty" tf:"-"`

	// The tenancy (time unit is month) of the prepaid instance. Valid values are 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, 36. NOTE: it only works when charge_type is set to PREPAID.
	// The tenancy (time unit is month) of the prepaid instance. Valid values are 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, 36. NOTE: it only works when charge_type is set to `PREPAID`.
	// +kubebuilder:validation:Optional
	PrepaidPeriod *float64 `json:"prepaidPeriod,omitempty" tf:"prepaid_period,omitempty"`

	// ID of the project which the instance belongs.
	// ID of the project which the instance belongs.
	// +kubebuilder:validation:Optional
	ProjectID *float64 `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// Add node attribute list.
	// Add node attribute list.
	// +kubebuilder:validation:Optional
	RemoveNodeList []RemoveNodeListParameters `json:"removeNodeList,omitempty" tf:"remove_node_list,omitempty"`

	// ID of the security group.
	// ID of the security group.
	// +kubebuilder:validation:Optional
	// +listType=set
	SecurityGroups []*string `json:"securityGroups,omitempty" tf:"security_groups,omitempty"`

	// ID of the subnet within this VPC. The value is required if vpc_id is set.
	// ID of the subnet within this VPC. The value is required if `vpc_id` is set.
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-tencentcloud/apis/vpc/v1alpha1.Subnet
	// +kubebuilder:validation:Optional
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// Reference to a Subnet in vpc to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDRef *v1.Reference `json:"subnetIdRef,omitempty" tf:"-"`

	// Selector for a Subnet in vpc to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDSelector *v1.Selector `json:"subnetIdSelector,omitempty" tf:"-"`

	// The tags of the Mongodb. Key name project is system reserved and can't be used.
	// The tags of the Mongodb. Key name `project` is system reserved and can't be used.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// ID of the VPC.
	// ID of the VPC.
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-tencentcloud/apis/vpc/v1alpha1.VPC
	// +kubebuilder:validation:Optional
	VPCID *string `json:"vpcId,omitempty" tf:"vpc_id,omitempty"`

	// Reference to a VPC in vpc to populate vpcId.
	// +kubebuilder:validation:Optional
	VPCIDRef *v1.Reference `json:"vpcIdRef,omitempty" tf:"-"`

	// Selector for a VPC in vpc to populate vpcId.
	// +kubebuilder:validation:Optional
	VPCIDSelector *v1.Selector `json:"vpcIdSelector,omitempty" tf:"-"`

	// Disk size. The minimum value is 25, and unit is GB. Memory and volume must be upgraded or degraded simultaneously.
	// Disk size. The minimum value is 25, and unit is GB. Memory and volume must be upgraded or degraded simultaneously.
	// +kubebuilder:validation:Optional
	Volume *float64 `json:"volume,omitempty" tf:"volume,omitempty"`
}

func (*InstanceParameters) DeepCopy

func (in *InstanceParameters) DeepCopy() *InstanceParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceParameters.

func (*InstanceParameters) DeepCopyInto

func (in *InstanceParameters) DeepCopyInto(out *InstanceParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceSpec

type InstanceSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     InstanceParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider InstanceInitParameters `json:"initProvider,omitempty"`
}

InstanceSpec defines the desired state of Instance

func (*InstanceSpec) DeepCopy

func (in *InstanceSpec) DeepCopy() *InstanceSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceSpec.

func (*InstanceSpec) DeepCopyInto

func (in *InstanceSpec) DeepCopyInto(out *InstanceSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InstanceStatus

type InstanceStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        InstanceObservation `json:"atProvider,omitempty"`
}

InstanceStatus defines the observed state of Instance.

func (*InstanceStatus) DeepCopy

func (in *InstanceStatus) DeepCopy() *InstanceStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstanceStatus.

func (*InstanceStatus) DeepCopyInto

func (in *InstanceStatus) DeepCopyInto(out *InstanceStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RemoveNodeListInitParameters added in v0.8.0

type RemoveNodeListInitParameters struct {

	// The node ID to delete. The shard cluster must specify the name of the node to be deleted by a group of shards, and the rest of the shards should be grouped and aligned.
	// The node ID to delete. The shard cluster must specify the name of the node to be deleted by a group of shards, and the rest of the shards should be grouped and aligned.
	NodeName *string `json:"nodeName,omitempty" tf:"node_name,omitempty"`

	// The node role that needs to be added.
	// The node role that needs to be deleted.
	// - SECONDARY: Mongod node;
	// - READONLY: read-only node;
	// - MONGOS: Mongos node.
	Role *string `json:"role,omitempty" tf:"role,omitempty"`

	// The availability zone corresponding to the node.
	// The availability zone corresponding to the node.
	// - single availability zone, where all nodes are in the same availability zone;
	// - multiple availability zones: the current standard specification is the distribution of three availability zones, and the master and slave nodes are not in the same availability zone. You should pay attention to configuring the availability zone corresponding to the new node, and the rule that the number of nodes in any two availability zones is greater than the third availability zone must be met after the addition.
	Zone *string `json:"zone,omitempty" tf:"zone,omitempty"`
}

func (*RemoveNodeListInitParameters) DeepCopy added in v0.8.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RemoveNodeListInitParameters.

func (*RemoveNodeListInitParameters) DeepCopyInto added in v0.8.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RemoveNodeListObservation added in v0.8.0

type RemoveNodeListObservation struct {

	// The node ID to delete. The shard cluster must specify the name of the node to be deleted by a group of shards, and the rest of the shards should be grouped and aligned.
	// The node ID to delete. The shard cluster must specify the name of the node to be deleted by a group of shards, and the rest of the shards should be grouped and aligned.
	NodeName *string `json:"nodeName,omitempty" tf:"node_name,omitempty"`

	// The node role that needs to be added.
	// The node role that needs to be deleted.
	// - SECONDARY: Mongod node;
	// - READONLY: read-only node;
	// - MONGOS: Mongos node.
	Role *string `json:"role,omitempty" tf:"role,omitempty"`

	// The availability zone corresponding to the node.
	// The availability zone corresponding to the node.
	// - single availability zone, where all nodes are in the same availability zone;
	// - multiple availability zones: the current standard specification is the distribution of three availability zones, and the master and slave nodes are not in the same availability zone. You should pay attention to configuring the availability zone corresponding to the new node, and the rule that the number of nodes in any two availability zones is greater than the third availability zone must be met after the addition.
	Zone *string `json:"zone,omitempty" tf:"zone,omitempty"`
}

func (*RemoveNodeListObservation) DeepCopy added in v0.8.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RemoveNodeListObservation.

func (*RemoveNodeListObservation) DeepCopyInto added in v0.8.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RemoveNodeListParameters added in v0.8.0

type RemoveNodeListParameters struct {

	// The node ID to delete. The shard cluster must specify the name of the node to be deleted by a group of shards, and the rest of the shards should be grouped and aligned.
	// The node ID to delete. The shard cluster must specify the name of the node to be deleted by a group of shards, and the rest of the shards should be grouped and aligned.
	// +kubebuilder:validation:Optional
	NodeName *string `json:"nodeName" tf:"node_name,omitempty"`

	// The node role that needs to be added.
	// The node role that needs to be deleted.
	// - SECONDARY: Mongod node;
	// - READONLY: read-only node;
	// - MONGOS: Mongos node.
	// +kubebuilder:validation:Optional
	Role *string `json:"role" tf:"role,omitempty"`

	// The availability zone corresponding to the node.
	// The availability zone corresponding to the node.
	// - single availability zone, where all nodes are in the same availability zone;
	// - multiple availability zones: the current standard specification is the distribution of three availability zones, and the master and slave nodes are not in the same availability zone. You should pay attention to configuring the availability zone corresponding to the new node, and the rule that the number of nodes in any two availability zones is greater than the third availability zone must be met after the addition.
	// +kubebuilder:validation:Optional
	Zone *string `json:"zone" tf:"zone,omitempty"`
}

func (*RemoveNodeListParameters) DeepCopy added in v0.8.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RemoveNodeListParameters.

func (*RemoveNodeListParameters) DeepCopyInto added in v0.8.0

func (in *RemoveNodeListParameters) DeepCopyInto(out *RemoveNodeListParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ShardingInstance

type ShardingInstance struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.availableZone) || (has(self.initProvider) && has(self.initProvider.availableZone))",message="spec.forProvider.availableZone is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.engineVersion) || (has(self.initProvider) && has(self.initProvider.engineVersion))",message="spec.forProvider.engineVersion is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.instanceName) || (has(self.initProvider) && has(self.initProvider.instanceName))",message="spec.forProvider.instanceName is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.machineType) || (has(self.initProvider) && has(self.initProvider.machineType))",message="spec.forProvider.machineType is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.memory) || (has(self.initProvider) && has(self.initProvider.memory))",message="spec.forProvider.memory is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.nodesPerShard) || (has(self.initProvider) && has(self.initProvider.nodesPerShard))",message="spec.forProvider.nodesPerShard is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.shardQuantity) || (has(self.initProvider) && has(self.initProvider.shardQuantity))",message="spec.forProvider.shardQuantity is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.volume) || (has(self.initProvider) && has(self.initProvider.volume))",message="spec.forProvider.volume is a required parameter"
	Spec   ShardingInstanceSpec   `json:"spec"`
	Status ShardingInstanceStatus `json:"status,omitempty"`
}

ShardingInstance is the Schema for the ShardingInstances API. Provide a resource to create a Mongodb sharding instance. +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,tencentcloud}

func (*ShardingInstance) DeepCopy

func (in *ShardingInstance) DeepCopy() *ShardingInstance

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShardingInstance.

func (*ShardingInstance) DeepCopyInto

func (in *ShardingInstance) DeepCopyInto(out *ShardingInstance)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ShardingInstance) DeepCopyObject

func (in *ShardingInstance) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*ShardingInstance) GetCondition

func (mg *ShardingInstance) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this ShardingInstance.

func (*ShardingInstance) GetConnectionDetailsMapping

func (tr *ShardingInstance) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this ShardingInstance

func (*ShardingInstance) GetDeletionPolicy

func (mg *ShardingInstance) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this ShardingInstance.

func (*ShardingInstance) GetID

func (tr *ShardingInstance) GetID() string

GetID returns ID of underlying Terraform resource of this ShardingInstance

func (*ShardingInstance) GetInitParameters added in v0.8.0

func (tr *ShardingInstance) GetInitParameters() (map[string]any, error)

GetInitParameters of this ShardingInstance

func (*ShardingInstance) GetManagementPolicies added in v0.8.0

func (mg *ShardingInstance) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this ShardingInstance.

func (*ShardingInstance) GetMergedParameters added in v0.8.1

func (tr *ShardingInstance) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this ShardingInstance

func (*ShardingInstance) GetObservation

func (tr *ShardingInstance) GetObservation() (map[string]any, error)

GetObservation of this ShardingInstance

func (*ShardingInstance) GetParameters

func (tr *ShardingInstance) GetParameters() (map[string]any, error)

GetParameters of this ShardingInstance

func (*ShardingInstance) GetProviderConfigReference

func (mg *ShardingInstance) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this ShardingInstance.

func (*ShardingInstance) GetPublishConnectionDetailsTo

func (mg *ShardingInstance) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this ShardingInstance.

func (*ShardingInstance) GetTerraformResourceType

func (mg *ShardingInstance) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this ShardingInstance

func (*ShardingInstance) GetTerraformSchemaVersion

func (tr *ShardingInstance) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*ShardingInstance) GetWriteConnectionSecretToReference

func (mg *ShardingInstance) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this ShardingInstance.

func (*ShardingInstance) Hub added in v0.8.1

func (tr *ShardingInstance) Hub()

Hub marks this type as a conversion hub.

func (*ShardingInstance) LateInitialize

func (tr *ShardingInstance) LateInitialize(attrs []byte) (bool, error)

LateInitialize this ShardingInstance using its observed tfState. returns True if there are any spec changes for the resource.

func (*ShardingInstance) ResolveReferences

func (mg *ShardingInstance) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this ShardingInstance.

func (*ShardingInstance) SetConditions

func (mg *ShardingInstance) SetConditions(c ...xpv1.Condition)

SetConditions of this ShardingInstance.

func (*ShardingInstance) SetDeletionPolicy

func (mg *ShardingInstance) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this ShardingInstance.

func (*ShardingInstance) SetManagementPolicies added in v0.8.0

func (mg *ShardingInstance) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this ShardingInstance.

func (*ShardingInstance) SetObservation

func (tr *ShardingInstance) SetObservation(obs map[string]any) error

SetObservation for this ShardingInstance

func (*ShardingInstance) SetParameters

func (tr *ShardingInstance) SetParameters(params map[string]any) error

SetParameters for this ShardingInstance

func (*ShardingInstance) SetProviderConfigReference

func (mg *ShardingInstance) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this ShardingInstance.

func (*ShardingInstance) SetPublishConnectionDetailsTo

func (mg *ShardingInstance) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this ShardingInstance.

func (*ShardingInstance) SetWriteConnectionSecretToReference

func (mg *ShardingInstance) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this ShardingInstance.

type ShardingInstanceInitParameters added in v0.8.0

type ShardingInstanceInitParameters struct {

	// Auto renew flag. Valid values are 0(NOTIFY_AND_MANUAL_RENEW), 1(NOTIFY_AND_AUTO_RENEW) and 2(DISABLE_NOTIFY_AND_MANUAL_RENEW). Default value is 0. Note: only works for PREPAID instance. Only supports0 and 1 for creation.
	// Auto renew flag. Valid values are `0`(NOTIFY_AND_MANUAL_RENEW), `1`(NOTIFY_AND_AUTO_RENEW) and `2`(DISABLE_NOTIFY_AND_MANUAL_RENEW). Default value is `0`. Note: only works for PREPAID instance. Only supports`0` and `1` for creation.
	AutoRenewFlag *float64 `json:"autoRenewFlag,omitempty" tf:"auto_renew_flag,omitempty"`

	// A list of nodes deployed in multiple availability zones. For more information, please use the API DescribeSpecInfo.
	// - Multi-availability zone deployment nodes can only be deployed in 3 different availability zones. It is not supported to deploy most nodes of the cluster in the same availability zone. For example, a 3-node cluster does not support the deployment of 2 nodes in the same zone.
	// - Version 4.2 and above are not supported.
	// - Read-only disaster recovery instances are not supported.
	// - Basic network cannot be selected.
	// A list of nodes deployed in multiple availability zones. For more information, please use the API DescribeSpecInfo.
	// - Multi-availability zone deployment nodes can only be deployed in 3 different availability zones. It is not supported to deploy most nodes of the cluster in the same availability zone. For example, a 3-node cluster does not support the deployment of 2 nodes in the same zone.
	// - Version 4.2 and above are not supported.
	// - Read-only disaster recovery instances are not supported.
	// - Basic network cannot be selected.
	AvailabilityZoneList []*string `json:"availabilityZoneList,omitempty" tf:"availability_zone_list,omitempty"`

	// The available zone of the Mongodb.
	// The available zone of the Mongodb.
	AvailableZone *string `json:"availableZone,omitempty" tf:"available_zone,omitempty"`

	// The charge type of instance. Valid values are PREPAID and POSTPAID_BY_HOUR. Default value is POSTPAID_BY_HOUR. Note: TencentCloud International only supports POSTPAID_BY_HOUR. Caution that update operation on this field will delete old instances and create new one with new charge type.
	// The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. Default value is `POSTPAID_BY_HOUR`. Note: TencentCloud International only supports `POSTPAID_BY_HOUR`. Caution that update operation on this field will delete old instances and create new one with new charge type.
	ChargeType *string `json:"chargeType,omitempty" tf:"charge_type,omitempty"`

	// Version of the Mongodb, and available values include MONGO_36_WT (MongoDB 3.6 WiredTiger Edition), MONGO_40_WT (MongoDB 4.0 WiredTiger Edition) and MONGO_42_WT  (MongoDB 4.2 WiredTiger Edition). NOTE: MONGO_3_WT (MongoDB 3.2 WiredTiger Edition) and MONGO_3_ROCKS (MongoDB 3.2 RocksDB Edition) will deprecated.
	// Version of the Mongodb, and available values include `MONGO_36_WT` (MongoDB 3.6 WiredTiger Edition), `MONGO_40_WT` (MongoDB 4.0 WiredTiger Edition) and `MONGO_42_WT`  (MongoDB 4.2 WiredTiger Edition). NOTE: `MONGO_3_WT` (MongoDB 3.2 WiredTiger Edition) and `MONGO_3_ROCKS` (MongoDB 3.2 RocksDB Edition) will deprecated.
	EngineVersion *string `json:"engineVersion,omitempty" tf:"engine_version,omitempty"`

	// The availability zone to which the Hidden node belongs. This parameter must be configured to deploy instances across availability zones.
	// The availability zone to which the Hidden node belongs. This parameter must be configured to deploy instances across availability zones.
	HiddenZone *string `json:"hiddenZone,omitempty" tf:"hidden_zone,omitempty"`

	// Name of the Mongodb instance.
	// Name of the Mongodb instance.
	InstanceName *string `json:"instanceName,omitempty" tf:"instance_name,omitempty"`

	// Type of Mongodb instance, and available values include HIO(or GIO which will be deprecated, represents high IO) and HIO10G(or TGIO which will be deprecated, represents 10-gigabit high IO).
	// Type of Mongodb instance, and available values include `HIO`(or `GIO` which will be deprecated, represents high IO) and `HIO10G`(or `TGIO` which will be deprecated, represents 10-gigabit high IO).
	MachineType *string `json:"machineType,omitempty" tf:"machine_type,omitempty"`

	// Memory size. The minimum value is 2, and unit is GB. Memory and volume must be upgraded or degraded simultaneously.
	// Memory size. The minimum value is 2, and unit is GB. Memory and volume must be upgraded or degraded simultaneously.
	Memory *float64 `json:"memory,omitempty" tf:"memory,omitempty"`

	// Number of mongos cpu.
	// Number of mongos cpu.
	MongosCPU *float64 `json:"mongosCpu,omitempty" tf:"mongos_cpu,omitempty"`

	// Mongos memory size in GB.
	// Mongos memory size in GB.
	MongosMemory *float64 `json:"mongosMemory,omitempty" tf:"mongos_memory,omitempty"`

	// Number of mongos.
	// Number of mongos.
	MongosNodeNum *float64 `json:"mongosNodeNum,omitempty" tf:"mongos_node_num,omitempty"`

	// Number of nodes per shard, at least 3(one master and two slaves).
	// Number of nodes per shard, at least 3(one master and two slaves).
	NodesPerShard *float64 `json:"nodesPerShard,omitempty" tf:"nodes_per_shard,omitempty"`

	// The tenancy (time unit is month) of the prepaid instance. Valid values are 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, 36. NOTE: it only works when charge_type is set to PREPAID.
	// The tenancy (time unit is month) of the prepaid instance. Valid values are 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, 36. NOTE: it only works when charge_type is set to `PREPAID`.
	PrepaidPeriod *float64 `json:"prepaidPeriod,omitempty" tf:"prepaid_period,omitempty"`

	// ID of the project which the instance belongs.
	// ID of the project which the instance belongs.
	ProjectID *float64 `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// ID of the security group.
	// ID of the security group.
	// +listType=set
	SecurityGroups []*string `json:"securityGroups,omitempty" tf:"security_groups,omitempty"`

	// Number of sharding.
	// Number of sharding.
	ShardQuantity *float64 `json:"shardQuantity,omitempty" tf:"shard_quantity,omitempty"`

	// ID of the subnet within this VPC. The value is required if vpc_id is set.
	// ID of the subnet within this VPC. The value is required if `vpc_id` is set.
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-tencentcloud/apis/vpc/v1alpha1.Subnet
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// Reference to a Subnet in vpc to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDRef *v1.Reference `json:"subnetIdRef,omitempty" tf:"-"`

	// Selector for a Subnet in vpc to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDSelector *v1.Selector `json:"subnetIdSelector,omitempty" tf:"-"`

	// The tags of the Mongodb. Key name project is system reserved and can't be used.
	// The tags of the Mongodb. Key name `project` is system reserved and can't be used.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// ID of the VPC.
	// ID of the VPC.
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-tencentcloud/apis/vpc/v1alpha1.VPC
	VPCID *string `json:"vpcId,omitempty" tf:"vpc_id,omitempty"`

	// Reference to a VPC in vpc to populate vpcId.
	// +kubebuilder:validation:Optional
	VPCIDRef *v1.Reference `json:"vpcIdRef,omitempty" tf:"-"`

	// Selector for a VPC in vpc to populate vpcId.
	// +kubebuilder:validation:Optional
	VPCIDSelector *v1.Selector `json:"vpcIdSelector,omitempty" tf:"-"`

	// Disk size. The minimum value is 25, and unit is GB. Memory and volume must be upgraded or degraded simultaneously.
	// Disk size. The minimum value is 25, and unit is GB. Memory and volume must be upgraded or degraded simultaneously.
	Volume *float64 `json:"volume,omitempty" tf:"volume,omitempty"`
}

func (*ShardingInstanceInitParameters) DeepCopy added in v0.8.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShardingInstanceInitParameters.

func (*ShardingInstanceInitParameters) DeepCopyInto added in v0.8.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ShardingInstanceList

type ShardingInstanceList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ShardingInstance `json:"items"`
}

ShardingInstanceList contains a list of ShardingInstances

func (*ShardingInstanceList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShardingInstanceList.

func (*ShardingInstanceList) DeepCopyInto

func (in *ShardingInstanceList) DeepCopyInto(out *ShardingInstanceList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ShardingInstanceList) DeepCopyObject

func (in *ShardingInstanceList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*ShardingInstanceList) GetItems

func (l *ShardingInstanceList) GetItems() []resource.Managed

GetItems of this ShardingInstanceList.

type ShardingInstanceObservation

type ShardingInstanceObservation struct {

	// Auto renew flag. Valid values are 0(NOTIFY_AND_MANUAL_RENEW), 1(NOTIFY_AND_AUTO_RENEW) and 2(DISABLE_NOTIFY_AND_MANUAL_RENEW). Default value is 0. Note: only works for PREPAID instance. Only supports0 and 1 for creation.
	// Auto renew flag. Valid values are `0`(NOTIFY_AND_MANUAL_RENEW), `1`(NOTIFY_AND_AUTO_RENEW) and `2`(DISABLE_NOTIFY_AND_MANUAL_RENEW). Default value is `0`. Note: only works for PREPAID instance. Only supports`0` and `1` for creation.
	AutoRenewFlag *float64 `json:"autoRenewFlag,omitempty" tf:"auto_renew_flag,omitempty"`

	// A list of nodes deployed in multiple availability zones. For more information, please use the API DescribeSpecInfo.
	// - Multi-availability zone deployment nodes can only be deployed in 3 different availability zones. It is not supported to deploy most nodes of the cluster in the same availability zone. For example, a 3-node cluster does not support the deployment of 2 nodes in the same zone.
	// - Version 4.2 and above are not supported.
	// - Read-only disaster recovery instances are not supported.
	// - Basic network cannot be selected.
	// A list of nodes deployed in multiple availability zones. For more information, please use the API DescribeSpecInfo.
	// - Multi-availability zone deployment nodes can only be deployed in 3 different availability zones. It is not supported to deploy most nodes of the cluster in the same availability zone. For example, a 3-node cluster does not support the deployment of 2 nodes in the same zone.
	// - Version 4.2 and above are not supported.
	// - Read-only disaster recovery instances are not supported.
	// - Basic network cannot be selected.
	AvailabilityZoneList []*string `json:"availabilityZoneList,omitempty" tf:"availability_zone_list,omitempty"`

	// The available zone of the Mongodb.
	// The available zone of the Mongodb.
	AvailableZone *string `json:"availableZone,omitempty" tf:"available_zone,omitempty"`

	// The charge type of instance. Valid values are PREPAID and POSTPAID_BY_HOUR. Default value is POSTPAID_BY_HOUR. Note: TencentCloud International only supports POSTPAID_BY_HOUR. Caution that update operation on this field will delete old instances and create new one with new charge type.
	// The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. Default value is `POSTPAID_BY_HOUR`. Note: TencentCloud International only supports `POSTPAID_BY_HOUR`. Caution that update operation on this field will delete old instances and create new one with new charge type.
	ChargeType *string `json:"chargeType,omitempty" tf:"charge_type,omitempty"`

	// Creation time of the Mongodb instance.
	// Creation time of the Mongodb instance.
	CreateTime *string `json:"createTime,omitempty" tf:"create_time,omitempty"`

	// Version of the Mongodb, and available values include MONGO_36_WT (MongoDB 3.6 WiredTiger Edition), MONGO_40_WT (MongoDB 4.0 WiredTiger Edition) and MONGO_42_WT  (MongoDB 4.2 WiredTiger Edition). NOTE: MONGO_3_WT (MongoDB 3.2 WiredTiger Edition) and MONGO_3_ROCKS (MongoDB 3.2 RocksDB Edition) will deprecated.
	// Version of the Mongodb, and available values include `MONGO_36_WT` (MongoDB 3.6 WiredTiger Edition), `MONGO_40_WT` (MongoDB 4.0 WiredTiger Edition) and `MONGO_42_WT`  (MongoDB 4.2 WiredTiger Edition). NOTE: `MONGO_3_WT` (MongoDB 3.2 WiredTiger Edition) and `MONGO_3_ROCKS` (MongoDB 3.2 RocksDB Edition) will deprecated.
	EngineVersion *string `json:"engineVersion,omitempty" tf:"engine_version,omitempty"`

	// The availability zone to which the Hidden node belongs. This parameter must be configured to deploy instances across availability zones.
	// The availability zone to which the Hidden node belongs. This parameter must be configured to deploy instances across availability zones.
	HiddenZone *string `json:"hiddenZone,omitempty" tf:"hidden_zone,omitempty"`

	// ID of the resource.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Name of the Mongodb instance.
	// Name of the Mongodb instance.
	InstanceName *string `json:"instanceName,omitempty" tf:"instance_name,omitempty"`

	// Type of Mongodb instance, and available values include HIO(or GIO which will be deprecated, represents high IO) and HIO10G(or TGIO which will be deprecated, represents 10-gigabit high IO).
	// Type of Mongodb instance, and available values include `HIO`(or `GIO` which will be deprecated, represents high IO) and `HIO10G`(or `TGIO` which will be deprecated, represents 10-gigabit high IO).
	MachineType *string `json:"machineType,omitempty" tf:"machine_type,omitempty"`

	// Memory size. The minimum value is 2, and unit is GB. Memory and volume must be upgraded or degraded simultaneously.
	// Memory size. The minimum value is 2, and unit is GB. Memory and volume must be upgraded or degraded simultaneously.
	Memory *float64 `json:"memory,omitempty" tf:"memory,omitempty"`

	// Number of mongos cpu.
	// Number of mongos cpu.
	MongosCPU *float64 `json:"mongosCpu,omitempty" tf:"mongos_cpu,omitempty"`

	// Mongos memory size in GB.
	// Mongos memory size in GB.
	MongosMemory *float64 `json:"mongosMemory,omitempty" tf:"mongos_memory,omitempty"`

	// Number of mongos.
	// Number of mongos.
	MongosNodeNum *float64 `json:"mongosNodeNum,omitempty" tf:"mongos_node_num,omitempty"`

	// Number of nodes per shard, at least 3(one master and two slaves).
	// Number of nodes per shard, at least 3(one master and two slaves).
	NodesPerShard *float64 `json:"nodesPerShard,omitempty" tf:"nodes_per_shard,omitempty"`

	// The tenancy (time unit is month) of the prepaid instance. Valid values are 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, 36. NOTE: it only works when charge_type is set to PREPAID.
	// The tenancy (time unit is month) of the prepaid instance. Valid values are 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, 36. NOTE: it only works when charge_type is set to `PREPAID`.
	PrepaidPeriod *float64 `json:"prepaidPeriod,omitempty" tf:"prepaid_period,omitempty"`

	// ID of the project which the instance belongs.
	// ID of the project which the instance belongs.
	ProjectID *float64 `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// ID of the security group.
	// ID of the security group.
	// +listType=set
	SecurityGroups []*string `json:"securityGroups,omitempty" tf:"security_groups,omitempty"`

	// Number of sharding.
	// Number of sharding.
	ShardQuantity *float64 `json:"shardQuantity,omitempty" tf:"shard_quantity,omitempty"`

	// Status of the Mongodb instance, and available values include pending initialization(expressed with 0),  processing(expressed with 1), running(expressed with 2) and expired(expressed with -2).
	// Status of the Mongodb instance, and available values include pending initialization(expressed with 0),  processing(expressed with 1), running(expressed with 2) and expired(expressed with -2).
	Status *float64 `json:"status,omitempty" tf:"status,omitempty"`

	// ID of the subnet within this VPC. The value is required if vpc_id is set.
	// ID of the subnet within this VPC. The value is required if `vpc_id` is set.
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// The tags of the Mongodb. Key name project is system reserved and can't be used.
	// The tags of the Mongodb. Key name `project` is system reserved and can't be used.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// ID of the VPC.
	// ID of the VPC.
	VPCID *string `json:"vpcId,omitempty" tf:"vpc_id,omitempty"`

	// IP of the Mongodb instance.
	// IP of the Mongodb instance.
	Vip *string `json:"vip,omitempty" tf:"vip,omitempty"`

	// Disk size. The minimum value is 25, and unit is GB. Memory and volume must be upgraded or degraded simultaneously.
	// Disk size. The minimum value is 25, and unit is GB. Memory and volume must be upgraded or degraded simultaneously.
	Volume *float64 `json:"volume,omitempty" tf:"volume,omitempty"`

	// IP port of the Mongodb instance.
	// IP port of the Mongodb instance.
	Vport *float64 `json:"vport,omitempty" tf:"vport,omitempty"`
}

func (*ShardingInstanceObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShardingInstanceObservation.

func (*ShardingInstanceObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ShardingInstanceParameters

type ShardingInstanceParameters struct {

	// Auto renew flag. Valid values are 0(NOTIFY_AND_MANUAL_RENEW), 1(NOTIFY_AND_AUTO_RENEW) and 2(DISABLE_NOTIFY_AND_MANUAL_RENEW). Default value is 0. Note: only works for PREPAID instance. Only supports0 and 1 for creation.
	// Auto renew flag. Valid values are `0`(NOTIFY_AND_MANUAL_RENEW), `1`(NOTIFY_AND_AUTO_RENEW) and `2`(DISABLE_NOTIFY_AND_MANUAL_RENEW). Default value is `0`. Note: only works for PREPAID instance. Only supports`0` and `1` for creation.
	// +kubebuilder:validation:Optional
	AutoRenewFlag *float64 `json:"autoRenewFlag,omitempty" tf:"auto_renew_flag,omitempty"`

	// A list of nodes deployed in multiple availability zones. For more information, please use the API DescribeSpecInfo.
	// - Multi-availability zone deployment nodes can only be deployed in 3 different availability zones. It is not supported to deploy most nodes of the cluster in the same availability zone. For example, a 3-node cluster does not support the deployment of 2 nodes in the same zone.
	// - Version 4.2 and above are not supported.
	// - Read-only disaster recovery instances are not supported.
	// - Basic network cannot be selected.
	// A list of nodes deployed in multiple availability zones. For more information, please use the API DescribeSpecInfo.
	// - Multi-availability zone deployment nodes can only be deployed in 3 different availability zones. It is not supported to deploy most nodes of the cluster in the same availability zone. For example, a 3-node cluster does not support the deployment of 2 nodes in the same zone.
	// - Version 4.2 and above are not supported.
	// - Read-only disaster recovery instances are not supported.
	// - Basic network cannot be selected.
	// +kubebuilder:validation:Optional
	AvailabilityZoneList []*string `json:"availabilityZoneList,omitempty" tf:"availability_zone_list,omitempty"`

	// The available zone of the Mongodb.
	// The available zone of the Mongodb.
	// +kubebuilder:validation:Optional
	AvailableZone *string `json:"availableZone,omitempty" tf:"available_zone,omitempty"`

	// The charge type of instance. Valid values are PREPAID and POSTPAID_BY_HOUR. Default value is POSTPAID_BY_HOUR. Note: TencentCloud International only supports POSTPAID_BY_HOUR. Caution that update operation on this field will delete old instances and create new one with new charge type.
	// The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. Default value is `POSTPAID_BY_HOUR`. Note: TencentCloud International only supports `POSTPAID_BY_HOUR`. Caution that update operation on this field will delete old instances and create new one with new charge type.
	// +kubebuilder:validation:Optional
	ChargeType *string `json:"chargeType,omitempty" tf:"charge_type,omitempty"`

	// Version of the Mongodb, and available values include MONGO_36_WT (MongoDB 3.6 WiredTiger Edition), MONGO_40_WT (MongoDB 4.0 WiredTiger Edition) and MONGO_42_WT  (MongoDB 4.2 WiredTiger Edition). NOTE: MONGO_3_WT (MongoDB 3.2 WiredTiger Edition) and MONGO_3_ROCKS (MongoDB 3.2 RocksDB Edition) will deprecated.
	// Version of the Mongodb, and available values include `MONGO_36_WT` (MongoDB 3.6 WiredTiger Edition), `MONGO_40_WT` (MongoDB 4.0 WiredTiger Edition) and `MONGO_42_WT`  (MongoDB 4.2 WiredTiger Edition). NOTE: `MONGO_3_WT` (MongoDB 3.2 WiredTiger Edition) and `MONGO_3_ROCKS` (MongoDB 3.2 RocksDB Edition) will deprecated.
	// +kubebuilder:validation:Optional
	EngineVersion *string `json:"engineVersion,omitempty" tf:"engine_version,omitempty"`

	// The availability zone to which the Hidden node belongs. This parameter must be configured to deploy instances across availability zones.
	// The availability zone to which the Hidden node belongs. This parameter must be configured to deploy instances across availability zones.
	// +kubebuilder:validation:Optional
	HiddenZone *string `json:"hiddenZone,omitempty" tf:"hidden_zone,omitempty"`

	// Name of the Mongodb instance.
	// Name of the Mongodb instance.
	// +kubebuilder:validation:Optional
	InstanceName *string `json:"instanceName,omitempty" tf:"instance_name,omitempty"`

	// Type of Mongodb instance, and available values include HIO(or GIO which will be deprecated, represents high IO) and HIO10G(or TGIO which will be deprecated, represents 10-gigabit high IO).
	// Type of Mongodb instance, and available values include `HIO`(or `GIO` which will be deprecated, represents high IO) and `HIO10G`(or `TGIO` which will be deprecated, represents 10-gigabit high IO).
	// +kubebuilder:validation:Optional
	MachineType *string `json:"machineType,omitempty" tf:"machine_type,omitempty"`

	// Memory size. The minimum value is 2, and unit is GB. Memory and volume must be upgraded or degraded simultaneously.
	// Memory size. The minimum value is 2, and unit is GB. Memory and volume must be upgraded or degraded simultaneously.
	// +kubebuilder:validation:Optional
	Memory *float64 `json:"memory,omitempty" tf:"memory,omitempty"`

	// Number of mongos cpu.
	// Number of mongos cpu.
	// +kubebuilder:validation:Optional
	MongosCPU *float64 `json:"mongosCpu,omitempty" tf:"mongos_cpu,omitempty"`

	// Mongos memory size in GB.
	// Mongos memory size in GB.
	// +kubebuilder:validation:Optional
	MongosMemory *float64 `json:"mongosMemory,omitempty" tf:"mongos_memory,omitempty"`

	// Number of mongos.
	// Number of mongos.
	// +kubebuilder:validation:Optional
	MongosNodeNum *float64 `json:"mongosNodeNum,omitempty" tf:"mongos_node_num,omitempty"`

	// Number of nodes per shard, at least 3(one master and two slaves).
	// Number of nodes per shard, at least 3(one master and two slaves).
	// +kubebuilder:validation:Optional
	NodesPerShard *float64 `json:"nodesPerShard,omitempty" tf:"nodes_per_shard,omitempty"`

	// Password of this Mongodb account.
	// Password of this Mongodb account.
	// +kubebuilder:validation:Optional
	PasswordSecretRef *v1.SecretKeySelector `json:"passwordSecretRef,omitempty" tf:"-"`

	// The tenancy (time unit is month) of the prepaid instance. Valid values are 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, 36. NOTE: it only works when charge_type is set to PREPAID.
	// The tenancy (time unit is month) of the prepaid instance. Valid values are 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, 36. NOTE: it only works when charge_type is set to `PREPAID`.
	// +kubebuilder:validation:Optional
	PrepaidPeriod *float64 `json:"prepaidPeriod,omitempty" tf:"prepaid_period,omitempty"`

	// ID of the project which the instance belongs.
	// ID of the project which the instance belongs.
	// +kubebuilder:validation:Optional
	ProjectID *float64 `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// ID of the security group.
	// ID of the security group.
	// +kubebuilder:validation:Optional
	// +listType=set
	SecurityGroups []*string `json:"securityGroups,omitempty" tf:"security_groups,omitempty"`

	// Number of sharding.
	// Number of sharding.
	// +kubebuilder:validation:Optional
	ShardQuantity *float64 `json:"shardQuantity,omitempty" tf:"shard_quantity,omitempty"`

	// ID of the subnet within this VPC. The value is required if vpc_id is set.
	// ID of the subnet within this VPC. The value is required if `vpc_id` is set.
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-tencentcloud/apis/vpc/v1alpha1.Subnet
	// +kubebuilder:validation:Optional
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// Reference to a Subnet in vpc to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDRef *v1.Reference `json:"subnetIdRef,omitempty" tf:"-"`

	// Selector for a Subnet in vpc to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDSelector *v1.Selector `json:"subnetIdSelector,omitempty" tf:"-"`

	// The tags of the Mongodb. Key name project is system reserved and can't be used.
	// The tags of the Mongodb. Key name `project` is system reserved and can't be used.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// ID of the VPC.
	// ID of the VPC.
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-tencentcloud/apis/vpc/v1alpha1.VPC
	// +kubebuilder:validation:Optional
	VPCID *string `json:"vpcId,omitempty" tf:"vpc_id,omitempty"`

	// Reference to a VPC in vpc to populate vpcId.
	// +kubebuilder:validation:Optional
	VPCIDRef *v1.Reference `json:"vpcIdRef,omitempty" tf:"-"`

	// Selector for a VPC in vpc to populate vpcId.
	// +kubebuilder:validation:Optional
	VPCIDSelector *v1.Selector `json:"vpcIdSelector,omitempty" tf:"-"`

	// Disk size. The minimum value is 25, and unit is GB. Memory and volume must be upgraded or degraded simultaneously.
	// Disk size. The minimum value is 25, and unit is GB. Memory and volume must be upgraded or degraded simultaneously.
	// +kubebuilder:validation:Optional
	Volume *float64 `json:"volume,omitempty" tf:"volume,omitempty"`
}

func (*ShardingInstanceParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShardingInstanceParameters.

func (*ShardingInstanceParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ShardingInstanceSpec

type ShardingInstanceSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     ShardingInstanceParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider ShardingInstanceInitParameters `json:"initProvider,omitempty"`
}

ShardingInstanceSpec defines the desired state of ShardingInstance

func (*ShardingInstanceSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShardingInstanceSpec.

func (*ShardingInstanceSpec) DeepCopyInto

func (in *ShardingInstanceSpec) DeepCopyInto(out *ShardingInstanceSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ShardingInstanceStatus

type ShardingInstanceStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        ShardingInstanceObservation `json:"atProvider,omitempty"`
}

ShardingInstanceStatus defines the observed state of ShardingInstance.

func (*ShardingInstanceStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShardingInstanceStatus.

func (*ShardingInstanceStatus) DeepCopyInto

func (in *ShardingInstanceStatus) DeepCopyInto(out *ShardingInstanceStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StandbyInstance

type StandbyInstance struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.availableZone) || (has(self.initProvider) && has(self.initProvider.availableZone))",message="spec.forProvider.availableZone is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.fatherInstanceRegion) || (has(self.initProvider) && has(self.initProvider.fatherInstanceRegion))",message="spec.forProvider.fatherInstanceRegion is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.instanceName) || (has(self.initProvider) && has(self.initProvider.instanceName))",message="spec.forProvider.instanceName is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.memory) || (has(self.initProvider) && has(self.initProvider.memory))",message="spec.forProvider.memory is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.volume) || (has(self.initProvider) && has(self.initProvider.volume))",message="spec.forProvider.volume is a required parameter"
	Spec   StandbyInstanceSpec   `json:"spec"`
	Status StandbyInstanceStatus `json:"status,omitempty"`
}

StandbyInstance is the Schema for the StandbyInstances API. Provide a resource to create a Mongodb standby instance. +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,tencentcloud}

func (*StandbyInstance) DeepCopy

func (in *StandbyInstance) DeepCopy() *StandbyInstance

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StandbyInstance.

func (*StandbyInstance) DeepCopyInto

func (in *StandbyInstance) DeepCopyInto(out *StandbyInstance)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*StandbyInstance) DeepCopyObject

func (in *StandbyInstance) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*StandbyInstance) GetCondition

func (mg *StandbyInstance) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this StandbyInstance.

func (*StandbyInstance) GetConnectionDetailsMapping

func (tr *StandbyInstance) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this StandbyInstance

func (*StandbyInstance) GetDeletionPolicy

func (mg *StandbyInstance) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this StandbyInstance.

func (*StandbyInstance) GetID

func (tr *StandbyInstance) GetID() string

GetID returns ID of underlying Terraform resource of this StandbyInstance

func (*StandbyInstance) GetInitParameters added in v0.8.0

func (tr *StandbyInstance) GetInitParameters() (map[string]any, error)

GetInitParameters of this StandbyInstance

func (*StandbyInstance) GetManagementPolicies added in v0.8.0

func (mg *StandbyInstance) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this StandbyInstance.

func (*StandbyInstance) GetMergedParameters added in v0.8.1

func (tr *StandbyInstance) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this StandbyInstance

func (*StandbyInstance) GetObservation

func (tr *StandbyInstance) GetObservation() (map[string]any, error)

GetObservation of this StandbyInstance

func (*StandbyInstance) GetParameters

func (tr *StandbyInstance) GetParameters() (map[string]any, error)

GetParameters of this StandbyInstance

func (*StandbyInstance) GetProviderConfigReference

func (mg *StandbyInstance) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this StandbyInstance.

func (*StandbyInstance) GetPublishConnectionDetailsTo

func (mg *StandbyInstance) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this StandbyInstance.

func (*StandbyInstance) GetTerraformResourceType

func (mg *StandbyInstance) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this StandbyInstance

func (*StandbyInstance) GetTerraformSchemaVersion

func (tr *StandbyInstance) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*StandbyInstance) GetWriteConnectionSecretToReference

func (mg *StandbyInstance) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this StandbyInstance.

func (*StandbyInstance) Hub added in v0.8.1

func (tr *StandbyInstance) Hub()

Hub marks this type as a conversion hub.

func (*StandbyInstance) LateInitialize

func (tr *StandbyInstance) LateInitialize(attrs []byte) (bool, error)

LateInitialize this StandbyInstance using its observed tfState. returns True if there are any spec changes for the resource.

func (*StandbyInstance) ResolveReferences

func (mg *StandbyInstance) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this StandbyInstance.

func (*StandbyInstance) SetConditions

func (mg *StandbyInstance) SetConditions(c ...xpv1.Condition)

SetConditions of this StandbyInstance.

func (*StandbyInstance) SetDeletionPolicy

func (mg *StandbyInstance) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this StandbyInstance.

func (*StandbyInstance) SetManagementPolicies added in v0.8.0

func (mg *StandbyInstance) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this StandbyInstance.

func (*StandbyInstance) SetObservation

func (tr *StandbyInstance) SetObservation(obs map[string]any) error

SetObservation for this StandbyInstance

func (*StandbyInstance) SetParameters

func (tr *StandbyInstance) SetParameters(params map[string]any) error

SetParameters for this StandbyInstance

func (*StandbyInstance) SetProviderConfigReference

func (mg *StandbyInstance) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this StandbyInstance.

func (*StandbyInstance) SetPublishConnectionDetailsTo

func (mg *StandbyInstance) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this StandbyInstance.

func (*StandbyInstance) SetWriteConnectionSecretToReference

func (mg *StandbyInstance) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this StandbyInstance.

type StandbyInstanceInitParameters added in v0.8.0

type StandbyInstanceInitParameters struct {

	// Auto renew flag. Valid values are 0(NOTIFY_AND_MANUAL_RENEW), 1(NOTIFY_AND_AUTO_RENEW) and 2(DISABLE_NOTIFY_AND_MANUAL_RENEW). Default value is 0. Note: only works for PREPAID instance. Only supports0 and 1 for creation.
	// Auto renew flag. Valid values are `0`(NOTIFY_AND_MANUAL_RENEW), `1`(NOTIFY_AND_AUTO_RENEW) and `2`(DISABLE_NOTIFY_AND_MANUAL_RENEW). Default value is `0`. Note: only works for PREPAID instance. Only supports`0` and `1` for creation.
	AutoRenewFlag *float64 `json:"autoRenewFlag,omitempty" tf:"auto_renew_flag,omitempty"`

	// The available zone of the Mongodb standby instance. NOTE: must not be same with father instance's.
	// The available zone of the Mongodb standby instance. NOTE: must not be same with father instance's.
	AvailableZone *string `json:"availableZone,omitempty" tf:"available_zone,omitempty"`

	// The charge type of instance. Valid values are PREPAID and POSTPAID_BY_HOUR. Default value is POSTPAID_BY_HOUR. Note: TencentCloud International only supports POSTPAID_BY_HOUR. Caution that update operation on this field will delete old instances and create new one with new charge type.
	// The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. Default value is `POSTPAID_BY_HOUR`. Note: TencentCloud International only supports `POSTPAID_BY_HOUR`. Caution that update operation on this field will delete old instances and create new one with new charge type.
	ChargeType *string `json:"chargeType,omitempty" tf:"charge_type,omitempty"`

	// Indicates the main instance ID of standby instances.
	// Indicates the main instance ID of standby instances.
	// +crossplane:generate:reference:type=Instance
	FatherInstanceID *string `json:"fatherInstanceId,omitempty" tf:"father_instance_id,omitempty"`

	// Reference to a Instance to populate fatherInstanceId.
	// +kubebuilder:validation:Optional
	FatherInstanceIDRef *v1.Reference `json:"fatherInstanceIdRef,omitempty" tf:"-"`

	// Selector for a Instance to populate fatherInstanceId.
	// +kubebuilder:validation:Optional
	FatherInstanceIDSelector *v1.Selector `json:"fatherInstanceIdSelector,omitempty" tf:"-"`

	// Indicates the region of main instance.
	// Indicates the region of main instance.
	FatherInstanceRegion *string `json:"fatherInstanceRegion,omitempty" tf:"father_instance_region,omitempty"`

	// Name of the Mongodb instance.
	// Name of the Mongodb instance.
	InstanceName *string `json:"instanceName,omitempty" tf:"instance_name,omitempty"`

	// Memory size. The minimum value is 2, and unit is GB. Memory and volume must be upgraded or degraded simultaneously.
	// Memory size. The minimum value is 2, and unit is GB. Memory and volume must be upgraded or degraded simultaneously.
	Memory *float64 `json:"memory,omitempty" tf:"memory,omitempty"`

	// The tenancy (time unit is month) of the prepaid instance. Valid values are 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, 36. NOTE: it only works when charge_type is set to PREPAID.
	// The tenancy (time unit is month) of the prepaid instance. Valid values are 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, 36. NOTE: it only works when charge_type is set to `PREPAID`.
	PrepaidPeriod *float64 `json:"prepaidPeriod,omitempty" tf:"prepaid_period,omitempty"`

	// ID of the project which the instance belongs.
	// ID of the project which the instance belongs.
	ProjectID *float64 `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// ID of the security group.
	// ID of the security group.
	// +listType=set
	SecurityGroups []*string `json:"securityGroups,omitempty" tf:"security_groups,omitempty"`

	// ID of the subnet within this VPC. The value is required if vpc_id is set.
	// ID of the subnet within this VPC. The value is required if `vpc_id` is set.
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// The tags of the Mongodb. Key name project is system reserved and can't be used.
	// The tags of the Mongodb. Key name `project` is system reserved and can't be used.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// ID of the VPC.
	// ID of the VPC.
	VPCID *string `json:"vpcId,omitempty" tf:"vpc_id,omitempty"`

	// Disk size. The minimum value is 25, and unit is GB. Memory and volume must be upgraded or degraded simultaneously.
	// Disk size. The minimum value is 25, and unit is GB. Memory and volume must be upgraded or degraded simultaneously.
	Volume *float64 `json:"volume,omitempty" tf:"volume,omitempty"`
}

func (*StandbyInstanceInitParameters) DeepCopy added in v0.8.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StandbyInstanceInitParameters.

func (*StandbyInstanceInitParameters) DeepCopyInto added in v0.8.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StandbyInstanceList

type StandbyInstanceList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []StandbyInstance `json:"items"`
}

StandbyInstanceList contains a list of StandbyInstances

func (*StandbyInstanceList) DeepCopy

func (in *StandbyInstanceList) DeepCopy() *StandbyInstanceList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StandbyInstanceList.

func (*StandbyInstanceList) DeepCopyInto

func (in *StandbyInstanceList) DeepCopyInto(out *StandbyInstanceList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*StandbyInstanceList) DeepCopyObject

func (in *StandbyInstanceList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*StandbyInstanceList) GetItems

func (l *StandbyInstanceList) GetItems() []resource.Managed

GetItems of this StandbyInstanceList.

type StandbyInstanceListInitParameters added in v0.8.0

type StandbyInstanceListInitParameters struct {
}

func (*StandbyInstanceListInitParameters) DeepCopy added in v0.8.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StandbyInstanceListInitParameters.

func (*StandbyInstanceListInitParameters) DeepCopyInto added in v0.8.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StandbyInstanceListObservation

type StandbyInstanceListObservation struct {

	// Indicates the ID of standby instance.
	StandbyInstanceID *string `json:"standbyInstanceId,omitempty" tf:"standby_instance_id,omitempty"`

	// Indicates the region of standby instance.
	StandbyInstanceRegion *string `json:"standbyInstanceRegion,omitempty" tf:"standby_instance_region,omitempty"`
}

func (*StandbyInstanceListObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StandbyInstanceListObservation.

func (*StandbyInstanceListObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StandbyInstanceListParameters

type StandbyInstanceListParameters struct {
}

func (*StandbyInstanceListParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StandbyInstanceListParameters.

func (*StandbyInstanceListParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StandbyInstanceObservation

type StandbyInstanceObservation struct {

	// Auto renew flag. Valid values are 0(NOTIFY_AND_MANUAL_RENEW), 1(NOTIFY_AND_AUTO_RENEW) and 2(DISABLE_NOTIFY_AND_MANUAL_RENEW). Default value is 0. Note: only works for PREPAID instance. Only supports0 and 1 for creation.
	// Auto renew flag. Valid values are `0`(NOTIFY_AND_MANUAL_RENEW), `1`(NOTIFY_AND_AUTO_RENEW) and `2`(DISABLE_NOTIFY_AND_MANUAL_RENEW). Default value is `0`. Note: only works for PREPAID instance. Only supports`0` and `1` for creation.
	AutoRenewFlag *float64 `json:"autoRenewFlag,omitempty" tf:"auto_renew_flag,omitempty"`

	// The available zone of the Mongodb standby instance. NOTE: must not be same with father instance's.
	// The available zone of the Mongodb standby instance. NOTE: must not be same with father instance's.
	AvailableZone *string `json:"availableZone,omitempty" tf:"available_zone,omitempty"`

	// The charge type of instance. Valid values are PREPAID and POSTPAID_BY_HOUR. Default value is POSTPAID_BY_HOUR. Note: TencentCloud International only supports POSTPAID_BY_HOUR. Caution that update operation on this field will delete old instances and create new one with new charge type.
	// The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. Default value is `POSTPAID_BY_HOUR`. Note: TencentCloud International only supports `POSTPAID_BY_HOUR`. Caution that update operation on this field will delete old instances and create new one with new charge type.
	ChargeType *string `json:"chargeType,omitempty" tf:"charge_type,omitempty"`

	// Creation time of the Mongodb instance.
	// Creation time of the Mongodb instance.
	CreateTime *string `json:"createTime,omitempty" tf:"create_time,omitempty"`

	// Version of the standby Mongodb instance and must be same as the version of main instance.
	// Version of the standby Mongodb instance and must be same as the version of main instance.
	EngineVersion *string `json:"engineVersion,omitempty" tf:"engine_version,omitempty"`

	// Indicates the main instance ID of standby instances.
	// Indicates the main instance ID of standby instances.
	FatherInstanceID *string `json:"fatherInstanceId,omitempty" tf:"father_instance_id,omitempty"`

	// Indicates the region of main instance.
	// Indicates the region of main instance.
	FatherInstanceRegion *string `json:"fatherInstanceRegion,omitempty" tf:"father_instance_region,omitempty"`

	// ID of the resource.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Name of the Mongodb instance.
	// Name of the Mongodb instance.
	InstanceName *string `json:"instanceName,omitempty" tf:"instance_name,omitempty"`

	// Type of standby Mongodb instance and must be same as the type of main instance.
	// Type of standby Mongodb instance and must be same as the type of main instance.
	MachineType *string `json:"machineType,omitempty" tf:"machine_type,omitempty"`

	// Memory size. The minimum value is 2, and unit is GB. Memory and volume must be upgraded or degraded simultaneously.
	// Memory size. The minimum value is 2, and unit is GB. Memory and volume must be upgraded or degraded simultaneously.
	Memory *float64 `json:"memory,omitempty" tf:"memory,omitempty"`

	// The tenancy (time unit is month) of the prepaid instance. Valid values are 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, 36. NOTE: it only works when charge_type is set to PREPAID.
	// The tenancy (time unit is month) of the prepaid instance. Valid values are 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, 36. NOTE: it only works when charge_type is set to `PREPAID`.
	PrepaidPeriod *float64 `json:"prepaidPeriod,omitempty" tf:"prepaid_period,omitempty"`

	// ID of the project which the instance belongs.
	// ID of the project which the instance belongs.
	ProjectID *float64 `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// ID of the security group.
	// ID of the security group.
	// +listType=set
	SecurityGroups []*string `json:"securityGroups,omitempty" tf:"security_groups,omitempty"`

	// Status of the Mongodb instance, and available values include pending initialization(expressed with 0),  processing(expressed with 1), running(expressed with 2) and expired(expressed with -2).
	// Status of the Mongodb instance, and available values include pending initialization(expressed with 0),  processing(expressed with 1), running(expressed with 2) and expired(expressed with -2).
	Status *float64 `json:"status,omitempty" tf:"status,omitempty"`

	// ID of the subnet within this VPC. The value is required if vpc_id is set.
	// ID of the subnet within this VPC. The value is required if `vpc_id` is set.
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// The tags of the Mongodb. Key name project is system reserved and can't be used.
	// The tags of the Mongodb. Key name `project` is system reserved and can't be used.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// ID of the VPC.
	// ID of the VPC.
	VPCID *string `json:"vpcId,omitempty" tf:"vpc_id,omitempty"`

	// IP of the Mongodb instance.
	// IP of the Mongodb instance.
	Vip *string `json:"vip,omitempty" tf:"vip,omitempty"`

	// Disk size. The minimum value is 25, and unit is GB. Memory and volume must be upgraded or degraded simultaneously.
	// Disk size. The minimum value is 25, and unit is GB. Memory and volume must be upgraded or degraded simultaneously.
	Volume *float64 `json:"volume,omitempty" tf:"volume,omitempty"`

	// IP port of the Mongodb instance.
	// IP port of the Mongodb instance.
	Vport *float64 `json:"vport,omitempty" tf:"vport,omitempty"`
}

func (*StandbyInstanceObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StandbyInstanceObservation.

func (*StandbyInstanceObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StandbyInstanceParameters

type StandbyInstanceParameters struct {

	// Auto renew flag. Valid values are 0(NOTIFY_AND_MANUAL_RENEW), 1(NOTIFY_AND_AUTO_RENEW) and 2(DISABLE_NOTIFY_AND_MANUAL_RENEW). Default value is 0. Note: only works for PREPAID instance. Only supports0 and 1 for creation.
	// Auto renew flag. Valid values are `0`(NOTIFY_AND_MANUAL_RENEW), `1`(NOTIFY_AND_AUTO_RENEW) and `2`(DISABLE_NOTIFY_AND_MANUAL_RENEW). Default value is `0`. Note: only works for PREPAID instance. Only supports`0` and `1` for creation.
	// +kubebuilder:validation:Optional
	AutoRenewFlag *float64 `json:"autoRenewFlag,omitempty" tf:"auto_renew_flag,omitempty"`

	// The available zone of the Mongodb standby instance. NOTE: must not be same with father instance's.
	// The available zone of the Mongodb standby instance. NOTE: must not be same with father instance's.
	// +kubebuilder:validation:Optional
	AvailableZone *string `json:"availableZone,omitempty" tf:"available_zone,omitempty"`

	// The charge type of instance. Valid values are PREPAID and POSTPAID_BY_HOUR. Default value is POSTPAID_BY_HOUR. Note: TencentCloud International only supports POSTPAID_BY_HOUR. Caution that update operation on this field will delete old instances and create new one with new charge type.
	// The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. Default value is `POSTPAID_BY_HOUR`. Note: TencentCloud International only supports `POSTPAID_BY_HOUR`. Caution that update operation on this field will delete old instances and create new one with new charge type.
	// +kubebuilder:validation:Optional
	ChargeType *string `json:"chargeType,omitempty" tf:"charge_type,omitempty"`

	// Indicates the main instance ID of standby instances.
	// Indicates the main instance ID of standby instances.
	// +crossplane:generate:reference:type=Instance
	// +kubebuilder:validation:Optional
	FatherInstanceID *string `json:"fatherInstanceId,omitempty" tf:"father_instance_id,omitempty"`

	// Reference to a Instance to populate fatherInstanceId.
	// +kubebuilder:validation:Optional
	FatherInstanceIDRef *v1.Reference `json:"fatherInstanceIdRef,omitempty" tf:"-"`

	// Selector for a Instance to populate fatherInstanceId.
	// +kubebuilder:validation:Optional
	FatherInstanceIDSelector *v1.Selector `json:"fatherInstanceIdSelector,omitempty" tf:"-"`

	// Indicates the region of main instance.
	// Indicates the region of main instance.
	// +kubebuilder:validation:Optional
	FatherInstanceRegion *string `json:"fatherInstanceRegion,omitempty" tf:"father_instance_region,omitempty"`

	// Name of the Mongodb instance.
	// Name of the Mongodb instance.
	// +kubebuilder:validation:Optional
	InstanceName *string `json:"instanceName,omitempty" tf:"instance_name,omitempty"`

	// Memory size. The minimum value is 2, and unit is GB. Memory and volume must be upgraded or degraded simultaneously.
	// Memory size. The minimum value is 2, and unit is GB. Memory and volume must be upgraded or degraded simultaneously.
	// +kubebuilder:validation:Optional
	Memory *float64 `json:"memory,omitempty" tf:"memory,omitempty"`

	// The tenancy (time unit is month) of the prepaid instance. Valid values are 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, 36. NOTE: it only works when charge_type is set to PREPAID.
	// The tenancy (time unit is month) of the prepaid instance. Valid values are 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, 36. NOTE: it only works when charge_type is set to `PREPAID`.
	// +kubebuilder:validation:Optional
	PrepaidPeriod *float64 `json:"prepaidPeriod,omitempty" tf:"prepaid_period,omitempty"`

	// ID of the project which the instance belongs.
	// ID of the project which the instance belongs.
	// +kubebuilder:validation:Optional
	ProjectID *float64 `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// ID of the security group.
	// ID of the security group.
	// +kubebuilder:validation:Optional
	// +listType=set
	SecurityGroups []*string `json:"securityGroups,omitempty" tf:"security_groups,omitempty"`

	// ID of the subnet within this VPC. The value is required if vpc_id is set.
	// ID of the subnet within this VPC. The value is required if `vpc_id` is set.
	// +kubebuilder:validation:Optional
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// The tags of the Mongodb. Key name project is system reserved and can't be used.
	// The tags of the Mongodb. Key name `project` is system reserved and can't be used.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// ID of the VPC.
	// ID of the VPC.
	// +kubebuilder:validation:Optional
	VPCID *string `json:"vpcId,omitempty" tf:"vpc_id,omitempty"`

	// Disk size. The minimum value is 25, and unit is GB. Memory and volume must be upgraded or degraded simultaneously.
	// Disk size. The minimum value is 25, and unit is GB. Memory and volume must be upgraded or degraded simultaneously.
	// +kubebuilder:validation:Optional
	Volume *float64 `json:"volume,omitempty" tf:"volume,omitempty"`
}

func (*StandbyInstanceParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StandbyInstanceParameters.

func (*StandbyInstanceParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StandbyInstanceSpec

type StandbyInstanceSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     StandbyInstanceParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider StandbyInstanceInitParameters `json:"initProvider,omitempty"`
}

StandbyInstanceSpec defines the desired state of StandbyInstance

func (*StandbyInstanceSpec) DeepCopy

func (in *StandbyInstanceSpec) DeepCopy() *StandbyInstanceSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StandbyInstanceSpec.

func (*StandbyInstanceSpec) DeepCopyInto

func (in *StandbyInstanceSpec) DeepCopyInto(out *StandbyInstanceSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StandbyInstanceStatus

type StandbyInstanceStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        StandbyInstanceObservation `json:"atProvider,omitempty"`
}

StandbyInstanceStatus defines the observed state of StandbyInstance.

func (*StandbyInstanceStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StandbyInstanceStatus.

func (*StandbyInstanceStatus) DeepCopyInto

func (in *StandbyInstanceStatus) DeepCopyInto(out *StandbyInstanceStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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