mongodb

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Sep 26, 2025 License: MPL-2.0 Imports: 31 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewCtyunMongodbAssociationEip

func NewCtyunMongodbAssociationEip() resource.Resource

func NewCtyunMongodbInstance

func NewCtyunMongodbInstance() resource.Resource

func NewCtyunMongodbInstances

func NewCtyunMongodbInstances() datasource.DataSource

Types

type AvailabilityZoneModel

type AvailabilityZoneModel struct {
	AvailabilityZoneName  types.String `tfsdk:"availability_zone_name"`  // 资源池可用区名称
	AvailabilityZoneCount types.Int32  `tfsdk:"availability_zone_count"` // 资源池可用区总数
	NodeType              types.String `tfsdk:"node_type"`               // 表示分布AZ的节点类型,master/slave/readNode
}

type BoundEipModel

type BoundEipModel struct {
	EipID      types.String `tfsdk:"eip_id"`
	Eip        types.String `tfsdk:"eip"`
	BindStatus types.Int32  `tfsdk:"bind_status"`
	Status     types.String `tfsdk:"status"`
	BandWidth  types.Int32  `tfsdk:"band_width"`
}

type CtyunMongodbAssociationEip

type CtyunMongodbAssociationEip struct {
	// contains filtered or unexported fields
}

func (*CtyunMongodbAssociationEip) BindLoop

func (c *CtyunMongodbAssociationEip) BindLoop(ctx context.Context, config *MongodbAssociationEipConfig, loopCount ...int) (err error)

func (*CtyunMongodbAssociationEip) Configure

func (*CtyunMongodbAssociationEip) Create

func (*CtyunMongodbAssociationEip) Delete

func (*CtyunMongodbAssociationEip) ImportState

func (*CtyunMongodbAssociationEip) Metadata

func (*CtyunMongodbAssociationEip) MongodbBindEip

func (c *CtyunMongodbAssociationEip) MongodbBindEip(ctx context.Context, config *MongodbAssociationEipConfig) (err error)

func (*CtyunMongodbAssociationEip) Read

func (*CtyunMongodbAssociationEip) Schema

func (*CtyunMongodbAssociationEip) Update

type CtyunMongodbAssociationEips

type CtyunMongodbAssociationEips struct {
	// contains filtered or unexported fields
}

func NewCtyunMongodbAssociationEips

func NewCtyunMongodbAssociationEips() *CtyunMongodbAssociationEips

func (*CtyunMongodbAssociationEips) Configure

func (*CtyunMongodbAssociationEips) Metadata

func (*CtyunMongodbAssociationEips) Read

func (*CtyunMongodbAssociationEips) Schema

type CtyunMongodbAssociationEipsConfig

type CtyunMongodbAssociationEipsConfig struct {
	RegionID  types.String    `tfsdk:"region_id"`
	InstID    types.String    `tfsdk:"inst_id"`
	EipID     types.String    `tfsdk:"eip_id"`
	ProjectID types.String    `tfsdk:"project_id"`
	Eips      []BoundEipModel `tfsdk:"eips"`
}

type CtyunMongodbInstance

type CtyunMongodbInstance struct {
	// contains filtered or unexported fields
}

func (*CtyunMongodbInstance) Configure

func (*CtyunMongodbInstance) Create

func (*CtyunMongodbInstance) CreateMongodbInstance

func (c *CtyunMongodbInstance) CreateMongodbInstance(ctx context.Context, config *CtyunMongodbInstanceConfig) (err error)

func (*CtyunMongodbInstance) Delete

func (*CtyunMongodbInstance) DeleteLoop

func (c *CtyunMongodbInstance) DeleteLoop(ctx context.Context, config *CtyunMongodbInstanceConfig, loopCount ...int) (err error)

func (*CtyunMongodbInstance) ImportState

func (*CtyunMongodbInstance) ListLoop

func (*CtyunMongodbInstance) Metadata

func (*CtyunMongodbInstance) PostCheckUpdateNameAndSecurityGroupLoop

func (c *CtyunMongodbInstance) PostCheckUpdateNameAndSecurityGroupLoop(ctx context.Context, state *CtyunMongodbInstanceConfig, plan *CtyunMongodbInstanceConfig, loopCount ...int) (err error)

func (*CtyunMongodbInstance) PreCheckUpdateLoop

func (c *CtyunMongodbInstance) PreCheckUpdateLoop(ctx context.Context, state *CtyunMongodbInstanceConfig, loopCount ...int) (ListResp *mongodb.MongodbGetListResponse, err error)

func (*CtyunMongodbInstance) Read

func (*CtyunMongodbInstance) RunningLoop

func (*CtyunMongodbInstance) Schema

func (*CtyunMongodbInstance) Update

func (*CtyunMongodbInstance) UpdatePortLoop

func (c *CtyunMongodbInstance) UpdatePortLoop(ctx context.Context, state *CtyunMongodbInstanceConfig, plan *CtyunMongodbInstanceConfig, loopCount ...int) (err error)

func (*CtyunMongodbInstance) UpgradeLoop

func (c *CtyunMongodbInstance) UpgradeLoop(ctx context.Context, state *CtyunMongodbInstanceConfig, plan *CtyunMongodbInstanceConfig, planNodeInfoList []NodeInfoListModel, loopCount ...int) (err error)

func (*CtyunMongodbInstance) UpgradeStorageLoop

func (c *CtyunMongodbInstance) UpgradeStorageLoop(ctx context.Context, state *CtyunMongodbInstanceConfig, plan *CtyunMongodbInstanceConfig, planNodeInfoList NodeInfoListModel, loopCount ...int) (err error)

type CtyunMongodbInstanceConfig

type CtyunMongodbInstanceConfig struct {
	CycleType               types.String `tfsdk:"cycle_type"`                // 计费模式: 1是包周期,2是按需
	RegionID                types.String `tfsdk:"region_id"`                 // 资源池Id
	VpcID                   types.String `tfsdk:"vpc_id"`                    // 虚拟私有云Id
	FlavorName              types.String `tfsdk:"flavor_name"`               // 规格名称
	SubnetID                types.String `tfsdk:"subnet_id"`                 // 子网Id
	SecurityGroupID         types.String `tfsdk:"security_group_id"`         // 安全组
	Name                    types.String `tfsdk:"name"`                      // 集群名称
	Password                types.String `tfsdk:"password"`                  // 管理员密码(RSA公钥加密)
	CycleCount              types.Int32  `tfsdk:"cycle_count"`               // 购买时长:单位月(范围:1-36)
	AutoRenew               types.Bool   `tfsdk:"auto_renew"`                // 自动续订状态(0-不自动续订,1-自动续订)
	ProdID                  types.String `tfsdk:"prod_id"`                   // 产品id
	ProjectID               types.String `tfsdk:"project_id"`                // 项目ID
	MasterOrderID           types.String `tfsdk:"master_order_id"`           // 订单ID
	ID                      types.String `tfsdk:"id"`                        // 实例ID
	ReadPort                types.Int32  `tfsdk:"read_port"`                 // 读端口
	InnodbBufferPoolSize    types.String `tfsdk:"innodb_buffer_pool_size"`   // 缓存池大小
	InnodbThreadConcurrency types.Int64  `tfsdk:"innodb_thread_concurrency"` // 线程数
	ProdRunningStatus       types.Int32  `tfsdk:"prod_running_status"`       // 实例运行状态: 0->运行正常, 1->重启中, 2-备份操作中,3->恢复操作中,4->转换ssl,5->异常,6->修改参数组中,7->已冻结,8->已注销,9->施工中,10->施工失败,11->扩容中,12->主备切换中
	ProdRunningStatusDesc   types.String `tfsdk:"prod_running_status_desc"`  // prod_running_status的解释版本
	EipID                   types.String `tfsdk:"eip_id"`                    // eip id
	IsUpgradeBackUp         types.Bool   `tfsdk:"is_upgrade_back_up"`        // DDS模块磁盘扩容时候会使用 是否主磁盘与备磁盘一起扩容
	HostIp                  types.String `tfsdk:"host_ip"`                   // 主机ip
	StorageType             types.String `tfsdk:"storage_type"`              // 存储类型
	StorageSpace            types.Int32  `tfsdk:"storage_space"`             // 存储空间
	AvailabilityZoneInfo    types.List   `tfsdk:"availability_zone_info"`    // 节点可用区信息
	ShardNum                types.Int32  `tfsdk:"shard_num"`                 // 当实例为集群版,shard数量
	MongosNum               types.Int32  `tfsdk:"mongos_num"`                // 当实例为集群版,mongos节点数量
	BackupStorageSpace      types.Int32  `tfsdk:"backup_storage_space"`      // 备用节点磁盘空间
	BackupStorageType       types.String `tfsdk:"backup_storage_type"`       // 备份节点存储类型
	UpgradeNodeType         types.String `tfsdk:"upgrade_node_type"`         // 集群版mongodb升配规格时,
	// contains filtered or unexported fields
}

type CtyunMongodbInstanceModel

type CtyunMongodbInstanceModel struct {
	ProdOrderStatus             types.Int32  `tfsdk:"prod_order_status"`              //0->订单正常,1->订单冻结,2->订单注销,3->施工中,4->施工失败
	SubNetID                    types.String `tfsdk:"subnet_id"`                      //子网ID
	MaintainTime                types.String `tfsdk:"maintain_time"`                  //可维护时间
	Subnet                      types.String `tfsdk:"subnet"`                         //子网
	LogStatus                   types.Bool   `tfsdk:"log_status"`                     //实例日志审计状态
	OrderId                     types.Int64  `tfsdk:"order_id"`                       //订单ID
	NetName                     types.String `tfsdk:"net_name"`                       //专有网络
	VersionNum                  types.String `tfsdk:"version_num"`                    //版本号
	SecurityGroupId             types.String `tfsdk:"security_group_id"`              //安全组ID
	ParameterConfigsvrGroupUsed types.String `tfsdk:"parameter_configsvr_group_used"` //参数配置
	DiskSize                    types.Int32  `tfsdk:"disk_size"`                      //存储空间大小
	TplName                     types.String `tfsdk:"tpl_name"`                       //模板名称
	ProdInstSetName             types.String `tfsdk:"prod_inst_set_name"`             //实例对应的SET名
	Released                    types.Bool   `tfsdk:"released"`                       //实例是否已被释放
	SecurityGroup               types.String `tfsdk:"security_group"`                 //安全组
	ProdType                    types.Int32  `tfsdk:"prod_type"`                      //0:单机,2:副本集(三节点),4:副本集(五节点),6:副本集(七节点),10:分片集群
	ExpireTime                  types.Int64  `tfsdk:"expire_time"`                    //到期时间
	ProdInstId                  types.String `tfsdk:"prod_inst_id"`                   //实例id
	ProjectName                 types.String `tfsdk:"project_name"`                   //企业项目名称
	ProjectId                   types.String `tfsdk:"project_id"`                     //企业项目id
	DestroyedTime               types.String `tfsdk:"destroyed_time"`                 //实例销毁时间
	ProdInstFlag                types.String `tfsdk:"prod_inst_flag"`                 //规定为"实例ID 实例名称"
	ProdDbEngine                types.String `tfsdk:"prod_db_engine"`                 //dds数据库产品的版本
	BillMode                    types.Int32  `tfsdk:"bill_mode"`                      //1:包周期计费,2:按需计费
	ProdId                      types.String `tfsdk:"prod_id"`                        //产品表示
	RestoreTime                 types.String `tfsdk:"restore_time"`                   //实例恢复时间
	ProdRunningStatus           types.Int32  `tfsdk:"prod_running_status"`            //实例运行状态:0->运行正常,1->重启中,2->备份操作中,3->恢复操作中,4->转换ssl,5->异常,6->修改参数组中,7->已冻结,8->已注销,9->施工中,10->施工失败,11->扩容中,12->主备切换中
	DiskUsed                    types.String `tfsdk:"disk_used"`                      //磁盘空间
	ParameterGroupUsed          types.String `tfsdk:"parameter_group_used"`           //参数组名称,标明参数组的版本
	VpcId                       types.String `tfsdk:"vpc_id"`                         //vpc网络ID
	InnodbThreadConcurrency     types.Int64  `tfsdk:"innodb_thread_concurrency"`      //线程数
	DiskType                    types.String `tfsdk:"disk_type"`                      //存储类型
	ProdBillType                types.Int32  `tfsdk:"prod_bill_type"`                 //0:按月计费,1:按天计费,2:按年计费,3:按流量计费
	MachineSpec                 types.String `tfsdk:"machine_spec"`                   //CPU内存规格
	ProdInstName                types.String `tfsdk:"prod_inst_name"`                 //实例名称
	InnodbBufferPoolSize        types.String `tfsdk:"innodb_buffer_pool_size"`        //缓存池大小
	UsedSpace                   types.String `tfsdk:"used_space"`                     //已使用空间
	UserId                      types.Int64  `tfsdk:"user_id"`                        //用户id
	ProdBillTime                types.Int32  `tfsdk:"prod_bill_time"`                 //购买时长
	Destroyed                   types.Bool   `tfsdk:"destroyed"`                      //实例是否已经被销毁
	CreateTime                  types.Int64  `tfsdk:"create_time"`                    //创建时间
	TenantId                    types.Int64  `tfsdk:"tenant_id"`                      //租户id
	OuterId                     types.String `tfsdk:"outer_id"`                       //产品ID
	TplCode                     types.String `tfsdk:"tpl_code"`                       //模板编码
	ReadPort                    types.Int32  `tfsdk:"read_port"`                      //读端口
}

type CtyunMongodbInstancesConfig

type CtyunMongodbInstancesConfig struct {
	PageNo           types.Int32                 `tfsdk:"page_no"`        // 当前页,不传默认为1
	PageSize         types.Int32                 `tfsdk:"page_size"`      // 页大小,不传默认为10
	ResDbEngine      types.String                `tfsdk:"res_db_engine"`  // 版本号
	ProdInstName     types.String                `tfsdk:"prod_inst_name"` // 实例名称
	LabelIds         types.String                `tfsdk:"label_ids"`      // 标签id
	RegionID         types.String                `tfsdk:"region_id"`      // 资源池id
	ProjectID        types.String                `tfsdk:"project_id"`     // 项目id
	MongodbInstances []CtyunMongodbInstanceModel `tfsdk:"mongodb_instances"`
}

type CtyunMongodbSpecInfoModel

type CtyunMongodbSpecInfoModel struct {
	ProdId           types.Int64      `tfsdk:"prod_id"`             // 产品id
	ProdCode         types.String     `tfsdk:"prod_code"`           // 产品编码
	ProdSpecName     types.String     `tfsdk:"prod_spec_name"`      // 产品名称
	ProdSpecDesc     types.String     `tfsdk:"prod_spec_desc"`      // 产品描述
	InstanceDesc     types.String     `tfsdk:"instance_desc"`       // 实例描述
	ProdVersion      types.String     `tfsdk:"prod_version"`        // 产品版本
	HostSpec         types.String     `tfsdk:"host_spec"`           // 主机规格
	LvsSpec          types.String     `tfsdk:"lvs_spec"`            // lvs规格
	InstSpecInfoList []InstSpecInfo   `tfsdk:"inst_spec_info_list"` // AZ支持的产品规格信息,以及规格代S6/S7
	ProdHostConfig   []ProdHostConfig `tfsdk:"prod_host_config"`    //host实例
}

type CtyunMongodbSpecs

type CtyunMongodbSpecs struct {
	// contains filtered or unexported fields
}

func NewCtyunMongodbSpecs

func NewCtyunMongodbSpecs() *CtyunMongodbSpecs

func (*CtyunMongodbSpecs) Configure

func (*CtyunMongodbSpecs) Metadata

func (*CtyunMongodbSpecs) Read

func (*CtyunMongodbSpecs) Schema

type CtyunMongodbSpecsConfig

type CtyunMongodbSpecsConfig struct {
	RegionID     types.String                `tfsdk:"region_id"`
	InstanceType types.String                `tfsdk:"instance_type"`
	ProjectID    types.String                `tfsdk:"project_id"`
	Specs        []CtyunMongodbSpecInfoModel `tfsdk:"specs"`
}

type InstSpecInfo

type InstSpecInfo struct {
	SpecId              types.String `tfsdk:"spec_id"`               // 废弃
	ProdPerformanceSpec types.String `tfsdk:"prod_performance_spec"` // 规格名称
	AzList              types.String `tfsdk:"az_list"`               // 该规格支持的AZ列表
	SpecName            types.String `tfsdk:"spec_name"`             // 主机世代完整名称
	CpuType             types.String `tfsdk:"cpu_type"`              // cpu类型
	Generation          types.String `tfsdk:"generation"`            // 主机世代缩写
	MinRate             types.String `tfsdk:"min_rate"`              // 带宽下限
	MaxRate             types.String `tfsdk:"max_rate"`              // 带宽上限
}

type MongodbAssociationEipConfig

type MongodbAssociationEipConfig struct {
	EipID      types.String `tfsdk:"eip_id"`      // 弹性ip id
	InstID     types.String `tfsdk:"inst_id"`     // 实例id
	HostIP     types.String `tfsdk:"host_ip"`     // 主机ip
	ProjectID  types.String `tfsdk:"project_id"`  // 项目id
	RegionID   types.String `tfsdk:"region_id"`   // 资源池id
	EipAddress types.String `tfsdk:"eip_address"` // eip地址
}

type NodeInfoListModel

type NodeInfoListModel struct {
	NodeType             types.String `tfsdk:"node_type"`              // 实例类型:master 或 readNode
	InstanceSeries       types.String `tfsdk:"instance_series"`        // 实例规格(实例类型,1=通用型,2=计算增强型,3=内存优化型,4=直通(未用到))
	StorageType          types.String `tfsdk:"storage_type"`           // 存储类型:SSD, SATA, SAS, SSD-genric, FAST-SSD
	StorageSpace         types.Int32  `tfsdk:"storage_space"`          // 存储空间(单位:GB,范围100到32768)
	ProdPerformanceSpec  types.String `tfsdk:"prod_performance_spec"`  // 规格(例:4C8G)
	AvailabilityZoneInfo types.List   `tfsdk:"availability_zone_info"` // 可用区信息
}

type ProdHostConfig

type ProdHostConfig struct {
	HostTypeName         types.String `tfsdk:"host_type_name"`         // 类型名称
	HostType             types.String `tfsdk:"host_type"`              // 节点类型,当类型为mysql时,取值范围master(主节点)、readnode(只读节点)
	ProdPerformanceSpecs types.String `tfsdk:"prod_performance_specs"` // 支持的性能指标规格列表
	HostDefaultNum       types.Int32  `tfsdk:"host_default_num"`       // 节点默认数量
}

Jump to

Keyboard shortcuts

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