v1alpha1

package
v0.8.4 Latest Latest
Warning

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

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

Documentation

Overview

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

Index

Constants

View Source
const (
	CRDGroup   = "cvm.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 (
	Image_Kind             = "Image"
	Image_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Image_Kind}.String()
	Image_KindAPIVersion   = Image_Kind + "." + CRDGroupVersion.String()
	Image_GroupVersionKind = CRDGroupVersion.WithKind(Image_Kind)
)

Repository type metadata.

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 (
	InstanceSet_Kind             = "InstanceSet"
	InstanceSet_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: InstanceSet_Kind}.String()
	InstanceSet_KindAPIVersion   = InstanceSet_Kind + "." + CRDGroupVersion.String()
	InstanceSet_GroupVersionKind = CRDGroupVersion.WithKind(InstanceSet_Kind)
)

Repository type metadata.

View Source
var (
	KeyPair_Kind             = "KeyPair"
	KeyPair_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: KeyPair_Kind}.String()
	KeyPair_KindAPIVersion   = KeyPair_Kind + "." + CRDGroupVersion.String()
	KeyPair_GroupVersionKind = CRDGroupVersion.WithKind(KeyPair_Kind)
)

Repository type metadata.

View Source
var (
	PlacementGroup_Kind             = "PlacementGroup"
	PlacementGroup_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: PlacementGroup_Kind}.String()
	PlacementGroup_KindAPIVersion   = PlacementGroup_Kind + "." + CRDGroupVersion.String()
	PlacementGroup_GroupVersionKind = CRDGroupVersion.WithKind(PlacementGroup_Kind)
)

Repository type metadata.

View Source
var (
	ReservedInstance_Kind             = "ReservedInstance"
	ReservedInstance_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: ReservedInstance_Kind}.String()
	ReservedInstance_KindAPIVersion   = ReservedInstance_Kind + "." + CRDGroupVersion.String()
	ReservedInstance_GroupVersionKind = CRDGroupVersion.WithKind(ReservedInstance_Kind)
)

Repository type metadata.

Functions

This section is empty.

Types

type DataDisksInitParameters added in v0.8.0

type DataDisksInitParameters struct {

	// Data disk ID used to initialize the data disk. When data disk type is LOCAL_BASIC and LOCAL_SSD, disk id is not supported.
	// Data disk ID used to initialize the data disk. When data disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported.
	DataDiskID *string `json:"dataDiskId,omitempty" tf:"data_disk_id,omitempty"`

	// Size of the data disk, and unit is GB.
	// Size of the data disk, and unit is GB.
	DataDiskSize *float64 `json:"dataDiskSize,omitempty" tf:"data_disk_size,omitempty"`

	// Snapshot ID of the data disk. The selected data disk snapshot size must be smaller than the data disk size.
	// Snapshot ID of the data disk. The selected data disk snapshot size must be smaller than the data disk size.
	DataDiskSnapshotID *string `json:"dataDiskSnapshotId,omitempty" tf:"data_disk_snapshot_id,omitempty"`

	// Data disk type. For more information about limits on different data disk types, see Storage Overview. Valid values: LOCAL_BASIC: local disk, LOCAL_SSD: local SSD disk, LOCAL_NVME: local NVME disk, specified in the InstanceType, LOCAL_PRO: local HDD disk, specified in the InstanceType, CLOUD_BASIC: HDD cloud disk, CLOUD_PREMIUM: Premium Cloud Storage, CLOUD_SSD: SSD, CLOUD_HSSD: Enhanced SSD, CLOUD_TSSD: Tremendous SSD, CLOUD_BSSD: Balanced SSD.
	// Data disk type. For more information about limits on different data disk types, see [Storage Overview](https://intl.cloud.tencent.com/document/product/213/4952). Valid values: LOCAL_BASIC: local disk, LOCAL_SSD: local SSD disk, LOCAL_NVME: local NVME disk, specified in the InstanceType, LOCAL_PRO: local HDD disk, specified in the InstanceType, CLOUD_BASIC: HDD cloud disk, CLOUD_PREMIUM: Premium Cloud Storage, CLOUD_SSD: SSD, CLOUD_HSSD: Enhanced SSD, CLOUD_TSSD: Tremendous SSD, CLOUD_BSSD: Balanced SSD.
	DataDiskType *string `json:"dataDiskType,omitempty" tf:"data_disk_type,omitempty"`

	// Decides whether the disk is deleted with instance(only applied to CLOUD_BASIC, CLOUD_SSD and CLOUD_PREMIUM disk with POSTPAID_BY_HOUR instance), default is true.
	// Decides whether the disk is deleted with instance(only applied to `CLOUD_BASIC`, `CLOUD_SSD` and `CLOUD_PREMIUM` disk with `POSTPAID_BY_HOUR` instance), default is true.
	DeleteWithInstance *bool `json:"deleteWithInstance,omitempty" tf:"delete_with_instance,omitempty"`

	// Decides whether the disk is deleted with instance(only applied to CLOUD_BASIC, CLOUD_SSD and CLOUD_PREMIUM disk with PREPAID instance), default is false.
	// Decides whether the disk is deleted with instance(only applied to `CLOUD_BASIC`, `CLOUD_SSD` and `CLOUD_PREMIUM` disk with `PREPAID` instance), default is false.
	DeleteWithInstancePrepaid *bool `json:"deleteWithInstancePrepaid,omitempty" tf:"delete_with_instance_prepaid,omitempty"`

	// Decides whether the disk is encrypted. Default is false.
	// Decides whether the disk is encrypted. Default is `false`.
	Encrypt *bool `json:"encrypt,omitempty" tf:"encrypt,omitempty"`

	// Add extra performance to the data disk. Only works when disk type is CLOUD_TSSD or CLOUD_HSSD.
	// Add extra performance to the data disk. Only works when disk type is `CLOUD_TSSD` or `CLOUD_HSSD`.
	ThroughputPerformance *float64 `json:"throughputPerformance,omitempty" tf:"throughput_performance,omitempty"`
}

func (*DataDisksInitParameters) DeepCopy added in v0.8.0

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

func (*DataDisksInitParameters) DeepCopyInto added in v0.8.0

func (in *DataDisksInitParameters) DeepCopyInto(out *DataDisksInitParameters)

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

type DataDisksObservation

type DataDisksObservation struct {

	// Data disk ID used to initialize the data disk. When data disk type is LOCAL_BASIC and LOCAL_SSD, disk id is not supported.
	// Data disk ID used to initialize the data disk. When data disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported.
	DataDiskID *string `json:"dataDiskId,omitempty" tf:"data_disk_id,omitempty"`

	// Size of the data disk, and unit is GB.
	// Size of the data disk, and unit is GB.
	DataDiskSize *float64 `json:"dataDiskSize,omitempty" tf:"data_disk_size,omitempty"`

	// Snapshot ID of the data disk. The selected data disk snapshot size must be smaller than the data disk size.
	// Snapshot ID of the data disk. The selected data disk snapshot size must be smaller than the data disk size.
	DataDiskSnapshotID *string `json:"dataDiskSnapshotId,omitempty" tf:"data_disk_snapshot_id,omitempty"`

	// Data disk type. For more information about limits on different data disk types, see Storage Overview. Valid values: LOCAL_BASIC: local disk, LOCAL_SSD: local SSD disk, LOCAL_NVME: local NVME disk, specified in the InstanceType, LOCAL_PRO: local HDD disk, specified in the InstanceType, CLOUD_BASIC: HDD cloud disk, CLOUD_PREMIUM: Premium Cloud Storage, CLOUD_SSD: SSD, CLOUD_HSSD: Enhanced SSD, CLOUD_TSSD: Tremendous SSD, CLOUD_BSSD: Balanced SSD.
	// Data disk type. For more information about limits on different data disk types, see [Storage Overview](https://intl.cloud.tencent.com/document/product/213/4952). Valid values: LOCAL_BASIC: local disk, LOCAL_SSD: local SSD disk, LOCAL_NVME: local NVME disk, specified in the InstanceType, LOCAL_PRO: local HDD disk, specified in the InstanceType, CLOUD_BASIC: HDD cloud disk, CLOUD_PREMIUM: Premium Cloud Storage, CLOUD_SSD: SSD, CLOUD_HSSD: Enhanced SSD, CLOUD_TSSD: Tremendous SSD, CLOUD_BSSD: Balanced SSD.
	DataDiskType *string `json:"dataDiskType,omitempty" tf:"data_disk_type,omitempty"`

	// Decides whether the disk is deleted with instance(only applied to CLOUD_BASIC, CLOUD_SSD and CLOUD_PREMIUM disk with POSTPAID_BY_HOUR instance), default is true.
	// Decides whether the disk is deleted with instance(only applied to `CLOUD_BASIC`, `CLOUD_SSD` and `CLOUD_PREMIUM` disk with `POSTPAID_BY_HOUR` instance), default is true.
	DeleteWithInstance *bool `json:"deleteWithInstance,omitempty" tf:"delete_with_instance,omitempty"`

	// Decides whether the disk is deleted with instance(only applied to CLOUD_BASIC, CLOUD_SSD and CLOUD_PREMIUM disk with PREPAID instance), default is false.
	// Decides whether the disk is deleted with instance(only applied to `CLOUD_BASIC`, `CLOUD_SSD` and `CLOUD_PREMIUM` disk with `PREPAID` instance), default is false.
	DeleteWithInstancePrepaid *bool `json:"deleteWithInstancePrepaid,omitempty" tf:"delete_with_instance_prepaid,omitempty"`

	// Decides whether the disk is encrypted. Default is false.
	// Decides whether the disk is encrypted. Default is `false`.
	Encrypt *bool `json:"encrypt,omitempty" tf:"encrypt,omitempty"`

	// Add extra performance to the data disk. Only works when disk type is CLOUD_TSSD or CLOUD_HSSD.
	// Add extra performance to the data disk. Only works when disk type is `CLOUD_TSSD` or `CLOUD_HSSD`.
	ThroughputPerformance *float64 `json:"throughputPerformance,omitempty" tf:"throughput_performance,omitempty"`
}

func (*DataDisksObservation) DeepCopy

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

func (*DataDisksObservation) DeepCopyInto

func (in *DataDisksObservation) DeepCopyInto(out *DataDisksObservation)

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

type DataDisksParameters

type DataDisksParameters struct {

	// Data disk ID used to initialize the data disk. When data disk type is LOCAL_BASIC and LOCAL_SSD, disk id is not supported.
	// Data disk ID used to initialize the data disk. When data disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported.
	// +kubebuilder:validation:Optional
	DataDiskID *string `json:"dataDiskId,omitempty" tf:"data_disk_id,omitempty"`

	// Size of the data disk, and unit is GB.
	// Size of the data disk, and unit is GB.
	// +kubebuilder:validation:Optional
	DataDiskSize *float64 `json:"dataDiskSize" tf:"data_disk_size,omitempty"`

	// Snapshot ID of the data disk. The selected data disk snapshot size must be smaller than the data disk size.
	// Snapshot ID of the data disk. The selected data disk snapshot size must be smaller than the data disk size.
	// +kubebuilder:validation:Optional
	DataDiskSnapshotID *string `json:"dataDiskSnapshotId,omitempty" tf:"data_disk_snapshot_id,omitempty"`

	// Data disk type. For more information about limits on different data disk types, see Storage Overview. Valid values: LOCAL_BASIC: local disk, LOCAL_SSD: local SSD disk, LOCAL_NVME: local NVME disk, specified in the InstanceType, LOCAL_PRO: local HDD disk, specified in the InstanceType, CLOUD_BASIC: HDD cloud disk, CLOUD_PREMIUM: Premium Cloud Storage, CLOUD_SSD: SSD, CLOUD_HSSD: Enhanced SSD, CLOUD_TSSD: Tremendous SSD, CLOUD_BSSD: Balanced SSD.
	// Data disk type. For more information about limits on different data disk types, see [Storage Overview](https://intl.cloud.tencent.com/document/product/213/4952). Valid values: LOCAL_BASIC: local disk, LOCAL_SSD: local SSD disk, LOCAL_NVME: local NVME disk, specified in the InstanceType, LOCAL_PRO: local HDD disk, specified in the InstanceType, CLOUD_BASIC: HDD cloud disk, CLOUD_PREMIUM: Premium Cloud Storage, CLOUD_SSD: SSD, CLOUD_HSSD: Enhanced SSD, CLOUD_TSSD: Tremendous SSD, CLOUD_BSSD: Balanced SSD.
	// +kubebuilder:validation:Optional
	DataDiskType *string `json:"dataDiskType" tf:"data_disk_type,omitempty"`

	// Decides whether the disk is deleted with instance(only applied to CLOUD_BASIC, CLOUD_SSD and CLOUD_PREMIUM disk with POSTPAID_BY_HOUR instance), default is true.
	// Decides whether the disk is deleted with instance(only applied to `CLOUD_BASIC`, `CLOUD_SSD` and `CLOUD_PREMIUM` disk with `POSTPAID_BY_HOUR` instance), default is true.
	// +kubebuilder:validation:Optional
	DeleteWithInstance *bool `json:"deleteWithInstance,omitempty" tf:"delete_with_instance,omitempty"`

	// Decides whether the disk is deleted with instance(only applied to CLOUD_BASIC, CLOUD_SSD and CLOUD_PREMIUM disk with PREPAID instance), default is false.
	// Decides whether the disk is deleted with instance(only applied to `CLOUD_BASIC`, `CLOUD_SSD` and `CLOUD_PREMIUM` disk with `PREPAID` instance), default is false.
	// +kubebuilder:validation:Optional
	DeleteWithInstancePrepaid *bool `json:"deleteWithInstancePrepaid,omitempty" tf:"delete_with_instance_prepaid,omitempty"`

	// Decides whether the disk is encrypted. Default is false.
	// Decides whether the disk is encrypted. Default is `false`.
	// +kubebuilder:validation:Optional
	Encrypt *bool `json:"encrypt,omitempty" tf:"encrypt,omitempty"`

	// Add extra performance to the data disk. Only works when disk type is CLOUD_TSSD or CLOUD_HSSD.
	// Add extra performance to the data disk. Only works when disk type is `CLOUD_TSSD` or `CLOUD_HSSD`.
	// +kubebuilder:validation:Optional
	ThroughputPerformance *float64 `json:"throughputPerformance,omitempty" tf:"throughput_performance,omitempty"`
}

func (*DataDisksParameters) DeepCopy

func (in *DataDisksParameters) DeepCopy() *DataDisksParameters

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

func (*DataDisksParameters) DeepCopyInto

func (in *DataDisksParameters) DeepCopyInto(out *DataDisksParameters)

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

type Image added in v0.3.0

type Image 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.imageName) || (has(self.initProvider) && has(self.initProvider.imageName))",message="spec.forProvider.imageName is a required parameter"
	Spec   ImageSpec   `json:"spec"`
	Status ImageStatus `json:"status,omitempty"`
}

Image is the Schema for the Images API. Provide a resource to manage image. +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 (*Image) DeepCopy added in v0.3.0

func (in *Image) DeepCopy() *Image

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

func (*Image) DeepCopyInto added in v0.3.0

func (in *Image) DeepCopyInto(out *Image)

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

func (*Image) DeepCopyObject added in v0.3.0

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

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

func (*Image) GetCondition added in v0.3.0

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

GetCondition of this Image.

func (*Image) GetConnectionDetailsMapping added in v0.3.0

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

GetConnectionDetailsMapping for this Image

func (*Image) GetDeletionPolicy added in v0.3.0

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

GetDeletionPolicy of this Image.

func (*Image) GetID added in v0.3.0

func (tr *Image) GetID() string

GetID returns ID of underlying Terraform resource of this Image

func (*Image) GetInitParameters added in v0.8.0

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

GetInitParameters of this Image

func (*Image) GetManagementPolicies added in v0.8.0

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

GetManagementPolicies of this Image.

func (*Image) GetMergedParameters added in v0.8.1

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

GetInitParameters of this Image

func (*Image) GetObservation added in v0.3.0

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

GetObservation of this Image

func (*Image) GetParameters added in v0.3.0

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

GetParameters of this Image

func (*Image) GetProviderConfigReference added in v0.3.0

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

GetProviderConfigReference of this Image.

func (*Image) GetPublishConnectionDetailsTo added in v0.3.0

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

GetPublishConnectionDetailsTo of this Image.

func (*Image) GetTerraformResourceType added in v0.3.0

func (mg *Image) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Image

func (*Image) GetTerraformSchemaVersion added in v0.3.0

func (tr *Image) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Image) GetWriteConnectionSecretToReference added in v0.3.0

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

GetWriteConnectionSecretToReference of this Image.

func (*Image) Hub added in v0.8.1

func (tr *Image) Hub()

Hub marks this type as a conversion hub.

func (*Image) LateInitialize added in v0.3.0

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

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

func (*Image) SetConditions added in v0.3.0

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

SetConditions of this Image.

func (*Image) SetDeletionPolicy added in v0.3.0

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

SetDeletionPolicy of this Image.

func (*Image) SetManagementPolicies added in v0.8.0

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

SetManagementPolicies of this Image.

func (*Image) SetObservation added in v0.3.0

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

SetObservation for this Image

func (*Image) SetParameters added in v0.3.0

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

SetParameters for this Image

func (*Image) SetProviderConfigReference added in v0.3.0

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

SetProviderConfigReference of this Image.

func (*Image) SetPublishConnectionDetailsTo added in v0.3.0

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

SetPublishConnectionDetailsTo of this Image.

func (*Image) SetWriteConnectionSecretToReference added in v0.3.0

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

SetWriteConnectionSecretToReference of this Image.

type ImageInitParameters added in v0.8.0

type ImageInitParameters struct {

	// Cloud disk ID list, When creating a whole machine image based on an instance, specify the data disk ID contained in the image.
	// Cloud disk ID list, When creating a whole machine image based on an instance, specify the data disk ID contained in the image.
	// +listType=set
	DataDiskIds []*string `json:"dataDiskIds,omitempty" tf:"data_disk_ids,omitempty"`

	// Set whether to force shutdown during mirroring. The default value is false, when set to true, it means that the mirror will be made after shutdown.
	// Set whether to force shutdown during mirroring. The default value is `false`, when set to true, it means that the mirror will be made after shutdown.
	ForcePoweroff *bool `json:"forcePoweroff,omitempty" tf:"force_poweroff,omitempty"`

	// Image Description.
	// Image Description.
	ImageDescription *string `json:"imageDescription,omitempty" tf:"image_description,omitempty"`

	// Set image family. Example value: business-daily-update.
	// Set image family. Example value: `business-daily-update`.
	ImageFamily *string `json:"imageFamily,omitempty" tf:"image_family,omitempty"`

	// Image name.
	// Image name.
	ImageName *string `json:"imageName,omitempty" tf:"image_name,omitempty"`

	// Cloud server instance ID.
	// Cloud server instance ID.
	InstanceID *string `json:"instanceId,omitempty" tf:"instance_id,omitempty"`

	// Cloud disk snapshot ID list; creating a mirror based on a snapshot must include a system disk snapshot. It cannot be passed in simultaneously with InstanceId.
	// Cloud disk snapshot ID list; creating a mirror based on a snapshot must include a system disk snapshot. It cannot be passed in simultaneously with InstanceId.
	// +listType=set
	SnapshotIds []*string `json:"snapshotIds,omitempty" tf:"snapshot_ids,omitempty"`

	// Sysprep function under Windows. When creating a Windows image, you can select true or false to enable or disable the Syspre function.
	// Sysprep function under Windows. When creating a Windows image, you can select true or false to enable or disable the Syspre function.
	Sysprep *bool `json:"sysprep,omitempty" tf:"sysprep,omitempty"`

	// Tags of the image.
	// Tags of the image.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`
}

func (*ImageInitParameters) DeepCopy added in v0.8.0

func (in *ImageInitParameters) DeepCopy() *ImageInitParameters

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

func (*ImageInitParameters) DeepCopyInto added in v0.8.0

func (in *ImageInitParameters) DeepCopyInto(out *ImageInitParameters)

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

type ImageList added in v0.3.0

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

ImageList contains a list of Images

func (*ImageList) DeepCopy added in v0.3.0

func (in *ImageList) DeepCopy() *ImageList

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

func (*ImageList) DeepCopyInto added in v0.3.0

func (in *ImageList) DeepCopyInto(out *ImageList)

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

func (*ImageList) DeepCopyObject added in v0.3.0

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

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

func (*ImageList) GetItems added in v0.3.0

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

GetItems of this ImageList.

type ImageObservation added in v0.3.0

type ImageObservation struct {

	// Cloud disk ID list, When creating a whole machine image based on an instance, specify the data disk ID contained in the image.
	// Cloud disk ID list, When creating a whole machine image based on an instance, specify the data disk ID contained in the image.
	// +listType=set
	DataDiskIds []*string `json:"dataDiskIds,omitempty" tf:"data_disk_ids,omitempty"`

	// Set whether to force shutdown during mirroring. The default value is false, when set to true, it means that the mirror will be made after shutdown.
	// Set whether to force shutdown during mirroring. The default value is `false`, when set to true, it means that the mirror will be made after shutdown.
	ForcePoweroff *bool `json:"forcePoweroff,omitempty" tf:"force_poweroff,omitempty"`

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

	// Image Description.
	// Image Description.
	ImageDescription *string `json:"imageDescription,omitempty" tf:"image_description,omitempty"`

	// Set image family. Example value: business-daily-update.
	// Set image family. Example value: `business-daily-update`.
	ImageFamily *string `json:"imageFamily,omitempty" tf:"image_family,omitempty"`

	// Image name.
	// Image name.
	ImageName *string `json:"imageName,omitempty" tf:"image_name,omitempty"`

	// Cloud server instance ID.
	// Cloud server instance ID.
	InstanceID *string `json:"instanceId,omitempty" tf:"instance_id,omitempty"`

	// Cloud disk snapshot ID list; creating a mirror based on a snapshot must include a system disk snapshot. It cannot be passed in simultaneously with InstanceId.
	// Cloud disk snapshot ID list; creating a mirror based on a snapshot must include a system disk snapshot. It cannot be passed in simultaneously with InstanceId.
	// +listType=set
	SnapshotIds []*string `json:"snapshotIds,omitempty" tf:"snapshot_ids,omitempty"`

	// Sysprep function under Windows. When creating a Windows image, you can select true or false to enable or disable the Syspre function.
	// Sysprep function under Windows. When creating a Windows image, you can select true or false to enable or disable the Syspre function.
	Sysprep *bool `json:"sysprep,omitempty" tf:"sysprep,omitempty"`

	// Tags of the image.
	// Tags of the image.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`
}

func (*ImageObservation) DeepCopy added in v0.3.0

func (in *ImageObservation) DeepCopy() *ImageObservation

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

func (*ImageObservation) DeepCopyInto added in v0.3.0

func (in *ImageObservation) DeepCopyInto(out *ImageObservation)

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

type ImageParameters added in v0.3.0

type ImageParameters struct {

	// Cloud disk ID list, When creating a whole machine image based on an instance, specify the data disk ID contained in the image.
	// Cloud disk ID list, When creating a whole machine image based on an instance, specify the data disk ID contained in the image.
	// +kubebuilder:validation:Optional
	// +listType=set
	DataDiskIds []*string `json:"dataDiskIds,omitempty" tf:"data_disk_ids,omitempty"`

	// Set whether to force shutdown during mirroring. The default value is false, when set to true, it means that the mirror will be made after shutdown.
	// Set whether to force shutdown during mirroring. The default value is `false`, when set to true, it means that the mirror will be made after shutdown.
	// +kubebuilder:validation:Optional
	ForcePoweroff *bool `json:"forcePoweroff,omitempty" tf:"force_poweroff,omitempty"`

	// Image Description.
	// Image Description.
	// +kubebuilder:validation:Optional
	ImageDescription *string `json:"imageDescription,omitempty" tf:"image_description,omitempty"`

	// Set image family. Example value: business-daily-update.
	// Set image family. Example value: `business-daily-update`.
	// +kubebuilder:validation:Optional
	ImageFamily *string `json:"imageFamily,omitempty" tf:"image_family,omitempty"`

	// Image name.
	// Image name.
	// +kubebuilder:validation:Optional
	ImageName *string `json:"imageName,omitempty" tf:"image_name,omitempty"`

	// Cloud server instance ID.
	// Cloud server instance ID.
	// +kubebuilder:validation:Optional
	InstanceID *string `json:"instanceId,omitempty" tf:"instance_id,omitempty"`

	// Cloud disk snapshot ID list; creating a mirror based on a snapshot must include a system disk snapshot. It cannot be passed in simultaneously with InstanceId.
	// Cloud disk snapshot ID list; creating a mirror based on a snapshot must include a system disk snapshot. It cannot be passed in simultaneously with InstanceId.
	// +kubebuilder:validation:Optional
	// +listType=set
	SnapshotIds []*string `json:"snapshotIds,omitempty" tf:"snapshot_ids,omitempty"`

	// Sysprep function under Windows. When creating a Windows image, you can select true or false to enable or disable the Syspre function.
	// Sysprep function under Windows. When creating a Windows image, you can select true or false to enable or disable the Syspre function.
	// +kubebuilder:validation:Optional
	Sysprep *bool `json:"sysprep,omitempty" tf:"sysprep,omitempty"`

	// Tags of the image.
	// Tags of the image.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`
}

func (*ImageParameters) DeepCopy added in v0.3.0

func (in *ImageParameters) DeepCopy() *ImageParameters

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

func (*ImageParameters) DeepCopyInto added in v0.3.0

func (in *ImageParameters) DeepCopyInto(out *ImageParameters)

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

type ImageSpec added in v0.3.0

type ImageSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     ImageParameters `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 ImageInitParameters `json:"initProvider,omitempty"`
}

ImageSpec defines the desired state of Image

func (*ImageSpec) DeepCopy added in v0.3.0

func (in *ImageSpec) DeepCopy() *ImageSpec

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

func (*ImageSpec) DeepCopyInto added in v0.3.0

func (in *ImageSpec) DeepCopyInto(out *ImageSpec)

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

type ImageStatus added in v0.3.0

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

ImageStatus defines the observed state of Image.

func (*ImageStatus) DeepCopy added in v0.3.0

func (in *ImageStatus) DeepCopy() *ImageStatus

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

func (*ImageStatus) DeepCopyInto added in v0.3.0

func (in *ImageStatus) DeepCopyInto(out *ImageStatus)

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.availabilityZone) || (has(self.initProvider) && has(self.initProvider.availabilityZone))",message="spec.forProvider.availabilityZone is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.imageId) || (has(self.initProvider) && has(self.initProvider.imageId))",message="spec.forProvider.imageId is a required parameter"
	Spec   InstanceSpec   `json:"spec"`
	Status InstanceStatus `json:"status,omitempty"`
}

Instance is the Schema for the Instances API. Provides a CVM instance resource. +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 {

	// Associate a public IP address with an instance in a VPC or Classic. Boolean value, Default is false.
	// Associate a public IP address with an instance in a VPC or Classic. Boolean value, Default is false.
	AllocatePublicIP *bool `json:"allocatePublicIp,omitempty" tf:"allocate_public_ip,omitempty"`

	// The available zone for the CVM instance.
	// The available zone for the CVM instance.
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// bandwidth package id. if user is standard user, then the bandwidth_package_id is needed, or default has bandwidth_package_id.
	// bandwidth package id. if user is standard user, then the bandwidth_package_id is needed, or default has bandwidth_package_id.
	BandwidthPackageID *string `json:"bandwidthPackageId,omitempty" tf:"bandwidth_package_id,omitempty"`

	// CAM role name authorized to access.
	// CAM role name authorized to access.
	CamRoleName *string `json:"camRoleName,omitempty" tf:"cam_role_name,omitempty"`

	// Id of cdh instance. Note: it only works when instance_charge_type is set to CDHPAID.
	// Id of cdh instance. Note: it only works when instance_charge_type is set to `CDHPAID`.
	CdhHostID *string `json:"cdhHostId,omitempty" tf:"cdh_host_id,omitempty"`

	// Type of instance created on cdh, the value of this parameter is in the format of CDH_XCXG based on the number of CPU cores and memory capacity. Note: it only works when instance_charge_type is set to CDHPAID.
	// Type of instance created on cdh, the value of this parameter is in the format of CDH_XCXG based on the number of CPU cores and memory capacity. Note: it only works when instance_charge_type is set to `CDHPAID`.
	CdhInstanceType *string `json:"cdhInstanceType,omitempty" tf:"cdh_instance_type,omitempty"`

	// Settings for data disks.
	// Settings for data disks.
	DataDisks []DataDisksInitParameters `json:"dataDisks,omitempty" tf:"data_disks,omitempty"`

	// Exclusive cluster id.
	// Exclusive cluster id.
	DedicatedClusterID *string `json:"dedicatedClusterId,omitempty" tf:"dedicated_cluster_id,omitempty"`

	// Whether the termination protection is enabled. Default is false. If set true, which means that this instance can not be deleted by an API action.
	// Whether the termination protection is enabled. Default is `false`. If set true, which means that this instance can not be deleted by an API action.
	DisableAPITermination *bool `json:"disableApiTermination,omitempty" tf:"disable_api_termination,omitempty"`

	// Disable enhance service for automation, it is enabled by default. When this options is set, monitor agent won't be installed. Modifying will cause the instance reset.
	// Disable enhance service for automation, it is enabled by default. When this options is set, monitor agent won't be installed. Modifying will cause the instance reset.
	DisableAutomationService *bool `json:"disableAutomationService,omitempty" tf:"disable_automation_service,omitempty"`

	// Disable enhance service for monitor, it is enabled by default. When this options is set, monitor agent won't be installed. Modifying will cause the instance reset.
	// Disable enhance service for monitor, it is enabled by default. When this options is set, monitor agent won't be installed. Modifying will cause the instance reset.
	DisableMonitorService *bool `json:"disableMonitorService,omitempty" tf:"disable_monitor_service,omitempty"`

	// Disable enhance service for security, it is enabled by default. When this options is set, security agent won't be installed. Modifying will cause the instance reset.
	// Disable enhance service for security, it is enabled by default. When this options is set, security agent won't be installed. Modifying will cause the instance reset.
	DisableSecurityService *bool `json:"disableSecurityService,omitempty" tf:"disable_security_service,omitempty"`

	// Indicate whether to force delete the instance. Default is false. If set true, the instance will be permanently deleted instead of being moved into the recycle bin. Note: only works for PREPAID instance.
	// Indicate whether to force delete the instance. Default is `false`. If set true, the instance will be permanently deleted instead of being moved into the recycle bin. Note: only works for `PREPAID` instance.
	ForceDelete *bool `json:"forceDelete,omitempty" tf:"force_delete,omitempty"`

	// The hostname of the instance. Windows instance: The name should be a combination of 2 to 15 characters comprised of letters (case insensitive), numbers, and hyphens (-). Period (.) is not supported, and the name cannot be a string of pure numbers. Other types (such as Linux) of instances: The name should be a combination of 2 to 60 characters, supporting multiple periods (.). The piece between two periods is composed of letters (case insensitive), numbers, and hyphens (-). Modifying will cause the instance reset.
	// The hostname of the instance. Windows instance: The name should be a combination of 2 to 15 characters comprised of letters (case insensitive), numbers, and hyphens (-). Period (.) is not supported, and the name cannot be a string of pure numbers. Other types (such as Linux) of instances: The name should be a combination of 2 to 60 characters, supporting multiple periods (.). The piece between two periods is composed of letters (case insensitive), numbers, and hyphens (-). Modifying will cause the instance reset.
	Hostname *string `json:"hostname,omitempty" tf:"hostname,omitempty"`

	// The image to use for the instance. Changing image_id will cause the instance reset.
	// The image to use for the instance. Changing `image_id` will cause the instance reset.
	ImageID *string `json:"imageId,omitempty" tf:"image_id,omitempty"`

	// The charge type of instance. Valid values are PREPAID, POSTPAID_BY_HOUR, SPOTPAID, CDHPAID and CDCPAID. The default is POSTPAID_BY_HOUR. Note: TencentCloud International only supports POSTPAID_BY_HOUR and CDHPAID. PREPAID instance may not allow to delete before expired. SPOTPAID instance must set spot_instance_type and spot_max_price at the same time. CDHPAID instance must set cdh_instance_type and cdh_host_id.
	// The charge type of instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `SPOTPAID`, `CDHPAID` and `CDCPAID`. The default is `POSTPAID_BY_HOUR`. Note: TencentCloud International only supports `POSTPAID_BY_HOUR` and `CDHPAID`. `PREPAID` instance may not allow to delete before expired. `SPOTPAID` instance must set `spot_instance_type` and `spot_max_price` at the same time. `CDHPAID` instance must set `cdh_instance_type` and `cdh_host_id`.
	InstanceChargeType *string `json:"instanceChargeType,omitempty" tf:"instance_charge_type,omitempty"`

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

	// Auto renewal flag. Valid values: NOTIFY_AND_AUTO_RENEW: notify upon expiration and renew automatically, NOTIFY_AND_MANUAL_RENEW: notify upon expiration but do not renew automatically, DISABLE_NOTIFY_AND_MANUAL_RENEW: neither notify upon expiration nor renew automatically. Default value: NOTIFY_AND_MANUAL_RENEW. If this parameter is specified as NOTIFY_AND_AUTO_RENEW, the instance will be automatically renewed on a monthly basis if the account balance is sufficient. NOTE: it only works when instance_charge_type is set to PREPAID.
	// Auto renewal flag. Valid values: `NOTIFY_AND_AUTO_RENEW`: notify upon expiration and renew automatically, `NOTIFY_AND_MANUAL_RENEW`: notify upon expiration but do not renew automatically, `DISABLE_NOTIFY_AND_MANUAL_RENEW`: neither notify upon expiration nor renew automatically. Default value: `NOTIFY_AND_MANUAL_RENEW`. If this parameter is specified as `NOTIFY_AND_AUTO_RENEW`, the instance will be automatically renewed on a monthly basis if the account balance is sufficient. NOTE: it only works when instance_charge_type is set to `PREPAID`.
	InstanceChargeTypePrepaidRenewFlag *string `json:"instanceChargeTypePrepaidRenewFlag,omitempty" tf:"instance_charge_type_prepaid_renew_flag,omitempty"`

	// It has been deprecated from version 1.59.18. Use built-in count instead. The number of instances to be purchased. Value range:[1,100]; default value: 1.
	// The number of instances to be purchased. Value range:[1,100]; default value: 1.
	InstanceCount *float64 `json:"instanceCount,omitempty" tf:"instance_count,omitempty"`

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

	// The type of the instance.
	// The type of the instance.
	InstanceType *string `json:"instanceType,omitempty" tf:"instance_type,omitempty"`

	// Internet charge type of the instance, Valid values are BANDWIDTH_PREPAID, TRAFFIC_POSTPAID_BY_HOUR, BANDWIDTH_POSTPAID_BY_HOUR and BANDWIDTH_PACKAGE. If not set, internet charge type are consistent with the cvm charge type by default. This value takes NO Effect when changing and does not need to be set when allocate_public_ip is false.
	// Internet charge type of the instance, Valid values are `BANDWIDTH_PREPAID`, `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. If not set, internet charge type are consistent with the cvm charge type by default. This value takes NO Effect when changing and does not need to be set when `allocate_public_ip` is false.
	InternetChargeType *string `json:"internetChargeType,omitempty" tf:"internet_charge_type,omitempty"`

	// Maximum outgoing bandwidth to the public network, measured in Mbps (Mega bits per second). This value does not need to be set when allocate_public_ip is false.
	// Maximum outgoing bandwidth to the public network, measured in Mbps (Mega bits per second). This value does not need to be set when `allocate_public_ip` is false.
	InternetMaxBandwidthOut *float64 `json:"internetMaxBandwidthOut,omitempty" tf:"internet_max_bandwidth_out,omitempty"`

	// Whether to keep image login or not, default is false. When the image type is private or shared or imported, this parameter can be set true. Modifying will cause the instance reset.
	// Whether to keep image login or not, default is `false`. When the image type is private or shared or imported, this parameter can be set `true`. Modifying will cause the instance reset.
	KeepImageLogin *bool `json:"keepImageLogin,omitempty" tf:"keep_image_login,omitempty"`

	// The key pair to use for the instance, it looks like skey-16jig7tx. Modifying will cause the instance reset.
	// The key pair to use for the instance, it looks like `skey-16jig7tx`. Modifying will cause the instance reset.
	// +listType=set
	KeyIds []*string `json:"keyIds,omitempty" tf:"key_ids,omitempty"`

	// Please use key_ids instead. The key pair to use for the instance, it looks like skey-16jig7tx. Modifying will cause the instance reset.
	// The key pair to use for the instance, it looks like `skey-16jig7tx`. Modifying will cause the instance reset.
	KeyName *string `json:"keyName,omitempty" tf:"key_name,omitempty"`

	// A list of orderly security group IDs to associate with.
	// A list of orderly security group IDs to associate with.
	OrderlySecurityGroups []*string `json:"orderlySecurityGroups,omitempty" tf:"orderly_security_groups,omitempty"`

	// The ID of a placement group.
	// The ID of a placement group.
	PlacementGroupID *string `json:"placementGroupId,omitempty" tf:"placement_group_id,omitempty"`

	// The private IP to be assigned to this instance, must be in the provided subnet and available.
	// The private IP to be assigned to this instance, must be in the provided subnet and available.
	PrivateIP *string `json:"privateIp,omitempty" tf:"private_ip,omitempty"`

	// The project the instance belongs to, default to 0.
	// The project the instance belongs to, default to 0.
	ProjectID *float64 `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// Set instance to running or stop. Default value is true, the instance will shutdown when this flag is false.
	// Set instance to running or stop. Default value is true, the instance will shutdown when this flag is false.
	RunningFlag *bool `json:"runningFlag,omitempty" tf:"running_flag,omitempty"`

	// It will be deprecated. Use orderly_security_groups instead. A list of security group IDs to associate with.
	// A list of security group IDs to associate with.
	// +listType=set
	SecurityGroups []*string `json:"securityGroups,omitempty" tf:"security_groups,omitempty"`

	// Type of spot instance, only support ONE-TIME now. Note: it only works when instance_charge_type is set to SPOTPAID.
	// Type of spot instance, only support `ONE-TIME` now. Note: it only works when instance_charge_type is set to `SPOTPAID`.
	SpotInstanceType *string `json:"spotInstanceType,omitempty" tf:"spot_instance_type,omitempty"`

	// Max price of a spot instance, is the format of decimal string, for example "0.50". Note: it only works when instance_charge_type is set to SPOTPAID.
	// Max price of a spot instance, is the format of decimal string, for example "0.50". Note: it only works when instance_charge_type is set to `SPOTPAID`.
	SpotMaxPrice *string `json:"spotMaxPrice,omitempty" tf:"spot_max_price,omitempty"`

	// Billing method of a pay-as-you-go instance after shutdown. Available values: KEEP_CHARGING,STOP_CHARGING. Default KEEP_CHARGING.
	// Billing method of a pay-as-you-go instance after shutdown. Available values: `KEEP_CHARGING`,`STOP_CHARGING`. Default `KEEP_CHARGING`.
	StoppedMode *string `json:"stoppedMode,omitempty" tf:"stopped_mode,omitempty"`

	// The ID of a VPC subnet. If you want to create instances in a VPC network, this parameter must be set.
	// The ID of a VPC subnet. If you want to create instances in a VPC network, this parameter must be 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:"-"`

	// Resize online.
	// Resize online.
	SystemDiskResizeOnline *bool `json:"systemDiskResizeOnline,omitempty" tf:"system_disk_resize_online,omitempty"`

	// Size of the system disk. unit is GB, Default is 50GB. If modified, the instance may force stop.
	// Size of the system disk. unit is GB, Default is 50GB. If modified, the instance may force stop.
	SystemDiskSize *float64 `json:"systemDiskSize,omitempty" tf:"system_disk_size,omitempty"`

	// System disk type. For more information on limits of system disk types, see Storage Overview. Valid values: LOCAL_BASIC: local disk, LOCAL_SSD: local SSD disk, CLOUD_BASIC: cloud disk, CLOUD_SSD: cloud SSD disk, CLOUD_PREMIUM: Premium Cloud Storage, CLOUD_BSSD: Basic SSD, CLOUD_HSSD: Enhanced SSD, CLOUD_TSSD: Tremendous SSD. NOTE: If modified, the instance may force stop.
	// System disk type. For more information on limits of system disk types, see [Storage Overview](https://intl.cloud.tencent.com/document/product/213/4952). Valid values: `LOCAL_BASIC`: local disk, `LOCAL_SSD`: local SSD disk, `CLOUD_BASIC`: cloud disk, `CLOUD_SSD`: cloud SSD disk, `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD, `CLOUD_TSSD`: Tremendous SSD. NOTE: If modified, the instance may force stop.
	SystemDiskType *string `json:"systemDiskType,omitempty" tf:"system_disk_type,omitempty"`

	// A mapping of tags to assign to the resource. For tag limits, please refer to Use Limits.
	// A mapping of tags to assign to the resource. For tag limits, please refer to [Use Limits](https://intl.cloud.tencent.com/document/product/651/13354).
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// The user data to be injected into this instance. Must be base64 encoded and up to 16 KB.
	// The user data to be injected into this instance. Must be base64 encoded and up to 16 KB.
	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`

	// The user data to be injected into this instance, in plain text. Conflicts with user_data. Up to 16 KB after base64 encoded.
	// The user data to be injected into this instance, in plain text. Conflicts with `user_data`. Up to 16 KB after base64 encoded.
	UserDataRaw *string `json:"userDataRaw,omitempty" tf:"user_data_raw,omitempty"`

	// The ID of a VPC network. If you want to create instances in a VPC network, this parameter must be set.
	// The ID of a VPC network. If you want to create instances in a VPC network, this parameter must be set.
	// +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:"-"`
}

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 {

	// Associate a public IP address with an instance in a VPC or Classic. Boolean value, Default is false.
	// Associate a public IP address with an instance in a VPC or Classic. Boolean value, Default is false.
	AllocatePublicIP *bool `json:"allocatePublicIp,omitempty" tf:"allocate_public_ip,omitempty"`

	// The available zone for the CVM instance.
	// The available zone for the CVM instance.
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// bandwidth package id. if user is standard user, then the bandwidth_package_id is needed, or default has bandwidth_package_id.
	// bandwidth package id. if user is standard user, then the bandwidth_package_id is needed, or default has bandwidth_package_id.
	BandwidthPackageID *string `json:"bandwidthPackageId,omitempty" tf:"bandwidth_package_id,omitempty"`

	// The number of CPU cores of the instance.
	// The number of CPU cores of the instance.
	CPU *float64 `json:"cpu,omitempty" tf:"cpu,omitempty"`

	// CAM role name authorized to access.
	// CAM role name authorized to access.
	CamRoleName *string `json:"camRoleName,omitempty" tf:"cam_role_name,omitempty"`

	// Id of cdh instance. Note: it only works when instance_charge_type is set to CDHPAID.
	// Id of cdh instance. Note: it only works when instance_charge_type is set to `CDHPAID`.
	CdhHostID *string `json:"cdhHostId,omitempty" tf:"cdh_host_id,omitempty"`

	// Type of instance created on cdh, the value of this parameter is in the format of CDH_XCXG based on the number of CPU cores and memory capacity. Note: it only works when instance_charge_type is set to CDHPAID.
	// Type of instance created on cdh, the value of this parameter is in the format of CDH_XCXG based on the number of CPU cores and memory capacity. Note: it only works when instance_charge_type is set to `CDHPAID`.
	CdhInstanceType *string `json:"cdhInstanceType,omitempty" tf:"cdh_instance_type,omitempty"`

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

	// Settings for data disks.
	// Settings for data disks.
	DataDisks []DataDisksObservation `json:"dataDisks,omitempty" tf:"data_disks,omitempty"`

	// Exclusive cluster id.
	// Exclusive cluster id.
	DedicatedClusterID *string `json:"dedicatedClusterId,omitempty" tf:"dedicated_cluster_id,omitempty"`

	// Whether the termination protection is enabled. Default is false. If set true, which means that this instance can not be deleted by an API action.
	// Whether the termination protection is enabled. Default is `false`. If set true, which means that this instance can not be deleted by an API action.
	DisableAPITermination *bool `json:"disableApiTermination,omitempty" tf:"disable_api_termination,omitempty"`

	// Disable enhance service for automation, it is enabled by default. When this options is set, monitor agent won't be installed. Modifying will cause the instance reset.
	// Disable enhance service for automation, it is enabled by default. When this options is set, monitor agent won't be installed. Modifying will cause the instance reset.
	DisableAutomationService *bool `json:"disableAutomationService,omitempty" tf:"disable_automation_service,omitempty"`

	// Disable enhance service for monitor, it is enabled by default. When this options is set, monitor agent won't be installed. Modifying will cause the instance reset.
	// Disable enhance service for monitor, it is enabled by default. When this options is set, monitor agent won't be installed. Modifying will cause the instance reset.
	DisableMonitorService *bool `json:"disableMonitorService,omitempty" tf:"disable_monitor_service,omitempty"`

	// Disable enhance service for security, it is enabled by default. When this options is set, security agent won't be installed. Modifying will cause the instance reset.
	// Disable enhance service for security, it is enabled by default. When this options is set, security agent won't be installed. Modifying will cause the instance reset.
	DisableSecurityService *bool `json:"disableSecurityService,omitempty" tf:"disable_security_service,omitempty"`

	// Expired time of the instance.
	// Expired time of the instance.
	ExpiredTime *string `json:"expiredTime,omitempty" tf:"expired_time,omitempty"`

	// Indicate whether to force delete the instance. Default is false. If set true, the instance will be permanently deleted instead of being moved into the recycle bin. Note: only works for PREPAID instance.
	// Indicate whether to force delete the instance. Default is `false`. If set true, the instance will be permanently deleted instead of being moved into the recycle bin. Note: only works for `PREPAID` instance.
	ForceDelete *bool `json:"forceDelete,omitempty" tf:"force_delete,omitempty"`

	// The hostname of the instance. Windows instance: The name should be a combination of 2 to 15 characters comprised of letters (case insensitive), numbers, and hyphens (-). Period (.) is not supported, and the name cannot be a string of pure numbers. Other types (such as Linux) of instances: The name should be a combination of 2 to 60 characters, supporting multiple periods (.). The piece between two periods is composed of letters (case insensitive), numbers, and hyphens (-). Modifying will cause the instance reset.
	// The hostname of the instance. Windows instance: The name should be a combination of 2 to 15 characters comprised of letters (case insensitive), numbers, and hyphens (-). Period (.) is not supported, and the name cannot be a string of pure numbers. Other types (such as Linux) of instances: The name should be a combination of 2 to 60 characters, supporting multiple periods (.). The piece between two periods is composed of letters (case insensitive), numbers, and hyphens (-). Modifying will cause the instance reset.
	Hostname *string `json:"hostname,omitempty" tf:"hostname,omitempty"`

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

	// The image to use for the instance. Changing image_id will cause the instance reset.
	// The image to use for the instance. Changing `image_id` will cause the instance reset.
	ImageID *string `json:"imageId,omitempty" tf:"image_id,omitempty"`

	// The charge type of instance. Valid values are PREPAID, POSTPAID_BY_HOUR, SPOTPAID, CDHPAID and CDCPAID. The default is POSTPAID_BY_HOUR. Note: TencentCloud International only supports POSTPAID_BY_HOUR and CDHPAID. PREPAID instance may not allow to delete before expired. SPOTPAID instance must set spot_instance_type and spot_max_price at the same time. CDHPAID instance must set cdh_instance_type and cdh_host_id.
	// The charge type of instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `SPOTPAID`, `CDHPAID` and `CDCPAID`. The default is `POSTPAID_BY_HOUR`. Note: TencentCloud International only supports `POSTPAID_BY_HOUR` and `CDHPAID`. `PREPAID` instance may not allow to delete before expired. `SPOTPAID` instance must set `spot_instance_type` and `spot_max_price` at the same time. `CDHPAID` instance must set `cdh_instance_type` and `cdh_host_id`.
	InstanceChargeType *string `json:"instanceChargeType,omitempty" tf:"instance_charge_type,omitempty"`

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

	// Auto renewal flag. Valid values: NOTIFY_AND_AUTO_RENEW: notify upon expiration and renew automatically, NOTIFY_AND_MANUAL_RENEW: notify upon expiration but do not renew automatically, DISABLE_NOTIFY_AND_MANUAL_RENEW: neither notify upon expiration nor renew automatically. Default value: NOTIFY_AND_MANUAL_RENEW. If this parameter is specified as NOTIFY_AND_AUTO_RENEW, the instance will be automatically renewed on a monthly basis if the account balance is sufficient. NOTE: it only works when instance_charge_type is set to PREPAID.
	// Auto renewal flag. Valid values: `NOTIFY_AND_AUTO_RENEW`: notify upon expiration and renew automatically, `NOTIFY_AND_MANUAL_RENEW`: notify upon expiration but do not renew automatically, `DISABLE_NOTIFY_AND_MANUAL_RENEW`: neither notify upon expiration nor renew automatically. Default value: `NOTIFY_AND_MANUAL_RENEW`. If this parameter is specified as `NOTIFY_AND_AUTO_RENEW`, the instance will be automatically renewed on a monthly basis if the account balance is sufficient. NOTE: it only works when instance_charge_type is set to `PREPAID`.
	InstanceChargeTypePrepaidRenewFlag *string `json:"instanceChargeTypePrepaidRenewFlag,omitempty" tf:"instance_charge_type_prepaid_renew_flag,omitempty"`

	// It has been deprecated from version 1.59.18. Use built-in count instead. The number of instances to be purchased. Value range:[1,100]; default value: 1.
	// The number of instances to be purchased. Value range:[1,100]; default value: 1.
	InstanceCount *float64 `json:"instanceCount,omitempty" tf:"instance_count,omitempty"`

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

	// Current status of the instance.
	// Current status of the instance.
	InstanceStatus *string `json:"instanceStatus,omitempty" tf:"instance_status,omitempty"`

	// The type of the instance.
	// The type of the instance.
	InstanceType *string `json:"instanceType,omitempty" tf:"instance_type,omitempty"`

	// Internet charge type of the instance, Valid values are BANDWIDTH_PREPAID, TRAFFIC_POSTPAID_BY_HOUR, BANDWIDTH_POSTPAID_BY_HOUR and BANDWIDTH_PACKAGE. If not set, internet charge type are consistent with the cvm charge type by default. This value takes NO Effect when changing and does not need to be set when allocate_public_ip is false.
	// Internet charge type of the instance, Valid values are `BANDWIDTH_PREPAID`, `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. If not set, internet charge type are consistent with the cvm charge type by default. This value takes NO Effect when changing and does not need to be set when `allocate_public_ip` is false.
	InternetChargeType *string `json:"internetChargeType,omitempty" tf:"internet_charge_type,omitempty"`

	// Maximum outgoing bandwidth to the public network, measured in Mbps (Mega bits per second). This value does not need to be set when allocate_public_ip is false.
	// Maximum outgoing bandwidth to the public network, measured in Mbps (Mega bits per second). This value does not need to be set when `allocate_public_ip` is false.
	InternetMaxBandwidthOut *float64 `json:"internetMaxBandwidthOut,omitempty" tf:"internet_max_bandwidth_out,omitempty"`

	// Whether to keep image login or not, default is false. When the image type is private or shared or imported, this parameter can be set true. Modifying will cause the instance reset.
	// Whether to keep image login or not, default is `false`. When the image type is private or shared or imported, this parameter can be set `true`. Modifying will cause the instance reset.
	KeepImageLogin *bool `json:"keepImageLogin,omitempty" tf:"keep_image_login,omitempty"`

	// The key pair to use for the instance, it looks like skey-16jig7tx. Modifying will cause the instance reset.
	// The key pair to use for the instance, it looks like `skey-16jig7tx`. Modifying will cause the instance reset.
	// +listType=set
	KeyIds []*string `json:"keyIds,omitempty" tf:"key_ids,omitempty"`

	// Please use key_ids instead. The key pair to use for the instance, it looks like skey-16jig7tx. Modifying will cause the instance reset.
	// The key pair to use for the instance, it looks like `skey-16jig7tx`. Modifying will cause the instance reset.
	KeyName *string `json:"keyName,omitempty" tf:"key_name,omitempty"`

	// Instance memory capacity, unit in GB.
	// Instance memory capacity, unit in GB.
	Memory *float64 `json:"memory,omitempty" tf:"memory,omitempty"`

	// A list of orderly security group IDs to associate with.
	// A list of orderly security group IDs to associate with.
	OrderlySecurityGroups []*string `json:"orderlySecurityGroups,omitempty" tf:"orderly_security_groups,omitempty"`

	// Instance os name.
	// Instance os name.
	OsName *string `json:"osName,omitempty" tf:"os_name,omitempty"`

	// The ID of a placement group.
	// The ID of a placement group.
	PlacementGroupID *string `json:"placementGroupId,omitempty" tf:"placement_group_id,omitempty"`

	// The private IP to be assigned to this instance, must be in the provided subnet and available.
	// The private IP to be assigned to this instance, must be in the provided subnet and available.
	PrivateIP *string `json:"privateIp,omitempty" tf:"private_ip,omitempty"`

	// The project the instance belongs to, default to 0.
	// The project the instance belongs to, default to 0.
	ProjectID *float64 `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// Public IP of the instance.
	// Public IP of the instance.
	PublicIP *string `json:"publicIp,omitempty" tf:"public_ip,omitempty"`

	// Set instance to running or stop. Default value is true, the instance will shutdown when this flag is false.
	// Set instance to running or stop. Default value is true, the instance will shutdown when this flag is false.
	RunningFlag *bool `json:"runningFlag,omitempty" tf:"running_flag,omitempty"`

	// It will be deprecated. Use orderly_security_groups instead. A list of security group IDs to associate with.
	// A list of security group IDs to associate with.
	// +listType=set
	SecurityGroups []*string `json:"securityGroups,omitempty" tf:"security_groups,omitempty"`

	// Type of spot instance, only support ONE-TIME now. Note: it only works when instance_charge_type is set to SPOTPAID.
	// Type of spot instance, only support `ONE-TIME` now. Note: it only works when instance_charge_type is set to `SPOTPAID`.
	SpotInstanceType *string `json:"spotInstanceType,omitempty" tf:"spot_instance_type,omitempty"`

	// Max price of a spot instance, is the format of decimal string, for example "0.50". Note: it only works when instance_charge_type is set to SPOTPAID.
	// Max price of a spot instance, is the format of decimal string, for example "0.50". Note: it only works when instance_charge_type is set to `SPOTPAID`.
	SpotMaxPrice *string `json:"spotMaxPrice,omitempty" tf:"spot_max_price,omitempty"`

	// Billing method of a pay-as-you-go instance after shutdown. Available values: KEEP_CHARGING,STOP_CHARGING. Default KEEP_CHARGING.
	// Billing method of a pay-as-you-go instance after shutdown. Available values: `KEEP_CHARGING`,`STOP_CHARGING`. Default `KEEP_CHARGING`.
	StoppedMode *string `json:"stoppedMode,omitempty" tf:"stopped_mode,omitempty"`

	// The ID of a VPC subnet. If you want to create instances in a VPC network, this parameter must be set.
	// The ID of a VPC subnet. If you want to create instances in a VPC network, this parameter must be set.
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// System disk snapshot ID used to initialize the system disk. When system disk type is LOCAL_BASIC and LOCAL_SSD, disk id is not supported.
	// System disk snapshot ID used to initialize the system disk. When system disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported.
	SystemDiskID *string `json:"systemDiskId,omitempty" tf:"system_disk_id,omitempty"`

	// Resize online.
	// Resize online.
	SystemDiskResizeOnline *bool `json:"systemDiskResizeOnline,omitempty" tf:"system_disk_resize_online,omitempty"`

	// Size of the system disk. unit is GB, Default is 50GB. If modified, the instance may force stop.
	// Size of the system disk. unit is GB, Default is 50GB. If modified, the instance may force stop.
	SystemDiskSize *float64 `json:"systemDiskSize,omitempty" tf:"system_disk_size,omitempty"`

	// System disk type. For more information on limits of system disk types, see Storage Overview. Valid values: LOCAL_BASIC: local disk, LOCAL_SSD: local SSD disk, CLOUD_BASIC: cloud disk, CLOUD_SSD: cloud SSD disk, CLOUD_PREMIUM: Premium Cloud Storage, CLOUD_BSSD: Basic SSD, CLOUD_HSSD: Enhanced SSD, CLOUD_TSSD: Tremendous SSD. NOTE: If modified, the instance may force stop.
	// System disk type. For more information on limits of system disk types, see [Storage Overview](https://intl.cloud.tencent.com/document/product/213/4952). Valid values: `LOCAL_BASIC`: local disk, `LOCAL_SSD`: local SSD disk, `CLOUD_BASIC`: cloud disk, `CLOUD_SSD`: cloud SSD disk, `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD, `CLOUD_TSSD`: Tremendous SSD. NOTE: If modified, the instance may force stop.
	SystemDiskType *string `json:"systemDiskType,omitempty" tf:"system_disk_type,omitempty"`

	// A mapping of tags to assign to the resource. For tag limits, please refer to Use Limits.
	// A mapping of tags to assign to the resource. For tag limits, please refer to [Use Limits](https://intl.cloud.tencent.com/document/product/651/13354).
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// Globally unique ID of the instance.
	// Globally unique ID of the instance.
	UUID *string `json:"uuid,omitempty" tf:"uuid,omitempty"`

	// The user data to be injected into this instance. Must be base64 encoded and up to 16 KB.
	// The user data to be injected into this instance. Must be base64 encoded and up to 16 KB.
	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`

	// The user data to be injected into this instance, in plain text. Conflicts with user_data. Up to 16 KB after base64 encoded.
	// The user data to be injected into this instance, in plain text. Conflicts with `user_data`. Up to 16 KB after base64 encoded.
	UserDataRaw *string `json:"userDataRaw,omitempty" tf:"user_data_raw,omitempty"`

	// The ID of a VPC network. If you want to create instances in a VPC network, this parameter must be set.
	// The ID of a VPC network. If you want to create instances in a VPC network, this parameter must be set.
	VPCID *string `json:"vpcId,omitempty" tf:"vpc_id,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 {

	// Associate a public IP address with an instance in a VPC or Classic. Boolean value, Default is false.
	// Associate a public IP address with an instance in a VPC or Classic. Boolean value, Default is false.
	// +kubebuilder:validation:Optional
	AllocatePublicIP *bool `json:"allocatePublicIp,omitempty" tf:"allocate_public_ip,omitempty"`

	// The available zone for the CVM instance.
	// The available zone for the CVM instance.
	// +kubebuilder:validation:Optional
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// bandwidth package id. if user is standard user, then the bandwidth_package_id is needed, or default has bandwidth_package_id.
	// bandwidth package id. if user is standard user, then the bandwidth_package_id is needed, or default has bandwidth_package_id.
	// +kubebuilder:validation:Optional
	BandwidthPackageID *string `json:"bandwidthPackageId,omitempty" tf:"bandwidth_package_id,omitempty"`

	// CAM role name authorized to access.
	// CAM role name authorized to access.
	// +kubebuilder:validation:Optional
	CamRoleName *string `json:"camRoleName,omitempty" tf:"cam_role_name,omitempty"`

	// Id of cdh instance. Note: it only works when instance_charge_type is set to CDHPAID.
	// Id of cdh instance. Note: it only works when instance_charge_type is set to `CDHPAID`.
	// +kubebuilder:validation:Optional
	CdhHostID *string `json:"cdhHostId,omitempty" tf:"cdh_host_id,omitempty"`

	// Type of instance created on cdh, the value of this parameter is in the format of CDH_XCXG based on the number of CPU cores and memory capacity. Note: it only works when instance_charge_type is set to CDHPAID.
	// Type of instance created on cdh, the value of this parameter is in the format of CDH_XCXG based on the number of CPU cores and memory capacity. Note: it only works when instance_charge_type is set to `CDHPAID`.
	// +kubebuilder:validation:Optional
	CdhInstanceType *string `json:"cdhInstanceType,omitempty" tf:"cdh_instance_type,omitempty"`

	// Settings for data disks.
	// Settings for data disks.
	// +kubebuilder:validation:Optional
	DataDisks []DataDisksParameters `json:"dataDisks,omitempty" tf:"data_disks,omitempty"`

	// Exclusive cluster id.
	// Exclusive cluster id.
	// +kubebuilder:validation:Optional
	DedicatedClusterID *string `json:"dedicatedClusterId,omitempty" tf:"dedicated_cluster_id,omitempty"`

	// Whether the termination protection is enabled. Default is false. If set true, which means that this instance can not be deleted by an API action.
	// Whether the termination protection is enabled. Default is `false`. If set true, which means that this instance can not be deleted by an API action.
	// +kubebuilder:validation:Optional
	DisableAPITermination *bool `json:"disableApiTermination,omitempty" tf:"disable_api_termination,omitempty"`

	// Disable enhance service for automation, it is enabled by default. When this options is set, monitor agent won't be installed. Modifying will cause the instance reset.
	// Disable enhance service for automation, it is enabled by default. When this options is set, monitor agent won't be installed. Modifying will cause the instance reset.
	// +kubebuilder:validation:Optional
	DisableAutomationService *bool `json:"disableAutomationService,omitempty" tf:"disable_automation_service,omitempty"`

	// Disable enhance service for monitor, it is enabled by default. When this options is set, monitor agent won't be installed. Modifying will cause the instance reset.
	// Disable enhance service for monitor, it is enabled by default. When this options is set, monitor agent won't be installed. Modifying will cause the instance reset.
	// +kubebuilder:validation:Optional
	DisableMonitorService *bool `json:"disableMonitorService,omitempty" tf:"disable_monitor_service,omitempty"`

	// Disable enhance service for security, it is enabled by default. When this options is set, security agent won't be installed. Modifying will cause the instance reset.
	// Disable enhance service for security, it is enabled by default. When this options is set, security agent won't be installed. Modifying will cause the instance reset.
	// +kubebuilder:validation:Optional
	DisableSecurityService *bool `json:"disableSecurityService,omitempty" tf:"disable_security_service,omitempty"`

	// Indicate whether to force delete the instance. Default is false. If set true, the instance will be permanently deleted instead of being moved into the recycle bin. Note: only works for PREPAID instance.
	// Indicate whether to force delete the instance. Default is `false`. If set true, the instance will be permanently deleted instead of being moved into the recycle bin. Note: only works for `PREPAID` instance.
	// +kubebuilder:validation:Optional
	ForceDelete *bool `json:"forceDelete,omitempty" tf:"force_delete,omitempty"`

	// The hostname of the instance. Windows instance: The name should be a combination of 2 to 15 characters comprised of letters (case insensitive), numbers, and hyphens (-). Period (.) is not supported, and the name cannot be a string of pure numbers. Other types (such as Linux) of instances: The name should be a combination of 2 to 60 characters, supporting multiple periods (.). The piece between two periods is composed of letters (case insensitive), numbers, and hyphens (-). Modifying will cause the instance reset.
	// The hostname of the instance. Windows instance: The name should be a combination of 2 to 15 characters comprised of letters (case insensitive), numbers, and hyphens (-). Period (.) is not supported, and the name cannot be a string of pure numbers. Other types (such as Linux) of instances: The name should be a combination of 2 to 60 characters, supporting multiple periods (.). The piece between two periods is composed of letters (case insensitive), numbers, and hyphens (-). Modifying will cause the instance reset.
	// +kubebuilder:validation:Optional
	Hostname *string `json:"hostname,omitempty" tf:"hostname,omitempty"`

	// The image to use for the instance. Changing image_id will cause the instance reset.
	// The image to use for the instance. Changing `image_id` will cause the instance reset.
	// +kubebuilder:validation:Optional
	ImageID *string `json:"imageId,omitempty" tf:"image_id,omitempty"`

	// The charge type of instance. Valid values are PREPAID, POSTPAID_BY_HOUR, SPOTPAID, CDHPAID and CDCPAID. The default is POSTPAID_BY_HOUR. Note: TencentCloud International only supports POSTPAID_BY_HOUR and CDHPAID. PREPAID instance may not allow to delete before expired. SPOTPAID instance must set spot_instance_type and spot_max_price at the same time. CDHPAID instance must set cdh_instance_type and cdh_host_id.
	// The charge type of instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `SPOTPAID`, `CDHPAID` and `CDCPAID`. The default is `POSTPAID_BY_HOUR`. Note: TencentCloud International only supports `POSTPAID_BY_HOUR` and `CDHPAID`. `PREPAID` instance may not allow to delete before expired. `SPOTPAID` instance must set `spot_instance_type` and `spot_max_price` at the same time. `CDHPAID` instance must set `cdh_instance_type` and `cdh_host_id`.
	// +kubebuilder:validation:Optional
	InstanceChargeType *string `json:"instanceChargeType,omitempty" tf:"instance_charge_type,omitempty"`

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

	// Auto renewal flag. Valid values: NOTIFY_AND_AUTO_RENEW: notify upon expiration and renew automatically, NOTIFY_AND_MANUAL_RENEW: notify upon expiration but do not renew automatically, DISABLE_NOTIFY_AND_MANUAL_RENEW: neither notify upon expiration nor renew automatically. Default value: NOTIFY_AND_MANUAL_RENEW. If this parameter is specified as NOTIFY_AND_AUTO_RENEW, the instance will be automatically renewed on a monthly basis if the account balance is sufficient. NOTE: it only works when instance_charge_type is set to PREPAID.
	// Auto renewal flag. Valid values: `NOTIFY_AND_AUTO_RENEW`: notify upon expiration and renew automatically, `NOTIFY_AND_MANUAL_RENEW`: notify upon expiration but do not renew automatically, `DISABLE_NOTIFY_AND_MANUAL_RENEW`: neither notify upon expiration nor renew automatically. Default value: `NOTIFY_AND_MANUAL_RENEW`. If this parameter is specified as `NOTIFY_AND_AUTO_RENEW`, the instance will be automatically renewed on a monthly basis if the account balance is sufficient. NOTE: it only works when instance_charge_type is set to `PREPAID`.
	// +kubebuilder:validation:Optional
	InstanceChargeTypePrepaidRenewFlag *string `json:"instanceChargeTypePrepaidRenewFlag,omitempty" tf:"instance_charge_type_prepaid_renew_flag,omitempty"`

	// It has been deprecated from version 1.59.18. Use built-in count instead. The number of instances to be purchased. Value range:[1,100]; default value: 1.
	// The number of instances to be purchased. Value range:[1,100]; default value: 1.
	// +kubebuilder:validation:Optional
	InstanceCount *float64 `json:"instanceCount,omitempty" tf:"instance_count,omitempty"`

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

	// The type of the instance.
	// The type of the instance.
	// +kubebuilder:validation:Optional
	InstanceType *string `json:"instanceType,omitempty" tf:"instance_type,omitempty"`

	// Internet charge type of the instance, Valid values are BANDWIDTH_PREPAID, TRAFFIC_POSTPAID_BY_HOUR, BANDWIDTH_POSTPAID_BY_HOUR and BANDWIDTH_PACKAGE. If not set, internet charge type are consistent with the cvm charge type by default. This value takes NO Effect when changing and does not need to be set when allocate_public_ip is false.
	// Internet charge type of the instance, Valid values are `BANDWIDTH_PREPAID`, `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. If not set, internet charge type are consistent with the cvm charge type by default. This value takes NO Effect when changing and does not need to be set when `allocate_public_ip` is false.
	// +kubebuilder:validation:Optional
	InternetChargeType *string `json:"internetChargeType,omitempty" tf:"internet_charge_type,omitempty"`

	// Maximum outgoing bandwidth to the public network, measured in Mbps (Mega bits per second). This value does not need to be set when allocate_public_ip is false.
	// Maximum outgoing bandwidth to the public network, measured in Mbps (Mega bits per second). This value does not need to be set when `allocate_public_ip` is false.
	// +kubebuilder:validation:Optional
	InternetMaxBandwidthOut *float64 `json:"internetMaxBandwidthOut,omitempty" tf:"internet_max_bandwidth_out,omitempty"`

	// Whether to keep image login or not, default is false. When the image type is private or shared or imported, this parameter can be set true. Modifying will cause the instance reset.
	// Whether to keep image login or not, default is `false`. When the image type is private or shared or imported, this parameter can be set `true`. Modifying will cause the instance reset.
	// +kubebuilder:validation:Optional
	KeepImageLogin *bool `json:"keepImageLogin,omitempty" tf:"keep_image_login,omitempty"`

	// The key pair to use for the instance, it looks like skey-16jig7tx. Modifying will cause the instance reset.
	// The key pair to use for the instance, it looks like `skey-16jig7tx`. Modifying will cause the instance reset.
	// +kubebuilder:validation:Optional
	// +listType=set
	KeyIds []*string `json:"keyIds,omitempty" tf:"key_ids,omitempty"`

	// Please use key_ids instead. The key pair to use for the instance, it looks like skey-16jig7tx. Modifying will cause the instance reset.
	// The key pair to use for the instance, it looks like `skey-16jig7tx`. Modifying will cause the instance reset.
	// +kubebuilder:validation:Optional
	KeyName *string `json:"keyName,omitempty" tf:"key_name,omitempty"`

	// A list of orderly security group IDs to associate with.
	// A list of orderly security group IDs to associate with.
	// +kubebuilder:validation:Optional
	OrderlySecurityGroups []*string `json:"orderlySecurityGroups,omitempty" tf:"orderly_security_groups,omitempty"`

	// Password for the instance. In order for the new password to take effect, the instance will be restarted after the password change. Modifying will cause the instance reset.
	// Password for the instance. In order for the new password to take effect, the instance will be restarted after the password change. Modifying will cause the instance reset.
	// +kubebuilder:validation:Optional
	PasswordSecretRef *v1.SecretKeySelector `json:"passwordSecretRef,omitempty" tf:"-"`

	// The ID of a placement group.
	// The ID of a placement group.
	// +kubebuilder:validation:Optional
	PlacementGroupID *string `json:"placementGroupId,omitempty" tf:"placement_group_id,omitempty"`

	// The private IP to be assigned to this instance, must be in the provided subnet and available.
	// The private IP to be assigned to this instance, must be in the provided subnet and available.
	// +kubebuilder:validation:Optional
	PrivateIP *string `json:"privateIp,omitempty" tf:"private_ip,omitempty"`

	// The project the instance belongs to, default to 0.
	// The project the instance belongs to, default to 0.
	// +kubebuilder:validation:Optional
	ProjectID *float64 `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// Set instance to running or stop. Default value is true, the instance will shutdown when this flag is false.
	// Set instance to running or stop. Default value is true, the instance will shutdown when this flag is false.
	// +kubebuilder:validation:Optional
	RunningFlag *bool `json:"runningFlag,omitempty" tf:"running_flag,omitempty"`

	// It will be deprecated. Use orderly_security_groups instead. A list of security group IDs to associate with.
	// A list of security group IDs to associate with.
	// +kubebuilder:validation:Optional
	// +listType=set
	SecurityGroups []*string `json:"securityGroups,omitempty" tf:"security_groups,omitempty"`

	// Type of spot instance, only support ONE-TIME now. Note: it only works when instance_charge_type is set to SPOTPAID.
	// Type of spot instance, only support `ONE-TIME` now. Note: it only works when instance_charge_type is set to `SPOTPAID`.
	// +kubebuilder:validation:Optional
	SpotInstanceType *string `json:"spotInstanceType,omitempty" tf:"spot_instance_type,omitempty"`

	// Max price of a spot instance, is the format of decimal string, for example "0.50". Note: it only works when instance_charge_type is set to SPOTPAID.
	// Max price of a spot instance, is the format of decimal string, for example "0.50". Note: it only works when instance_charge_type is set to `SPOTPAID`.
	// +kubebuilder:validation:Optional
	SpotMaxPrice *string `json:"spotMaxPrice,omitempty" tf:"spot_max_price,omitempty"`

	// Billing method of a pay-as-you-go instance after shutdown. Available values: KEEP_CHARGING,STOP_CHARGING. Default KEEP_CHARGING.
	// Billing method of a pay-as-you-go instance after shutdown. Available values: `KEEP_CHARGING`,`STOP_CHARGING`. Default `KEEP_CHARGING`.
	// +kubebuilder:validation:Optional
	StoppedMode *string `json:"stoppedMode,omitempty" tf:"stopped_mode,omitempty"`

	// The ID of a VPC subnet. If you want to create instances in a VPC network, this parameter must be set.
	// The ID of a VPC subnet. If you want to create instances in a VPC network, this parameter must be 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:"-"`

	// Resize online.
	// Resize online.
	// +kubebuilder:validation:Optional
	SystemDiskResizeOnline *bool `json:"systemDiskResizeOnline,omitempty" tf:"system_disk_resize_online,omitempty"`

	// Size of the system disk. unit is GB, Default is 50GB. If modified, the instance may force stop.
	// Size of the system disk. unit is GB, Default is 50GB. If modified, the instance may force stop.
	// +kubebuilder:validation:Optional
	SystemDiskSize *float64 `json:"systemDiskSize,omitempty" tf:"system_disk_size,omitempty"`

	// System disk type. For more information on limits of system disk types, see Storage Overview. Valid values: LOCAL_BASIC: local disk, LOCAL_SSD: local SSD disk, CLOUD_BASIC: cloud disk, CLOUD_SSD: cloud SSD disk, CLOUD_PREMIUM: Premium Cloud Storage, CLOUD_BSSD: Basic SSD, CLOUD_HSSD: Enhanced SSD, CLOUD_TSSD: Tremendous SSD. NOTE: If modified, the instance may force stop.
	// System disk type. For more information on limits of system disk types, see [Storage Overview](https://intl.cloud.tencent.com/document/product/213/4952). Valid values: `LOCAL_BASIC`: local disk, `LOCAL_SSD`: local SSD disk, `CLOUD_BASIC`: cloud disk, `CLOUD_SSD`: cloud SSD disk, `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_BSSD`: Basic SSD, `CLOUD_HSSD`: Enhanced SSD, `CLOUD_TSSD`: Tremendous SSD. NOTE: If modified, the instance may force stop.
	// +kubebuilder:validation:Optional
	SystemDiskType *string `json:"systemDiskType,omitempty" tf:"system_disk_type,omitempty"`

	// A mapping of tags to assign to the resource. For tag limits, please refer to Use Limits.
	// A mapping of tags to assign to the resource. For tag limits, please refer to [Use Limits](https://intl.cloud.tencent.com/document/product/651/13354).
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// The user data to be injected into this instance. Must be base64 encoded and up to 16 KB.
	// The user data to be injected into this instance. Must be base64 encoded and up to 16 KB.
	// +kubebuilder:validation:Optional
	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`

	// The user data to be injected into this instance, in plain text. Conflicts with user_data. Up to 16 KB after base64 encoded.
	// The user data to be injected into this instance, in plain text. Conflicts with `user_data`. Up to 16 KB after base64 encoded.
	// +kubebuilder:validation:Optional
	UserDataRaw *string `json:"userDataRaw,omitempty" tf:"user_data_raw,omitempty"`

	// The ID of a VPC network. If you want to create instances in a VPC network, this parameter must be set.
	// The ID of a VPC network. If you want to create instances in a VPC network, this parameter must be set.
	// +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:"-"`
}

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 InstanceSet added in v0.3.0

type InstanceSet 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.availabilityZone) || (has(self.initProvider) && has(self.initProvider.availabilityZone))",message="spec.forProvider.availabilityZone is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.imageId) || (has(self.initProvider) && has(self.initProvider.imageId))",message="spec.forProvider.imageId is a required parameter"
	Spec   InstanceSetSpec   `json:"spec"`
	Status InstanceSetStatus `json:"status,omitempty"`
}

InstanceSet is the Schema for the InstanceSets API. Provides a CVM instance set resource. +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 (*InstanceSet) DeepCopy added in v0.3.0

func (in *InstanceSet) DeepCopy() *InstanceSet

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

func (*InstanceSet) DeepCopyInto added in v0.3.0

func (in *InstanceSet) DeepCopyInto(out *InstanceSet)

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

func (*InstanceSet) DeepCopyObject added in v0.3.0

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

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

func (*InstanceSet) GetCondition added in v0.3.0

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

GetCondition of this InstanceSet.

func (*InstanceSet) GetConnectionDetailsMapping added in v0.3.0

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

GetConnectionDetailsMapping for this InstanceSet

func (*InstanceSet) GetDeletionPolicy added in v0.3.0

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

GetDeletionPolicy of this InstanceSet.

func (*InstanceSet) GetID added in v0.3.0

func (tr *InstanceSet) GetID() string

GetID returns ID of underlying Terraform resource of this InstanceSet

func (*InstanceSet) GetInitParameters added in v0.8.0

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

GetInitParameters of this InstanceSet

func (*InstanceSet) GetManagementPolicies added in v0.8.0

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

GetManagementPolicies of this InstanceSet.

func (*InstanceSet) GetMergedParameters added in v0.8.1

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

GetInitParameters of this InstanceSet

func (*InstanceSet) GetObservation added in v0.3.0

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

GetObservation of this InstanceSet

func (*InstanceSet) GetParameters added in v0.3.0

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

GetParameters of this InstanceSet

func (*InstanceSet) GetProviderConfigReference added in v0.3.0

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

GetProviderConfigReference of this InstanceSet.

func (*InstanceSet) GetPublishConnectionDetailsTo added in v0.3.0

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

GetPublishConnectionDetailsTo of this InstanceSet.

func (*InstanceSet) GetTerraformResourceType added in v0.3.0

func (mg *InstanceSet) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this InstanceSet

func (*InstanceSet) GetTerraformSchemaVersion added in v0.3.0

func (tr *InstanceSet) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*InstanceSet) GetWriteConnectionSecretToReference added in v0.3.0

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

GetWriteConnectionSecretToReference of this InstanceSet.

func (*InstanceSet) Hub added in v0.8.1

func (tr *InstanceSet) Hub()

Hub marks this type as a conversion hub.

func (*InstanceSet) LateInitialize added in v0.3.0

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

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

func (*InstanceSet) ResolveReferences added in v0.3.0

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

ResolveReferences of this InstanceSet.

func (*InstanceSet) SetConditions added in v0.3.0

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

SetConditions of this InstanceSet.

func (*InstanceSet) SetDeletionPolicy added in v0.3.0

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

SetDeletionPolicy of this InstanceSet.

func (*InstanceSet) SetManagementPolicies added in v0.8.0

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

SetManagementPolicies of this InstanceSet.

func (*InstanceSet) SetObservation added in v0.3.0

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

SetObservation for this InstanceSet

func (*InstanceSet) SetParameters added in v0.3.0

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

SetParameters for this InstanceSet

func (*InstanceSet) SetProviderConfigReference added in v0.3.0

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

SetProviderConfigReference of this InstanceSet.

func (*InstanceSet) SetPublishConnectionDetailsTo added in v0.3.0

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

SetPublishConnectionDetailsTo of this InstanceSet.

func (*InstanceSet) SetWriteConnectionSecretToReference added in v0.3.0

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

SetWriteConnectionSecretToReference of this InstanceSet.

type InstanceSetInitParameters added in v0.8.0

type InstanceSetInitParameters struct {

	// Associate a public IP address with an instance in a VPC or Classic. Boolean value, Default is false.
	// Associate a public IP address with an instance in a VPC or Classic. Boolean value, Default is false.
	AllocatePublicIP *bool `json:"allocatePublicIp,omitempty" tf:"allocate_public_ip,omitempty"`

	// The available zone for the CVM instance.
	// The available zone for the CVM instance.
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// bandwidth package id. if user is standard user, then the bandwidth_package_id is needed, or default has bandwidth_package_id.
	// bandwidth package id. if user is standard user, then the bandwidth_package_id is needed, or default has bandwidth_package_id.
	BandwidthPackageID *string `json:"bandwidthPackageId,omitempty" tf:"bandwidth_package_id,omitempty"`

	// CAM role name authorized to access.
	// CAM role name authorized to access.
	CamRoleName *string `json:"camRoleName,omitempty" tf:"cam_role_name,omitempty"`

	// Disable enhance service for monitor, it is enabled by default. When this options is set, monitor agent won't be installed. Modifying will cause the instance reset.
	// Disable enhance service for monitor, it is enabled by default. When this options is set, monitor agent won't be installed. Modifying will cause the instance reset.
	DisableMonitorService *bool `json:"disableMonitorService,omitempty" tf:"disable_monitor_service,omitempty"`

	// Disable enhance service for security, it is enabled by default. When this options is set, security agent won't be installed. Modifying will cause the instance reset.
	// Disable enhance service for security, it is enabled by default. When this options is set, security agent won't be installed. Modifying will cause the instance reset.
	DisableSecurityService *bool `json:"disableSecurityService,omitempty" tf:"disable_security_service,omitempty"`

	// instance ids list to exclude.
	// instance ids list to exclude.
	// +listType=set
	ExcludeInstanceIds []*string `json:"excludeInstanceIds,omitempty" tf:"exclude_instance_ids,omitempty"`

	// The hostname of the instance. Windows instance: The name should be a combination of 2 to 15 characters comprised of letters (case insensitive), numbers, and hyphens (-). Period (.) is not supported, and the name cannot be a string of pure numbers. Other types (such as Linux) of instances: The name should be a combination of 2 to 60 characters, supporting multiple periods (.). The piece between two periods is composed of letters (case insensitive), numbers, and hyphens (-). Modifying will cause the instance reset.
	// The hostname of the instance. Windows instance: The name should be a combination of 2 to 15 characters comprised of letters (case insensitive), numbers, and hyphens (-). Period (.) is not supported, and the name cannot be a string of pure numbers. Other types (such as Linux) of instances: The name should be a combination of 2 to 60 characters, supporting multiple periods (.). The piece between two periods is composed of letters (case insensitive), numbers, and hyphens (-). Modifying will cause the instance reset.
	Hostname *string `json:"hostname,omitempty" tf:"hostname,omitempty"`

	// The image to use for the instance. Changing image_id will cause the instance reset.
	// The image to use for the instance. Changing `image_id` will cause the instance reset.
	ImageID *string `json:"imageId,omitempty" tf:"image_id,omitempty"`

	// The charge type of instance. Only support POSTPAID_BY_HOUR.
	// The charge type of instance. Only support `POSTPAID_BY_HOUR`.
	InstanceChargeType *string `json:"instanceChargeType,omitempty" tf:"instance_charge_type,omitempty"`

	// The number of instances to be purchased. Value range:[1,100]; default value: 1.
	// The number of instances to be purchased. Value range:[1,100]; default value: 1.
	InstanceCount *float64 `json:"instanceCount,omitempty" tf:"instance_count,omitempty"`

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

	// The type of the instance.
	// The type of the instance.
	InstanceType *string `json:"instanceType,omitempty" tf:"instance_type,omitempty"`

	// Internet charge type of the instance, Valid values are BANDWIDTH_PREPAID, TRAFFIC_POSTPAID_BY_HOUR, BANDWIDTH_POSTPAID_BY_HOUR and BANDWIDTH_PACKAGE. This value does not need to be set when allocate_public_ip is false.
	// Internet charge type of the instance, Valid values are `BANDWIDTH_PREPAID`, `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. This value does not need to be set when `allocate_public_ip` is false.
	InternetChargeType *string `json:"internetChargeType,omitempty" tf:"internet_charge_type,omitempty"`

	// Maximum outgoing bandwidth to the public network, measured in Mbps (Mega bits per second). This value does not need to be set when allocate_public_ip is false.
	// Maximum outgoing bandwidth to the public network, measured in Mbps (Mega bits per second). This value does not need to be set when `allocate_public_ip` is false.
	InternetMaxBandwidthOut *float64 `json:"internetMaxBandwidthOut,omitempty" tf:"internet_max_bandwidth_out,omitempty"`

	// Whether to keep image login or not, default is false. When the image type is private or shared or imported, this parameter can be set true. Modifying will cause the instance reset.
	// Whether to keep image login or not, default is `false`. When the image type is private or shared or imported, this parameter can be set `true`. Modifying will cause the instance reset.
	KeepImageLogin *bool `json:"keepImageLogin,omitempty" tf:"keep_image_login,omitempty"`

	// The key pair to use for the instance, it looks like skey-16jig7tx. Modifying will cause the instance reset.
	// The key pair to use for the instance, it looks like `skey-16jig7tx`. Modifying will cause the instance reset.
	KeyName *string `json:"keyName,omitempty" tf:"key_name,omitempty"`

	// The ID of a placement group.
	// The ID of a placement group.
	PlacementGroupID *string `json:"placementGroupId,omitempty" tf:"placement_group_id,omitempty"`

	// The private IP to be assigned to this instance, must be in the provided subnet and available.
	// The private IP to be assigned to this instance, must be in the provided subnet and available.
	PrivateIP *string `json:"privateIp,omitempty" tf:"private_ip,omitempty"`

	// The project the instance belongs to, default to 0.
	// The project the instance belongs to, default to 0.
	ProjectID *float64 `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// A list of security group IDs to associate with.
	// A list of security group IDs to associate with.
	// +listType=set
	SecurityGroups []*string `json:"securityGroups,omitempty" tf:"security_groups,omitempty"`

	// The ID of a VPC subnet. If you want to create instances in a VPC network, this parameter must be set.
	// The ID of a VPC subnet. If you want to create instances in a VPC network, this parameter must be 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:"-"`

	// System disk snapshot ID used to initialize the system disk. When system disk type is LOCAL_BASIC and LOCAL_SSD, disk id is not supported.
	// System disk snapshot ID used to initialize the system disk. When system disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported.
	SystemDiskID *string `json:"systemDiskId,omitempty" tf:"system_disk_id,omitempty"`

	// Size of the system disk. Valid value ranges: (50~1000). and unit is GB. Default is 50GB. If modified, the instance may force stop.
	// Size of the system disk. Valid value ranges: (50~1000). and unit is GB. Default is 50GB. If modified, the instance may force stop.
	SystemDiskSize *float64 `json:"systemDiskSize,omitempty" tf:"system_disk_size,omitempty"`

	// System disk type. For more information on limits of system disk types, see Storage Overview. Valid values: LOCAL_BASIC: local disk, LOCAL_SSD: local SSD disk, CLOUD_SSD: SSD, CLOUD_PREMIUM: Premium Cloud Storage, CLOUD_BSSD: Basic SSD. NOTE: If modified, the instance may force stop.
	// System disk type. For more information on limits of system disk types, see [Storage Overview](https://intl.cloud.tencent.com/document/product/213/4952). Valid values: `LOCAL_BASIC`: local disk, `LOCAL_SSD`: local SSD disk, `CLOUD_SSD`: SSD, `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_BSSD`: Basic SSD. NOTE: If modified, the instance may force stop.
	SystemDiskType *string `json:"systemDiskType,omitempty" tf:"system_disk_type,omitempty"`

	// The user data to be injected into this instance. Must be base64 encoded and up to 16 KB.
	// The user data to be injected into this instance. Must be base64 encoded and up to 16 KB.
	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`

	// The user data to be injected into this instance, in plain text. Conflicts with user_data. Up to 16 KB after base64 encoded.
	// The user data to be injected into this instance, in plain text. Conflicts with `user_data`. Up to 16 KB after base64 encoded.
	UserDataRaw *string `json:"userDataRaw,omitempty" tf:"user_data_raw,omitempty"`

	// The ID of a VPC network. If you want to create instances in a VPC network, this parameter must be set.
	// The ID of a VPC network. If you want to create instances in a VPC network, this parameter must be set.
	// +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:"-"`
}

func (*InstanceSetInitParameters) DeepCopy added in v0.8.0

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

func (*InstanceSetInitParameters) DeepCopyInto added in v0.8.0

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

type InstanceSetList added in v0.3.0

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

InstanceSetList contains a list of InstanceSets

func (*InstanceSetList) DeepCopy added in v0.3.0

func (in *InstanceSetList) DeepCopy() *InstanceSetList

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

func (*InstanceSetList) DeepCopyInto added in v0.3.0

func (in *InstanceSetList) DeepCopyInto(out *InstanceSetList)

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

func (*InstanceSetList) DeepCopyObject added in v0.3.0

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

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

func (*InstanceSetList) GetItems added in v0.3.0

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

GetItems of this InstanceSetList.

type InstanceSetObservation added in v0.3.0

type InstanceSetObservation struct {

	// Associate a public IP address with an instance in a VPC or Classic. Boolean value, Default is false.
	// Associate a public IP address with an instance in a VPC or Classic. Boolean value, Default is false.
	AllocatePublicIP *bool `json:"allocatePublicIp,omitempty" tf:"allocate_public_ip,omitempty"`

	// The available zone for the CVM instance.
	// The available zone for the CVM instance.
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// bandwidth package id. if user is standard user, then the bandwidth_package_id is needed, or default has bandwidth_package_id.
	// bandwidth package id. if user is standard user, then the bandwidth_package_id is needed, or default has bandwidth_package_id.
	BandwidthPackageID *string `json:"bandwidthPackageId,omitempty" tf:"bandwidth_package_id,omitempty"`

	// CAM role name authorized to access.
	// CAM role name authorized to access.
	CamRoleName *string `json:"camRoleName,omitempty" tf:"cam_role_name,omitempty"`

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

	// Disable enhance service for monitor, it is enabled by default. When this options is set, monitor agent won't be installed. Modifying will cause the instance reset.
	// Disable enhance service for monitor, it is enabled by default. When this options is set, monitor agent won't be installed. Modifying will cause the instance reset.
	DisableMonitorService *bool `json:"disableMonitorService,omitempty" tf:"disable_monitor_service,omitempty"`

	// Disable enhance service for security, it is enabled by default. When this options is set, security agent won't be installed. Modifying will cause the instance reset.
	// Disable enhance service for security, it is enabled by default. When this options is set, security agent won't be installed. Modifying will cause the instance reset.
	DisableSecurityService *bool `json:"disableSecurityService,omitempty" tf:"disable_security_service,omitempty"`

	// instance ids list to exclude.
	// instance ids list to exclude.
	// +listType=set
	ExcludeInstanceIds []*string `json:"excludeInstanceIds,omitempty" tf:"exclude_instance_ids,omitempty"`

	// Expired time of the instance.
	// Expired time of the instance.
	ExpiredTime *string `json:"expiredTime,omitempty" tf:"expired_time,omitempty"`

	// The hostname of the instance. Windows instance: The name should be a combination of 2 to 15 characters comprised of letters (case insensitive), numbers, and hyphens (-). Period (.) is not supported, and the name cannot be a string of pure numbers. Other types (such as Linux) of instances: The name should be a combination of 2 to 60 characters, supporting multiple periods (.). The piece between two periods is composed of letters (case insensitive), numbers, and hyphens (-). Modifying will cause the instance reset.
	// The hostname of the instance. Windows instance: The name should be a combination of 2 to 15 characters comprised of letters (case insensitive), numbers, and hyphens (-). Period (.) is not supported, and the name cannot be a string of pure numbers. Other types (such as Linux) of instances: The name should be a combination of 2 to 60 characters, supporting multiple periods (.). The piece between two periods is composed of letters (case insensitive), numbers, and hyphens (-). Modifying will cause the instance reset.
	Hostname *string `json:"hostname,omitempty" tf:"hostname,omitempty"`

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

	// The image to use for the instance. Changing image_id will cause the instance reset.
	// The image to use for the instance. Changing `image_id` will cause the instance reset.
	ImageID *string `json:"imageId,omitempty" tf:"image_id,omitempty"`

	// The charge type of instance. Only support POSTPAID_BY_HOUR.
	// The charge type of instance. Only support `POSTPAID_BY_HOUR`.
	InstanceChargeType *string `json:"instanceChargeType,omitempty" tf:"instance_charge_type,omitempty"`

	// The number of instances to be purchased. Value range:[1,100]; default value: 1.
	// The number of instances to be purchased. Value range:[1,100]; default value: 1.
	InstanceCount *float64 `json:"instanceCount,omitempty" tf:"instance_count,omitempty"`

	// instance id list.
	// instance id list.
	InstanceIds []*string `json:"instanceIds,omitempty" tf:"instance_ids,omitempty"`

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

	// Current status of the instance.
	// Current status of the instance.
	InstanceStatus *string `json:"instanceStatus,omitempty" tf:"instance_status,omitempty"`

	// The type of the instance.
	// The type of the instance.
	InstanceType *string `json:"instanceType,omitempty" tf:"instance_type,omitempty"`

	// Internet charge type of the instance, Valid values are BANDWIDTH_PREPAID, TRAFFIC_POSTPAID_BY_HOUR, BANDWIDTH_POSTPAID_BY_HOUR and BANDWIDTH_PACKAGE. This value does not need to be set when allocate_public_ip is false.
	// Internet charge type of the instance, Valid values are `BANDWIDTH_PREPAID`, `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. This value does not need to be set when `allocate_public_ip` is false.
	InternetChargeType *string `json:"internetChargeType,omitempty" tf:"internet_charge_type,omitempty"`

	// Maximum outgoing bandwidth to the public network, measured in Mbps (Mega bits per second). This value does not need to be set when allocate_public_ip is false.
	// Maximum outgoing bandwidth to the public network, measured in Mbps (Mega bits per second). This value does not need to be set when `allocate_public_ip` is false.
	InternetMaxBandwidthOut *float64 `json:"internetMaxBandwidthOut,omitempty" tf:"internet_max_bandwidth_out,omitempty"`

	// Whether to keep image login or not, default is false. When the image type is private or shared or imported, this parameter can be set true. Modifying will cause the instance reset.
	// Whether to keep image login or not, default is `false`. When the image type is private or shared or imported, this parameter can be set `true`. Modifying will cause the instance reset.
	KeepImageLogin *bool `json:"keepImageLogin,omitempty" tf:"keep_image_login,omitempty"`

	// The key pair to use for the instance, it looks like skey-16jig7tx. Modifying will cause the instance reset.
	// The key pair to use for the instance, it looks like `skey-16jig7tx`. Modifying will cause the instance reset.
	KeyName *string `json:"keyName,omitempty" tf:"key_name,omitempty"`

	// The ID of a placement group.
	// The ID of a placement group.
	PlacementGroupID *string `json:"placementGroupId,omitempty" tf:"placement_group_id,omitempty"`

	// The private IP to be assigned to this instance, must be in the provided subnet and available.
	// The private IP to be assigned to this instance, must be in the provided subnet and available.
	PrivateIP *string `json:"privateIp,omitempty" tf:"private_ip,omitempty"`

	// The project the instance belongs to, default to 0.
	// The project the instance belongs to, default to 0.
	ProjectID *float64 `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// Public IP of the instance.
	// Public IP of the instance.
	PublicIP *string `json:"publicIp,omitempty" tf:"public_ip,omitempty"`

	// A list of security group IDs to associate with.
	// A list of security group IDs to associate with.
	// +listType=set
	SecurityGroups []*string `json:"securityGroups,omitempty" tf:"security_groups,omitempty"`

	// The ID of a VPC subnet. If you want to create instances in a VPC network, this parameter must be set.
	// The ID of a VPC subnet. If you want to create instances in a VPC network, this parameter must be set.
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// System disk snapshot ID used to initialize the system disk. When system disk type is LOCAL_BASIC and LOCAL_SSD, disk id is not supported.
	// System disk snapshot ID used to initialize the system disk. When system disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported.
	SystemDiskID *string `json:"systemDiskId,omitempty" tf:"system_disk_id,omitempty"`

	// Size of the system disk. Valid value ranges: (50~1000). and unit is GB. Default is 50GB. If modified, the instance may force stop.
	// Size of the system disk. Valid value ranges: (50~1000). and unit is GB. Default is 50GB. If modified, the instance may force stop.
	SystemDiskSize *float64 `json:"systemDiskSize,omitempty" tf:"system_disk_size,omitempty"`

	// System disk type. For more information on limits of system disk types, see Storage Overview. Valid values: LOCAL_BASIC: local disk, LOCAL_SSD: local SSD disk, CLOUD_SSD: SSD, CLOUD_PREMIUM: Premium Cloud Storage, CLOUD_BSSD: Basic SSD. NOTE: If modified, the instance may force stop.
	// System disk type. For more information on limits of system disk types, see [Storage Overview](https://intl.cloud.tencent.com/document/product/213/4952). Valid values: `LOCAL_BASIC`: local disk, `LOCAL_SSD`: local SSD disk, `CLOUD_SSD`: SSD, `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_BSSD`: Basic SSD. NOTE: If modified, the instance may force stop.
	SystemDiskType *string `json:"systemDiskType,omitempty" tf:"system_disk_type,omitempty"`

	// The user data to be injected into this instance. Must be base64 encoded and up to 16 KB.
	// The user data to be injected into this instance. Must be base64 encoded and up to 16 KB.
	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`

	// The user data to be injected into this instance, in plain text. Conflicts with user_data. Up to 16 KB after base64 encoded.
	// The user data to be injected into this instance, in plain text. Conflicts with `user_data`. Up to 16 KB after base64 encoded.
	UserDataRaw *string `json:"userDataRaw,omitempty" tf:"user_data_raw,omitempty"`

	// The ID of a VPC network. If you want to create instances in a VPC network, this parameter must be set.
	// The ID of a VPC network. If you want to create instances in a VPC network, this parameter must be set.
	VPCID *string `json:"vpcId,omitempty" tf:"vpc_id,omitempty"`
}

func (*InstanceSetObservation) DeepCopy added in v0.3.0

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

func (*InstanceSetObservation) DeepCopyInto added in v0.3.0

func (in *InstanceSetObservation) DeepCopyInto(out *InstanceSetObservation)

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

type InstanceSetParameters added in v0.3.0

type InstanceSetParameters struct {

	// Associate a public IP address with an instance in a VPC or Classic. Boolean value, Default is false.
	// Associate a public IP address with an instance in a VPC or Classic. Boolean value, Default is false.
	// +kubebuilder:validation:Optional
	AllocatePublicIP *bool `json:"allocatePublicIp,omitempty" tf:"allocate_public_ip,omitempty"`

	// The available zone for the CVM instance.
	// The available zone for the CVM instance.
	// +kubebuilder:validation:Optional
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// bandwidth package id. if user is standard user, then the bandwidth_package_id is needed, or default has bandwidth_package_id.
	// bandwidth package id. if user is standard user, then the bandwidth_package_id is needed, or default has bandwidth_package_id.
	// +kubebuilder:validation:Optional
	BandwidthPackageID *string `json:"bandwidthPackageId,omitempty" tf:"bandwidth_package_id,omitempty"`

	// CAM role name authorized to access.
	// CAM role name authorized to access.
	// +kubebuilder:validation:Optional
	CamRoleName *string `json:"camRoleName,omitempty" tf:"cam_role_name,omitempty"`

	// Disable enhance service for monitor, it is enabled by default. When this options is set, monitor agent won't be installed. Modifying will cause the instance reset.
	// Disable enhance service for monitor, it is enabled by default. When this options is set, monitor agent won't be installed. Modifying will cause the instance reset.
	// +kubebuilder:validation:Optional
	DisableMonitorService *bool `json:"disableMonitorService,omitempty" tf:"disable_monitor_service,omitempty"`

	// Disable enhance service for security, it is enabled by default. When this options is set, security agent won't be installed. Modifying will cause the instance reset.
	// Disable enhance service for security, it is enabled by default. When this options is set, security agent won't be installed. Modifying will cause the instance reset.
	// +kubebuilder:validation:Optional
	DisableSecurityService *bool `json:"disableSecurityService,omitempty" tf:"disable_security_service,omitempty"`

	// instance ids list to exclude.
	// instance ids list to exclude.
	// +kubebuilder:validation:Optional
	// +listType=set
	ExcludeInstanceIds []*string `json:"excludeInstanceIds,omitempty" tf:"exclude_instance_ids,omitempty"`

	// The hostname of the instance. Windows instance: The name should be a combination of 2 to 15 characters comprised of letters (case insensitive), numbers, and hyphens (-). Period (.) is not supported, and the name cannot be a string of pure numbers. Other types (such as Linux) of instances: The name should be a combination of 2 to 60 characters, supporting multiple periods (.). The piece between two periods is composed of letters (case insensitive), numbers, and hyphens (-). Modifying will cause the instance reset.
	// The hostname of the instance. Windows instance: The name should be a combination of 2 to 15 characters comprised of letters (case insensitive), numbers, and hyphens (-). Period (.) is not supported, and the name cannot be a string of pure numbers. Other types (such as Linux) of instances: The name should be a combination of 2 to 60 characters, supporting multiple periods (.). The piece between two periods is composed of letters (case insensitive), numbers, and hyphens (-). Modifying will cause the instance reset.
	// +kubebuilder:validation:Optional
	Hostname *string `json:"hostname,omitempty" tf:"hostname,omitempty"`

	// The image to use for the instance. Changing image_id will cause the instance reset.
	// The image to use for the instance. Changing `image_id` will cause the instance reset.
	// +kubebuilder:validation:Optional
	ImageID *string `json:"imageId,omitempty" tf:"image_id,omitempty"`

	// The charge type of instance. Only support POSTPAID_BY_HOUR.
	// The charge type of instance. Only support `POSTPAID_BY_HOUR`.
	// +kubebuilder:validation:Optional
	InstanceChargeType *string `json:"instanceChargeType,omitempty" tf:"instance_charge_type,omitempty"`

	// The number of instances to be purchased. Value range:[1,100]; default value: 1.
	// The number of instances to be purchased. Value range:[1,100]; default value: 1.
	// +kubebuilder:validation:Optional
	InstanceCount *float64 `json:"instanceCount,omitempty" tf:"instance_count,omitempty"`

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

	// The type of the instance.
	// The type of the instance.
	// +kubebuilder:validation:Optional
	InstanceType *string `json:"instanceType,omitempty" tf:"instance_type,omitempty"`

	// Internet charge type of the instance, Valid values are BANDWIDTH_PREPAID, TRAFFIC_POSTPAID_BY_HOUR, BANDWIDTH_POSTPAID_BY_HOUR and BANDWIDTH_PACKAGE. This value does not need to be set when allocate_public_ip is false.
	// Internet charge type of the instance, Valid values are `BANDWIDTH_PREPAID`, `TRAFFIC_POSTPAID_BY_HOUR`, `BANDWIDTH_POSTPAID_BY_HOUR` and `BANDWIDTH_PACKAGE`. This value does not need to be set when `allocate_public_ip` is false.
	// +kubebuilder:validation:Optional
	InternetChargeType *string `json:"internetChargeType,omitempty" tf:"internet_charge_type,omitempty"`

	// Maximum outgoing bandwidth to the public network, measured in Mbps (Mega bits per second). This value does not need to be set when allocate_public_ip is false.
	// Maximum outgoing bandwidth to the public network, measured in Mbps (Mega bits per second). This value does not need to be set when `allocate_public_ip` is false.
	// +kubebuilder:validation:Optional
	InternetMaxBandwidthOut *float64 `json:"internetMaxBandwidthOut,omitempty" tf:"internet_max_bandwidth_out,omitempty"`

	// Whether to keep image login or not, default is false. When the image type is private or shared or imported, this parameter can be set true. Modifying will cause the instance reset.
	// Whether to keep image login or not, default is `false`. When the image type is private or shared or imported, this parameter can be set `true`. Modifying will cause the instance reset.
	// +kubebuilder:validation:Optional
	KeepImageLogin *bool `json:"keepImageLogin,omitempty" tf:"keep_image_login,omitempty"`

	// The key pair to use for the instance, it looks like skey-16jig7tx. Modifying will cause the instance reset.
	// The key pair to use for the instance, it looks like `skey-16jig7tx`. Modifying will cause the instance reset.
	// +kubebuilder:validation:Optional
	KeyName *string `json:"keyName,omitempty" tf:"key_name,omitempty"`

	// Password for the instance. In order for the new password to take effect, the instance will be restarted after the password change. Modifying will cause the instance reset.
	// Password for the instance. In order for the new password to take effect, the instance will be restarted after the password change. Modifying will cause the instance reset.
	// +kubebuilder:validation:Optional
	PasswordSecretRef *v1.SecretKeySelector `json:"passwordSecretRef,omitempty" tf:"-"`

	// The ID of a placement group.
	// The ID of a placement group.
	// +kubebuilder:validation:Optional
	PlacementGroupID *string `json:"placementGroupId,omitempty" tf:"placement_group_id,omitempty"`

	// The private IP to be assigned to this instance, must be in the provided subnet and available.
	// The private IP to be assigned to this instance, must be in the provided subnet and available.
	// +kubebuilder:validation:Optional
	PrivateIP *string `json:"privateIp,omitempty" tf:"private_ip,omitempty"`

	// The project the instance belongs to, default to 0.
	// The project the instance belongs to, default to 0.
	// +kubebuilder:validation:Optional
	ProjectID *float64 `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// A list of security group IDs to associate with.
	// A list of security group IDs to associate with.
	// +kubebuilder:validation:Optional
	// +listType=set
	SecurityGroups []*string `json:"securityGroups,omitempty" tf:"security_groups,omitempty"`

	// The ID of a VPC subnet. If you want to create instances in a VPC network, this parameter must be set.
	// The ID of a VPC subnet. If you want to create instances in a VPC network, this parameter must be 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:"-"`

	// System disk snapshot ID used to initialize the system disk. When system disk type is LOCAL_BASIC and LOCAL_SSD, disk id is not supported.
	// System disk snapshot ID used to initialize the system disk. When system disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported.
	// +kubebuilder:validation:Optional
	SystemDiskID *string `json:"systemDiskId,omitempty" tf:"system_disk_id,omitempty"`

	// Size of the system disk. Valid value ranges: (50~1000). and unit is GB. Default is 50GB. If modified, the instance may force stop.
	// Size of the system disk. Valid value ranges: (50~1000). and unit is GB. Default is 50GB. If modified, the instance may force stop.
	// +kubebuilder:validation:Optional
	SystemDiskSize *float64 `json:"systemDiskSize,omitempty" tf:"system_disk_size,omitempty"`

	// System disk type. For more information on limits of system disk types, see Storage Overview. Valid values: LOCAL_BASIC: local disk, LOCAL_SSD: local SSD disk, CLOUD_SSD: SSD, CLOUD_PREMIUM: Premium Cloud Storage, CLOUD_BSSD: Basic SSD. NOTE: If modified, the instance may force stop.
	// System disk type. For more information on limits of system disk types, see [Storage Overview](https://intl.cloud.tencent.com/document/product/213/4952). Valid values: `LOCAL_BASIC`: local disk, `LOCAL_SSD`: local SSD disk, `CLOUD_SSD`: SSD, `CLOUD_PREMIUM`: Premium Cloud Storage, `CLOUD_BSSD`: Basic SSD. NOTE: If modified, the instance may force stop.
	// +kubebuilder:validation:Optional
	SystemDiskType *string `json:"systemDiskType,omitempty" tf:"system_disk_type,omitempty"`

	// The user data to be injected into this instance. Must be base64 encoded and up to 16 KB.
	// The user data to be injected into this instance. Must be base64 encoded and up to 16 KB.
	// +kubebuilder:validation:Optional
	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`

	// The user data to be injected into this instance, in plain text. Conflicts with user_data. Up to 16 KB after base64 encoded.
	// The user data to be injected into this instance, in plain text. Conflicts with `user_data`. Up to 16 KB after base64 encoded.
	// +kubebuilder:validation:Optional
	UserDataRaw *string `json:"userDataRaw,omitempty" tf:"user_data_raw,omitempty"`

	// The ID of a VPC network. If you want to create instances in a VPC network, this parameter must be set.
	// The ID of a VPC network. If you want to create instances in a VPC network, this parameter must be set.
	// +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:"-"`
}

func (*InstanceSetParameters) DeepCopy added in v0.3.0

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

func (*InstanceSetParameters) DeepCopyInto added in v0.3.0

func (in *InstanceSetParameters) DeepCopyInto(out *InstanceSetParameters)

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

type InstanceSetSpec added in v0.3.0

type InstanceSetSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     InstanceSetParameters `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 InstanceSetInitParameters `json:"initProvider,omitempty"`
}

InstanceSetSpec defines the desired state of InstanceSet

func (*InstanceSetSpec) DeepCopy added in v0.3.0

func (in *InstanceSetSpec) DeepCopy() *InstanceSetSpec

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

func (*InstanceSetSpec) DeepCopyInto added in v0.3.0

func (in *InstanceSetSpec) DeepCopyInto(out *InstanceSetSpec)

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

type InstanceSetStatus added in v0.3.0

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

InstanceSetStatus defines the observed state of InstanceSet.

func (*InstanceSetStatus) DeepCopy added in v0.3.0

func (in *InstanceSetStatus) DeepCopy() *InstanceSetStatus

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

func (*InstanceSetStatus) DeepCopyInto added in v0.3.0

func (in *InstanceSetStatus) DeepCopyInto(out *InstanceSetStatus)

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 KeyPair added in v0.3.0

type KeyPair 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.keyName) || (has(self.initProvider) && has(self.initProvider.keyName))",message="spec.forProvider.keyName is a required parameter"
	Spec   KeyPairSpec   `json:"spec"`
	Status KeyPairStatus `json:"status,omitempty"`
}

KeyPair is the Schema for the KeyPairs API. Provides a key pair resource. +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 (*KeyPair) DeepCopy added in v0.3.0

func (in *KeyPair) DeepCopy() *KeyPair

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

func (*KeyPair) DeepCopyInto added in v0.3.0

func (in *KeyPair) DeepCopyInto(out *KeyPair)

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

func (*KeyPair) DeepCopyObject added in v0.3.0

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

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

func (*KeyPair) GetCondition added in v0.3.0

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

GetCondition of this KeyPair.

func (*KeyPair) GetConnectionDetailsMapping added in v0.3.0

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

GetConnectionDetailsMapping for this KeyPair

func (*KeyPair) GetDeletionPolicy added in v0.3.0

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

GetDeletionPolicy of this KeyPair.

func (*KeyPair) GetID added in v0.3.0

func (tr *KeyPair) GetID() string

GetID returns ID of underlying Terraform resource of this KeyPair

func (*KeyPair) GetInitParameters added in v0.8.0

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

GetInitParameters of this KeyPair

func (*KeyPair) GetManagementPolicies added in v0.8.0

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

GetManagementPolicies of this KeyPair.

func (*KeyPair) GetMergedParameters added in v0.8.1

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

GetInitParameters of this KeyPair

func (*KeyPair) GetObservation added in v0.3.0

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

GetObservation of this KeyPair

func (*KeyPair) GetParameters added in v0.3.0

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

GetParameters of this KeyPair

func (*KeyPair) GetProviderConfigReference added in v0.3.0

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

GetProviderConfigReference of this KeyPair.

func (*KeyPair) GetPublishConnectionDetailsTo added in v0.3.0

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

GetPublishConnectionDetailsTo of this KeyPair.

func (*KeyPair) GetTerraformResourceType added in v0.3.0

func (mg *KeyPair) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this KeyPair

func (*KeyPair) GetTerraformSchemaVersion added in v0.3.0

func (tr *KeyPair) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*KeyPair) GetWriteConnectionSecretToReference added in v0.3.0

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

GetWriteConnectionSecretToReference of this KeyPair.

func (*KeyPair) Hub added in v0.8.1

func (tr *KeyPair) Hub()

Hub marks this type as a conversion hub.

func (*KeyPair) LateInitialize added in v0.3.0

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

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

func (*KeyPair) SetConditions added in v0.3.0

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

SetConditions of this KeyPair.

func (*KeyPair) SetDeletionPolicy added in v0.3.0

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

SetDeletionPolicy of this KeyPair.

func (*KeyPair) SetManagementPolicies added in v0.8.0

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

SetManagementPolicies of this KeyPair.

func (*KeyPair) SetObservation added in v0.3.0

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

SetObservation for this KeyPair

func (*KeyPair) SetParameters added in v0.3.0

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

SetParameters for this KeyPair

func (*KeyPair) SetProviderConfigReference added in v0.3.0

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

SetProviderConfigReference of this KeyPair.

func (*KeyPair) SetPublishConnectionDetailsTo added in v0.3.0

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

SetPublishConnectionDetailsTo of this KeyPair.

func (*KeyPair) SetWriteConnectionSecretToReference added in v0.3.0

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

SetWriteConnectionSecretToReference of this KeyPair.

type KeyPairInitParameters added in v0.8.0

type KeyPairInitParameters struct {

	// The key pair's name. It is the only in one TencentCloud account.
	// The key pair's name. It is the only in one TencentCloud account.
	KeyName *string `json:"keyName,omitempty" tf:"key_name,omitempty"`

	// Specifys to which project the key pair belongs.
	// Specifys to which project the key pair belongs.
	ProjectID *float64 `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// You can import an existing public key and using TencentCloud key pair to manage it.
	// You can import an existing public key and using TencentCloud key pair to manage it.
	PublicKey *string `json:"publicKey,omitempty" tf:"public_key,omitempty"`

	// Tags of the key pair.
	// Tags of the key pair.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`
}

func (*KeyPairInitParameters) DeepCopy added in v0.8.0

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

func (*KeyPairInitParameters) DeepCopyInto added in v0.8.0

func (in *KeyPairInitParameters) DeepCopyInto(out *KeyPairInitParameters)

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

type KeyPairList added in v0.3.0

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

KeyPairList contains a list of KeyPairs

func (*KeyPairList) DeepCopy added in v0.3.0

func (in *KeyPairList) DeepCopy() *KeyPairList

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

func (*KeyPairList) DeepCopyInto added in v0.3.0

func (in *KeyPairList) DeepCopyInto(out *KeyPairList)

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

func (*KeyPairList) DeepCopyObject added in v0.3.0

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

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

func (*KeyPairList) GetItems added in v0.3.0

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

GetItems of this KeyPairList.

type KeyPairObservation added in v0.3.0

type KeyPairObservation struct {

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

	// The key pair's name. It is the only in one TencentCloud account.
	// The key pair's name. It is the only in one TencentCloud account.
	KeyName *string `json:"keyName,omitempty" tf:"key_name,omitempty"`

	// Specifys to which project the key pair belongs.
	// Specifys to which project the key pair belongs.
	ProjectID *float64 `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// You can import an existing public key and using TencentCloud key pair to manage it.
	// You can import an existing public key and using TencentCloud key pair to manage it.
	PublicKey *string `json:"publicKey,omitempty" tf:"public_key,omitempty"`

	// Tags of the key pair.
	// Tags of the key pair.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`
}

func (*KeyPairObservation) DeepCopy added in v0.3.0

func (in *KeyPairObservation) DeepCopy() *KeyPairObservation

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

func (*KeyPairObservation) DeepCopyInto added in v0.3.0

func (in *KeyPairObservation) DeepCopyInto(out *KeyPairObservation)

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

type KeyPairParameters added in v0.3.0

type KeyPairParameters struct {

	// The key pair's name. It is the only in one TencentCloud account.
	// The key pair's name. It is the only in one TencentCloud account.
	// +kubebuilder:validation:Optional
	KeyName *string `json:"keyName,omitempty" tf:"key_name,omitempty"`

	// Specifys to which project the key pair belongs.
	// Specifys to which project the key pair belongs.
	// +kubebuilder:validation:Optional
	ProjectID *float64 `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// You can import an existing public key and using TencentCloud key pair to manage it.
	// You can import an existing public key and using TencentCloud key pair to manage it.
	// +kubebuilder:validation:Optional
	PublicKey *string `json:"publicKey,omitempty" tf:"public_key,omitempty"`

	// Tags of the key pair.
	// Tags of the key pair.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`
}

func (*KeyPairParameters) DeepCopy added in v0.3.0

func (in *KeyPairParameters) DeepCopy() *KeyPairParameters

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

func (*KeyPairParameters) DeepCopyInto added in v0.3.0

func (in *KeyPairParameters) DeepCopyInto(out *KeyPairParameters)

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

type KeyPairSpec added in v0.3.0

type KeyPairSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     KeyPairParameters `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 KeyPairInitParameters `json:"initProvider,omitempty"`
}

KeyPairSpec defines the desired state of KeyPair

func (*KeyPairSpec) DeepCopy added in v0.3.0

func (in *KeyPairSpec) DeepCopy() *KeyPairSpec

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

func (*KeyPairSpec) DeepCopyInto added in v0.3.0

func (in *KeyPairSpec) DeepCopyInto(out *KeyPairSpec)

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

type KeyPairStatus added in v0.3.0

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

KeyPairStatus defines the observed state of KeyPair.

func (*KeyPairStatus) DeepCopy added in v0.3.0

func (in *KeyPairStatus) DeepCopy() *KeyPairStatus

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

func (*KeyPairStatus) DeepCopyInto added in v0.3.0

func (in *KeyPairStatus) DeepCopyInto(out *KeyPairStatus)

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

type PlacementGroup added in v0.3.0

type PlacementGroup 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.name) || (has(self.initProvider) && has(self.initProvider.name))",message="spec.forProvider.name is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.type) || (has(self.initProvider) && has(self.initProvider.type))",message="spec.forProvider.type is a required parameter"
	Spec   PlacementGroupSpec   `json:"spec"`
	Status PlacementGroupStatus `json:"status,omitempty"`
}

PlacementGroup is the Schema for the PlacementGroups API. Provide a resource to create a placement group. +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 (*PlacementGroup) DeepCopy added in v0.3.0

func (in *PlacementGroup) DeepCopy() *PlacementGroup

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

func (*PlacementGroup) DeepCopyInto added in v0.3.0

func (in *PlacementGroup) DeepCopyInto(out *PlacementGroup)

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

func (*PlacementGroup) DeepCopyObject added in v0.3.0

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

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

func (*PlacementGroup) GetCondition added in v0.3.0

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

GetCondition of this PlacementGroup.

func (*PlacementGroup) GetConnectionDetailsMapping added in v0.3.0

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

GetConnectionDetailsMapping for this PlacementGroup

func (*PlacementGroup) GetDeletionPolicy added in v0.3.0

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

GetDeletionPolicy of this PlacementGroup.

func (*PlacementGroup) GetID added in v0.3.0

func (tr *PlacementGroup) GetID() string

GetID returns ID of underlying Terraform resource of this PlacementGroup

func (*PlacementGroup) GetInitParameters added in v0.8.0

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

GetInitParameters of this PlacementGroup

func (*PlacementGroup) GetManagementPolicies added in v0.8.0

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

GetManagementPolicies of this PlacementGroup.

func (*PlacementGroup) GetMergedParameters added in v0.8.1

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

GetInitParameters of this PlacementGroup

func (*PlacementGroup) GetObservation added in v0.3.0

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

GetObservation of this PlacementGroup

func (*PlacementGroup) GetParameters added in v0.3.0

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

GetParameters of this PlacementGroup

func (*PlacementGroup) GetProviderConfigReference added in v0.3.0

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

GetProviderConfigReference of this PlacementGroup.

func (*PlacementGroup) GetPublishConnectionDetailsTo added in v0.3.0

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

GetPublishConnectionDetailsTo of this PlacementGroup.

func (*PlacementGroup) GetTerraformResourceType added in v0.3.0

func (mg *PlacementGroup) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this PlacementGroup

func (*PlacementGroup) GetTerraformSchemaVersion added in v0.3.0

func (tr *PlacementGroup) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*PlacementGroup) GetWriteConnectionSecretToReference added in v0.3.0

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

GetWriteConnectionSecretToReference of this PlacementGroup.

func (*PlacementGroup) Hub added in v0.8.1

func (tr *PlacementGroup) Hub()

Hub marks this type as a conversion hub.

func (*PlacementGroup) LateInitialize added in v0.3.0

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

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

func (*PlacementGroup) SetConditions added in v0.3.0

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

SetConditions of this PlacementGroup.

func (*PlacementGroup) SetDeletionPolicy added in v0.3.0

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

SetDeletionPolicy of this PlacementGroup.

func (*PlacementGroup) SetManagementPolicies added in v0.8.0

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

SetManagementPolicies of this PlacementGroup.

func (*PlacementGroup) SetObservation added in v0.3.0

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

SetObservation for this PlacementGroup

func (*PlacementGroup) SetParameters added in v0.3.0

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

SetParameters for this PlacementGroup

func (*PlacementGroup) SetProviderConfigReference added in v0.3.0

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

SetProviderConfigReference of this PlacementGroup.

func (*PlacementGroup) SetPublishConnectionDetailsTo added in v0.3.0

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

SetPublishConnectionDetailsTo of this PlacementGroup.

func (*PlacementGroup) SetWriteConnectionSecretToReference added in v0.3.0

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

SetWriteConnectionSecretToReference of this PlacementGroup.

type PlacementGroupInitParameters added in v0.8.0

type PlacementGroupInitParameters struct {

	// Name of the placement group, 1-60 characters in length.
	// Name of the placement group, 1-60 characters in length.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Type of the placement group. Valid values: HOST, SW and RACK.
	// Type of the placement group. Valid values: `HOST`, `SW` and `RACK`.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*PlacementGroupInitParameters) DeepCopy added in v0.8.0

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

func (*PlacementGroupInitParameters) DeepCopyInto added in v0.8.0

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

type PlacementGroupList added in v0.3.0

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

PlacementGroupList contains a list of PlacementGroups

func (*PlacementGroupList) DeepCopy added in v0.3.0

func (in *PlacementGroupList) DeepCopy() *PlacementGroupList

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

func (*PlacementGroupList) DeepCopyInto added in v0.3.0

func (in *PlacementGroupList) DeepCopyInto(out *PlacementGroupList)

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

func (*PlacementGroupList) DeepCopyObject added in v0.3.0

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

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

func (*PlacementGroupList) GetItems added in v0.3.0

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

GetItems of this PlacementGroupList.

type PlacementGroupObservation added in v0.3.0

type PlacementGroupObservation struct {

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

	// Number of hosts in the placement group.
	// Number of hosts in the placement group.
	CurrentNum *float64 `json:"currentNum,omitempty" tf:"current_num,omitempty"`

	// Maximum number of hosts in the placement group.
	// Maximum number of hosts in the placement group.
	CvmQuotaTotal *float64 `json:"cvmQuotaTotal,omitempty" tf:"cvm_quota_total,omitempty"`

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

	// Name of the placement group, 1-60 characters in length.
	// Name of the placement group, 1-60 characters in length.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Type of the placement group. Valid values: HOST, SW and RACK.
	// Type of the placement group. Valid values: `HOST`, `SW` and `RACK`.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*PlacementGroupObservation) DeepCopy added in v0.3.0

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

func (*PlacementGroupObservation) DeepCopyInto added in v0.3.0

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

type PlacementGroupParameters added in v0.3.0

type PlacementGroupParameters struct {

	// Name of the placement group, 1-60 characters in length.
	// Name of the placement group, 1-60 characters in length.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Type of the placement group. Valid values: HOST, SW and RACK.
	// Type of the placement group. Valid values: `HOST`, `SW` and `RACK`.
	// +kubebuilder:validation:Optional
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*PlacementGroupParameters) DeepCopy added in v0.3.0

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

func (*PlacementGroupParameters) DeepCopyInto added in v0.3.0

func (in *PlacementGroupParameters) DeepCopyInto(out *PlacementGroupParameters)

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

type PlacementGroupSpec added in v0.3.0

type PlacementGroupSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     PlacementGroupParameters `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 PlacementGroupInitParameters `json:"initProvider,omitempty"`
}

PlacementGroupSpec defines the desired state of PlacementGroup

func (*PlacementGroupSpec) DeepCopy added in v0.3.0

func (in *PlacementGroupSpec) DeepCopy() *PlacementGroupSpec

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

func (*PlacementGroupSpec) DeepCopyInto added in v0.3.0

func (in *PlacementGroupSpec) DeepCopyInto(out *PlacementGroupSpec)

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

type PlacementGroupStatus added in v0.3.0

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

PlacementGroupStatus defines the observed state of PlacementGroup.

func (*PlacementGroupStatus) DeepCopy added in v0.3.0

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

func (*PlacementGroupStatus) DeepCopyInto added in v0.3.0

func (in *PlacementGroupStatus) DeepCopyInto(out *PlacementGroupStatus)

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

type ReservedInstance added in v0.3.0

type ReservedInstance 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.configId) || (has(self.initProvider) && has(self.initProvider.configId))",message="spec.forProvider.configId is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.instanceCount) || (has(self.initProvider) && has(self.initProvider.instanceCount))",message="spec.forProvider.instanceCount is a required parameter"
	Spec   ReservedInstanceSpec   `json:"spec"`
	Status ReservedInstanceStatus `json:"status,omitempty"`
}

ReservedInstance is the Schema for the ReservedInstances API. Provides a reserved instance resource. +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 (*ReservedInstance) DeepCopy added in v0.3.0

func (in *ReservedInstance) DeepCopy() *ReservedInstance

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

func (*ReservedInstance) DeepCopyInto added in v0.3.0

func (in *ReservedInstance) DeepCopyInto(out *ReservedInstance)

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

func (*ReservedInstance) DeepCopyObject added in v0.3.0

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

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

func (*ReservedInstance) GetCondition added in v0.3.0

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

GetCondition of this ReservedInstance.

func (*ReservedInstance) GetConnectionDetailsMapping added in v0.3.0

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

GetConnectionDetailsMapping for this ReservedInstance

func (*ReservedInstance) GetDeletionPolicy added in v0.3.0

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

GetDeletionPolicy of this ReservedInstance.

func (*ReservedInstance) GetID added in v0.3.0

func (tr *ReservedInstance) GetID() string

GetID returns ID of underlying Terraform resource of this ReservedInstance

func (*ReservedInstance) GetInitParameters added in v0.8.0

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

GetInitParameters of this ReservedInstance

func (*ReservedInstance) GetManagementPolicies added in v0.8.0

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

GetManagementPolicies of this ReservedInstance.

func (*ReservedInstance) GetMergedParameters added in v0.8.1

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

GetInitParameters of this ReservedInstance

func (*ReservedInstance) GetObservation added in v0.3.0

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

GetObservation of this ReservedInstance

func (*ReservedInstance) GetParameters added in v0.3.0

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

GetParameters of this ReservedInstance

func (*ReservedInstance) GetProviderConfigReference added in v0.3.0

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

GetProviderConfigReference of this ReservedInstance.

func (*ReservedInstance) GetPublishConnectionDetailsTo added in v0.3.0

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

GetPublishConnectionDetailsTo of this ReservedInstance.

func (*ReservedInstance) GetTerraformResourceType added in v0.3.0

func (mg *ReservedInstance) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this ReservedInstance

func (*ReservedInstance) GetTerraformSchemaVersion added in v0.3.0

func (tr *ReservedInstance) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*ReservedInstance) GetWriteConnectionSecretToReference added in v0.3.0

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

GetWriteConnectionSecretToReference of this ReservedInstance.

func (*ReservedInstance) Hub added in v0.8.1

func (tr *ReservedInstance) Hub()

Hub marks this type as a conversion hub.

func (*ReservedInstance) LateInitialize added in v0.3.0

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

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

func (*ReservedInstance) SetConditions added in v0.3.0

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

SetConditions of this ReservedInstance.

func (*ReservedInstance) SetDeletionPolicy added in v0.3.0

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

SetDeletionPolicy of this ReservedInstance.

func (*ReservedInstance) SetManagementPolicies added in v0.8.0

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

SetManagementPolicies of this ReservedInstance.

func (*ReservedInstance) SetObservation added in v0.3.0

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

SetObservation for this ReservedInstance

func (*ReservedInstance) SetParameters added in v0.3.0

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

SetParameters for this ReservedInstance

func (*ReservedInstance) SetProviderConfigReference added in v0.3.0

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

SetProviderConfigReference of this ReservedInstance.

func (*ReservedInstance) SetPublishConnectionDetailsTo added in v0.3.0

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

SetPublishConnectionDetailsTo of this ReservedInstance.

func (*ReservedInstance) SetWriteConnectionSecretToReference added in v0.3.0

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

SetWriteConnectionSecretToReference of this ReservedInstance.

type ReservedInstanceInitParameters added in v0.8.0

type ReservedInstanceInitParameters struct {

	// Configuration ID of the reserved instance.
	// Configuration ID of the reserved instance.
	ConfigID *string `json:"configId,omitempty" tf:"config_id,omitempty"`

	// Number of reserved instances to be purchased.
	// Number of reserved instances to be purchased.
	InstanceCount *float64 `json:"instanceCount,omitempty" tf:"instance_count,omitempty"`

	// Reserved Instance display name.
	// - If you do not specify an instance display name, 'Unnamed' is displayed by default.
	// - Up to 60 characters (including pattern strings) are supported.
	// Reserved Instance display name.
	// - If you do not specify an instance display name, 'Unnamed' is displayed by default.
	// - Up to 60 characters (including pattern strings) are supported.
	ReservedInstanceName *string `json:"reservedInstanceName,omitempty" tf:"reserved_instance_name,omitempty"`
}

func (*ReservedInstanceInitParameters) DeepCopy added in v0.8.0

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

func (*ReservedInstanceInitParameters) DeepCopyInto added in v0.8.0

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

type ReservedInstanceList added in v0.3.0

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

ReservedInstanceList contains a list of ReservedInstances

func (*ReservedInstanceList) DeepCopy added in v0.3.0

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

func (*ReservedInstanceList) DeepCopyInto added in v0.3.0

func (in *ReservedInstanceList) DeepCopyInto(out *ReservedInstanceList)

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

func (*ReservedInstanceList) DeepCopyObject added in v0.3.0

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

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

func (*ReservedInstanceList) GetItems added in v0.3.0

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

GetItems of this ReservedInstanceList.

type ReservedInstanceObservation added in v0.3.0

type ReservedInstanceObservation struct {

	// Configuration ID of the reserved instance.
	// Configuration ID of the reserved instance.
	ConfigID *string `json:"configId,omitempty" tf:"config_id,omitempty"`

	// Expiry time of the RI.
	// Expiry time of the RI.
	EndTime *string `json:"endTime,omitempty" tf:"end_time,omitempty"`

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

	// Number of reserved instances to be purchased.
	// Number of reserved instances to be purchased.
	InstanceCount *float64 `json:"instanceCount,omitempty" tf:"instance_count,omitempty"`

	// Reserved Instance display name.
	// - If you do not specify an instance display name, 'Unnamed' is displayed by default.
	// - Up to 60 characters (including pattern strings) are supported.
	// Reserved Instance display name.
	// - If you do not specify an instance display name, 'Unnamed' is displayed by default.
	// - Up to 60 characters (including pattern strings) are supported.
	ReservedInstanceName *string `json:"reservedInstanceName,omitempty" tf:"reserved_instance_name,omitempty"`

	// Start time of the RI.
	// Start time of the RI.
	StartTime *string `json:"startTime,omitempty" tf:"start_time,omitempty"`

	// Status of the RI at the time of purchase.
	// Status of the RI at the time of purchase.
	Status *string `json:"status,omitempty" tf:"status,omitempty"`
}

func (*ReservedInstanceObservation) DeepCopy added in v0.3.0

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

func (*ReservedInstanceObservation) DeepCopyInto added in v0.3.0

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

type ReservedInstanceParameters added in v0.3.0

type ReservedInstanceParameters struct {

	// Configuration ID of the reserved instance.
	// Configuration ID of the reserved instance.
	// +kubebuilder:validation:Optional
	ConfigID *string `json:"configId,omitempty" tf:"config_id,omitempty"`

	// Number of reserved instances to be purchased.
	// Number of reserved instances to be purchased.
	// +kubebuilder:validation:Optional
	InstanceCount *float64 `json:"instanceCount,omitempty" tf:"instance_count,omitempty"`

	// Reserved Instance display name.
	// - If you do not specify an instance display name, 'Unnamed' is displayed by default.
	// - Up to 60 characters (including pattern strings) are supported.
	// Reserved Instance display name.
	// - If you do not specify an instance display name, 'Unnamed' is displayed by default.
	// - Up to 60 characters (including pattern strings) are supported.
	// +kubebuilder:validation:Optional
	ReservedInstanceName *string `json:"reservedInstanceName,omitempty" tf:"reserved_instance_name,omitempty"`
}

func (*ReservedInstanceParameters) DeepCopy added in v0.3.0

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

func (*ReservedInstanceParameters) DeepCopyInto added in v0.3.0

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

type ReservedInstanceSpec added in v0.3.0

type ReservedInstanceSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     ReservedInstanceParameters `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 ReservedInstanceInitParameters `json:"initProvider,omitempty"`
}

ReservedInstanceSpec defines the desired state of ReservedInstance

func (*ReservedInstanceSpec) DeepCopy added in v0.3.0

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

func (*ReservedInstanceSpec) DeepCopyInto added in v0.3.0

func (in *ReservedInstanceSpec) DeepCopyInto(out *ReservedInstanceSpec)

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

type ReservedInstanceStatus added in v0.3.0

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

ReservedInstanceStatus defines the observed state of ReservedInstance.

func (*ReservedInstanceStatus) DeepCopy added in v0.3.0

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

func (*ReservedInstanceStatus) DeepCopyInto added in v0.3.0

func (in *ReservedInstanceStatus) DeepCopyInto(out *ReservedInstanceStatus)

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