scaling

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 NewCtyunScaling

func NewCtyunScaling() resource.Resource

func NewCtyunScalingActivities

func NewCtyunScalingActivities() datasource.DataSource

func NewCtyunScalingConfig

func NewCtyunScalingConfig() resource.Resource

func NewCtyunScalingConfigs

func NewCtyunScalingConfigs() datasource.DataSource

func NewCtyunScalingEcsList

func NewCtyunScalingEcsList() datasource.DataSource

func NewCtyunScalingEcsProtection

func NewCtyunScalingEcsProtection() resource.Resource

func NewCtyunScalingPolicies

func NewCtyunScalingPolicies() datasource.DataSource

func NewCtyunScalingPolicy

func NewCtyunScalingPolicy() resource.Resource

func NewCtyunScalings

func NewCtyunScalings() datasource.DataSource

Types

type CtyunLbInfoModel

type CtyunLbInfoModel struct {
	Port        types.Int32  `tfsdk:"port"`          // 端口号
	LbID        types.String `tfsdk:"lb_id"`         // 负载均衡ID
	Weight      types.Int32  `tfsdk:"weight"`        // 权重
	HostGroupID types.String `tfsdk:"host_group_id"` // 后端主机组ID
}

LbInfo 负载均衡信息

type CtyunScalingActivities

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

func (*CtyunScalingActivities) Configure

func (*CtyunScalingActivities) Metadata

func (*CtyunScalingActivities) Read

func (*CtyunScalingActivities) Schema

type CtyunScalingActivitiesConfig

type CtyunScalingActivitiesConfig struct {
	RegionID          types.String           `tfsdk:"region_id"`          // 资源池ID
	GroupID           types.Int64            `tfsdk:"group_id"`           // 伸缩组ID
	ActiveIDs         types.Set              `tfsdk:"active_ids"`         // 待查询伸缩活动ID列表
	StartTime         types.Int64            `tfsdk:"start_time"`         // 开始时间 (Unix时间戳,秒级)
	EndTime           types.Int64            `tfsdk:"end_time"`           // 结束时间 (Unix时间戳,秒级)
	PageNo            types.Int32            `tfsdk:"page_no"`            // 页码
	PageSize          types.Int32            `tfsdk:"page_size"`          // 每页行数
	ScalingActivities []scalingActivityModel `tfsdk:"scaling_activities"` // 伸缩活动列表
}

type CtyunScalingActivityInstance

type CtyunScalingActivityInstance struct {
	InstanceID   types.String `tfsdk:"instance_id"`   // 云主机ID
	InstanceName types.String `tfsdk:"instance_name"` // 云主机名称
}

CtyunScalingActivityInstance 伸缩活动涉及的实例

type CtyunScalingConfig

type CtyunScalingConfig struct {
	RegionID            types.String `tfsdk:"region_id"`              // 资源池ID
	SecurityGroupIDList types.Set    `tfsdk:"security_group_id_list"` // 安全组ID列表
	Name                types.String `tfsdk:"name"`                   // 伸缩组名称
	HealthMode          types.String `tfsdk:"health_mode"`            // 健康检查方式
	SubnetIDList        types.Set    `tfsdk:"subnet_id_list"`         // 子网ID列表
	MoveOutStrategy     types.String `tfsdk:"move_out_strategy"`      // 实例移出策略
	UseLb               types.Int32  `tfsdk:"use_lb"`                 // 是否使用负载均衡
	VpcID               types.String `tfsdk:"vpc_id"`                 // 虚拟私有云ID
	MinCount            types.Int32  `tfsdk:"min_count"`              // 最小云主机数
	MaxCount            types.Int32  `tfsdk:"max_count"`              // 最大云主机数
	ExpectedCount       types.Int32  `tfsdk:"expected_count"`         // 期望云主机数
	RealCount           types.Int32  `tfsdk:"real_count"`             // 当前云主机数
	HealthPeriod        types.Int32  `tfsdk:"health_period"`          // 健康检查时间间隔
	LbList              types.List   `tfsdk:"lb_list"`                // 负载均衡列表
	ProjectID           types.String `tfsdk:"project_id"`             // 企业项目ID
	ConfigList          types.Set    `tfsdk:"config_list"`            // 伸缩配置ID列表
	AzStrategy          types.String `tfsdk:"az_strategy"`            // 扩容策略类型
	ID                  types.Int64  `tfsdk:"id"`                     // 伸缩组ID
	Status              types.String `tfsdk:"status"`                 // 伸缩组状态
	DeleteProtection    types.String `tfsdk:"delete_protection"`      // 控制伸缩组保护开关
	//InstanceUUIDList       types.Set    `tfsdk:"instance_uuid_list"`        // 云主机ID列表
	AddInstanceUUIDList    types.Set `tfsdk:"add_instance_uuid_list"`    // 需要手动添加的云主机列表
	RemoveInstanceUUIDList types.Set `tfsdk:"remove_instance_uuid_list"` // 需要手动移除的云主机列表
	//ProtectStatus          types.String `tfsdk:"protect_status"`            // 保护状态。1:已保护。2:未保护。
	IsDestroy types.Bool `tfsdk:"is_destroy"` // 移除时是否销毁
}

type CtyunScalingConfigInfo

type CtyunScalingConfigInfo struct {
	ID             types.Int32  `tfsdk:"id"`              // 伸缩配置ID
	Name           types.String `tfsdk:"name"`            // 伸缩配置名称
	RegionID       types.String `tfsdk:"region_id"`       // 资源池ID
	Visibility     types.String `tfsdk:"visibility"`      // 镜像类型。 取值范围:  1:公有镜像; 0:私有镜像
	ImageName      types.String `tfsdk:"image_name"`      // 镜像名称
	ImageID        types.String `tfsdk:"image_id"`        // 镜像ID
	Cpu            types.Int32  `tfsdk:"cpu"`             // CPU核数
	Memory         types.Int32  `tfsdk:"memory"`          // 内存,单位:G
	FlavorName     types.String `tfsdk:"flavor_name"`     // 规格名称
	OsType         types.String `tfsdk:"os_type"`         // 镜像系统类型。 取值范围: Linux ; Windows
	Volumes        types.List   `tfsdk:"volumes"`         // 磁盘类型和大小列表
	UseFloatings   types.String `tfsdk:"use_floatings"`   // 是否使用弹性IP
	BandWidth      types.Int32  `tfsdk:"bandwidth"`       // 弹性IP带宽
	LoginMode      types.String `tfsdk:"login_mode"`      // 登录方式
	Username       types.String `tfsdk:"username"`        // 用户名
	Tags           types.List   `tfsdk:"tags"`            // 标签集
	AzNames        types.String `tfsdk:"az_names"`        // 可用区列表
	MonitorService types.Bool   `tfsdk:"monitor_service"` // 是否开启详细监控
	KeyPairID      types.String `tfsdk:"key_pair_id"`     //
	Password       types.String `tfsdk:"password"`
}

type CtyunScalingConfigModel

type CtyunScalingConfigModel struct {
	RegionID types.String `tfsdk:"region_id"` // 资源池ID
	Name     types.String `tfsdk:"name"`      // 伸缩配置名称
	ImageID  types.String `tfsdk:"image_id"`  // 镜像ID
	//SecurityGroupIDList types.Set    `tfsdk:"security_group_id_list"` // 安全组ID列表
	FlavorName     types.String `tfsdk:"flavor_name"`     // 规格名称
	Volumes        types.List   `tfsdk:"volumes"`         // 磁盘类型和大小列表
	UseFloatings   types.String `tfsdk:"use_floatings"`   // 是否使用弹性IP
	BandWidth      types.Int32  `tfsdk:"bandwidth"`       // 弹性IP带宽
	LoginMode      types.String `tfsdk:"login_mode"`      // 登录方式
	Username       types.String `tfsdk:"username"`        // 用户名
	Password       types.String `tfsdk:"password"`        // 密码
	KeyPairID      types.String `tfsdk:"key_pair_id"`     // 密钥对ID
	Tags           types.List   `tfsdk:"tags"`            // 标签集
	AzNames        types.Set    `tfsdk:"az_names"`        // 可用区列表
	MonitorService types.Bool   `tfsdk:"monitor_service"` // 是否开启详细监控
	ID             types.Int64  `tfsdk:"id"`              // 伸缩配置ID
}

type CtyunScalingConfigs

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

func (*CtyunScalingConfigs) Configure

func (*CtyunScalingConfigs) Metadata

func (*CtyunScalingConfigs) Read

func (*CtyunScalingConfigs) Schema

type CtyunScalingConfigsModel

type CtyunScalingConfigsModel struct {
	RegionID          types.String             `tfsdk:"region_id"` // 资源池ID
	ID                types.Int64              `tfsdk:"id"`        // 伸缩配置ID
	PageSize          types.Int32              `tfsdk:"page_size"` // 每页包含的元素个数范围(1-50),默认值为10
	PageNo            types.Int32              `tfsdk:"page_no"`   // 列表的分页页码,默认值为1
	ScalingConfigList []CtyunScalingConfigInfo `tfsdk:"scaling_config_list"`
}

type CtyunScalingEcsList

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

func (*CtyunScalingEcsList) Configure

func (*CtyunScalingEcsList) Metadata

func (*CtyunScalingEcsList) Read

func (*CtyunScalingEcsList) Schema

type CtyunScalingEcsListConfig

type CtyunScalingEcsListConfig struct {
	RegionID types.String               `tfsdk:"region_id"` // 资源池ID
	GroupID  types.Int64                `tfsdk:"group_id"`  // 伸缩组ID
	PageNo   types.Int32                `tfsdk:"page_no"`   // 页码
	PageSize types.Int32                `tfsdk:"page_size"` // 分页查询时设置的每页行数,取值范围:[1~100],默认值为10
	EcsList  []CtyunScalingEcsListModel `tfsdk:"ecs_list"`  // ecs列表
}

type CtyunScalingEcsListModel

type CtyunScalingEcsListModel struct {
	InstanceID    types.String `tfsdk:"instance_id"`    // 云主机ID
	RegionID      types.String `tfsdk:"region_id"`      // 资源池ID
	GroupID       types.Int64  `tfsdk:"group_id"`       // 伸缩组ID
	AzName        types.String `tfsdk:"az_name"`        // 实例所在的可用区
	ProjectID     types.String `tfsdk:"project_id"`     // 企业项目ID
	CreateDate    types.String `tfsdk:"create_date"`    // 创建时间
	ID            types.Int64  `tfsdk:"id"`             // 实例ID
	Status        types.String `tfsdk:"status"`         // 伸缩活动状态
	InstanceName  types.String `tfsdk:"instance_name"`  // 云主机名称
	ExecutionMode types.String `tfsdk:"execution_mode"` // 执行方式
	HealthStatus  types.String `tfsdk:"health_status"`  // 健康检查状态
	ConfigName    types.String `tfsdk:"config_name"`    // 伸缩配置名称
	ConfigID      types.Int64  `tfsdk:"config_id"`      // 伸缩配置ID
	ActiveID      types.Int64  `tfsdk:"active_id"`      // 伸缩活动ID
	ProtectStatus types.String `tfsdk:"protect_status"` // 保护状态
	JoinDate      types.String `tfsdk:"join_date"`      // 加入时间
}

CtyunScalingActivityInstance 伸缩活动实例

type CtyunScalingEcsProtectionConfig

type CtyunScalingEcsProtectionConfig struct {
	RegionID       types.String `tfsdk:"region_id"`
	GroupID        types.Int64  `tfsdk:"group_id"`
	InstanceIDList types.Set    `tfsdk:"instance_id_list"`
	ProtectStatus  types.Bool   `tfsdk:"protect_status"`
}

type CtyunScalingPolicies

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

func (*CtyunScalingPolicies) Configure

func (*CtyunScalingPolicies) Metadata

func (*CtyunScalingPolicies) Read

func (*CtyunScalingPolicies) Schema

type CtyunScalingPoliciesConfig

type CtyunScalingPoliciesConfig struct {
	RegionID        types.String             `tfsdk:"region_id"`        // 资源池ID
	GroupID         types.Int64              `tfsdk:"group_id"`         // 伸缩组ID
	PageNo          types.Int32              `tfsdk:"page_no"`          // 页码
	PageSize        types.Int32              `tfsdk:"page_size"`        // 分页查询时设置的每页行数,取值范围:[1~100],默认值为10
	ScalingPolicies []CtyunScalingPolicyList `tfsdk:"scaling_policies"` // 弹性伸缩策略列表
}

type CtyunScalingPolicyConfig

type CtyunScalingPolicyConfig struct {
	RegionID                      types.String `tfsdk:"region_id"`                         // 资源池id
	GroupID                       types.Int64  `tfsdk:"group_id"`                          // 伸缩组ID
	Name                          types.String `tfsdk:"name"`                              // 伸缩策略名称
	PolicyType                    types.String `tfsdk:"policy_type"`                       // 策略类型
	OperateUnit                   types.String `tfsdk:"operate_unit"`                      // 操作单位
	OperateCount                  types.Int32  `tfsdk:"operate_count"`                     // 调整值
	Action                        types.String `tfsdk:"action"`                            // 执行动作
	Cycle                         types.String `tfsdk:"cycle"`                             // 循环方式
	Day                           types.Set    `tfsdk:"day"`                               // 执行日期
	EffectiveFrom                 types.String `tfsdk:"effective_from"`                    // 生效开始时间
	EffectiveTill                 types.String `tfsdk:"effective_till"`                    // 生效截止时间
	ExecutionTime                 types.String `tfsdk:"execution_time"`                    // 执行时间
	Cooldown                      types.Int32  `tfsdk:"cooldown"`                          // 冷却/预热时间
	TriggerName                   types.String `tfsdk:"trigger_name"`                      // 告警策略-告警规则名称
	TriggerMetricName             types.String `tfsdk:"trigger_metric_name"`               // 告警策略-监控指标名称
	TriggerStatistics             types.String `tfsdk:"trigger_statistics"`                // 告警策略-聚合方法
	TriggerComparisonOperator     types.String `tfsdk:"trigger_comparison_operator"`       // 告警策略-比较符
	TriggerThreshold              types.Int32  `tfsdk:"trigger_threshold"`                 // 告警策略-阈值
	TriggerPeriod                 types.String `tfsdk:"trigger_period"`                    // 告警策略-监控周期
	TriggerEvaluationCount        types.Int32  `tfsdk:"trigger_evaluation_count"`          // 告警策略-连续出现次数
	TargetMetricName              types.String `tfsdk:"target_metric_name"`                // 目标追踪策略-监控指标名称
	TargetValue                   types.Int32  `tfsdk:"target_value"`                      // 目标追踪策略-追踪目标值
	TargetScaleOutEvaluationCount types.Int32  `tfsdk:"target_scale_out_evaluation_count"` // 目标追踪策略-扩容连续告警次数
	TargetScaleInEvaluationCount  types.Int32  `tfsdk:"target_scale_in_evaluation_count"`  // 目标追踪策略-缩容连续告警次数
	TargetOperateRange            types.Int32  `tfsdk:"target_operate_range"`              // 目标追踪策略-缩容波动范围
	TargetDisableScaleIn          types.Bool   `tfsdk:"target_disable_scale_in"`           // 目标追踪策略-是否禁用缩容
	ID                            types.Int64  `tfsdk:"id"`                                // 弹性伸缩策略id
	Status                        types.String `tfsdk:"status"`                            // 策略状态
	IsExecute                     types.Bool   `tfsdk:"is_execute"`                        // 是否执行当前的伸缩策略
}

type CtyunScalingPolicyList

type CtyunScalingPolicyList struct {
	RuleID                        types.Int64  `tfsdk:"rule_id"`                           // 伸缩策略ID
	Name                          types.String `tfsdk:"name"`                              // 伸缩策略名称
	PolicyType                    types.String `tfsdk:"policy_type"`                       // 策略类型: 1-告警, 2-定时, 3-周期, 4-目标追踪
	Status                        types.String `tfsdk:"status"`                            // 启用状态: 1-启用, 2-停用
	Action                        types.String `tfsdk:"action"`                            // 执行动作: 1-增加, 2-减少, 3-设置为
	OperateCount                  types.Int32  `tfsdk:"operate_count"`                     // 调整值
	OperateUnit                   types.String `tfsdk:"operate_unit"`                      // 操作单位: 1-个数, 2-百分比
	Cooldown                      types.Int32  `tfsdk:"cooldown"`                          // 冷却时间或预热时间 (秒)
	ExecutionTime                 types.String `tfsdk:"execution_time"`                    // 触发时间
	Cycle                         types.String `tfsdk:"cycle"`                             // 循环方式: 1-按月循环, 2-按周循环, 3-按天循环
	EffectiveFrom                 types.String `tfsdk:"effective_from"`                    // 周期策略生效开始时间
	EffectiveTill                 types.String `tfsdk:"effective_till"`                    // 周期策略生效截止时间
	Day                           types.Set    `tfsdk:"day"`                               // 执行日期 (列表)
	GroupID                       types.Int32  `tfsdk:"group_id"`                          // 伸缩组ID
	ProjectID                     types.String `tfsdk:"project_id"`                        // 企业项目ID
	CreateDate                    types.String `tfsdk:"create_date"`                       // 创建时间
	UpdateDate                    types.String `tfsdk:"update_date"`                       // 更新时间
	TriggerID                     types.String `tfsdk:"trigger_id"`                        // 告警规则ID
	TriggerName                   types.String `tfsdk:"trigger_name"`                      // 告警规则名称
	TriggerMetricName             types.String `tfsdk:"trigger_metric_name"`               // 监控指标名称
	TriggerStatistics             types.String `tfsdk:"trigger_statistics"`                // 聚合方法
	TriggerComparisonOperator     types.String `tfsdk:"trigger_comparison_operator"`       // 比较符
	TriggerThreshold              types.Int32  `tfsdk:"trigger_threshold"`                 // 阈值
	TriggerPeriod                 types.String `tfsdk:"trigger_period"`                    // 监控周期
	TriggerEvaluationCount        types.Int32  `tfsdk:"trigger_evaluation_count"`          // 连续出现次数
	TriggerCooldown               types.Int32  `tfsdk:"trigger_cooldown"`                  // 冷却时间 (秒)
	TriggerStatus                 types.Int32  `tfsdk:"trigger_status"`                    // 告警规则状态: 0-启用, 1-停用
	TargetMetricName              types.String `tfsdk:"target_metric_name"`                // 监控指标名称
	TargetValue                   types.Int32  `tfsdk:"target_value"`                      // 追踪目标值
	TargetScaleOutEvaluationCount types.Int32  `tfsdk:"target_scale_out_evaluation_count"` // 扩容连续告警次数
	TargetScaleInEvaluationCount  types.Int32  `tfsdk:"target_scale_in_evaluation_count"`  // 缩容连续告警次数
	TargetOperateRange            types.Int32  `tfsdk:"target_operate_range"`              // 缩容波动范围
	TargetDisableScaleIn          types.Bool   `tfsdk:"target_disable_scale_in"`           // 是否禁用缩容
}

type CtyunScalings

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

func (*CtyunScalings) Configure

func (*CtyunScalings) Metadata

func (c *CtyunScalings) Metadata(ctx context.Context, request datasource.MetadataRequest, response *datasource.MetadataResponse)

func (*CtyunScalings) Read

func (c *CtyunScalings) Read(ctx context.Context, request datasource.ReadRequest, response *datasource.ReadResponse)

func (*CtyunScalings) Schema

func (c *CtyunScalings) Schema(ctx context.Context, request datasource.SchemaRequest, response *datasource.SchemaResponse)

type CtyunScalingsConfig

type CtyunScalingsConfig struct {
	RegionID    types.String         `tfsdk:"region_id"`    // 资源池id
	ID          types.Int64          `tfsdk:"id"`           // 伸缩组id
	ProjectID   types.String         `tfsdk:"project_id"`   // 项目id
	PageNo      types.Int32          `tfsdk:"page_no"`      // 页码
	PageSize    types.Int32          `tfsdk:"page_size"`    // 分页查询时设置的每页行数,取值范围:[1~100],默认值为10
	ScalingList []CtyunScalingsModel `tfsdk:"scaling_list"` // 弹性伸缩列表
}

type CtyunScalingsModel

type CtyunScalingsModel struct {
	ConfigList          types.Set    `tfsdk:"config_list"`            // 伸缩组配置ID列表
	HealthPeriod        types.Int32  `tfsdk:"health_period"`          // 健康检查时间间隔
	MaxCount            types.Int32  `tfsdk:"max_count"`              // 最大云主机数
	MinCount            types.Int32  `tfsdk:"min_count"`              // 最小云主机数
	ExpectedCount       types.Int32  `tfsdk:"expected_count"`         // 期望云主机数
	MoveOutStrategy     types.String `tfsdk:"move_out_strategy"`      // 实例移出策略
	CreateDate          types.String `tfsdk:"create_date"`            // 创建时间
	GroupID             types.Int64  `tfsdk:"group_id"`               // 伸缩组ID
	UpdateDate          types.String `tfsdk:"update_date"`            // 更新时间
	HealthMode          types.String `tfsdk:"health_mode"`            // 健康检查方式
	UseLb               types.Int32  `tfsdk:"use_lb"`                 // 是否使用负载均衡
	SubnetIDList        types.List   `tfsdk:"subnet_id_list"`         // 子网ID列表
	VpcCidr             types.String `tfsdk:"vpc_cidr"`               // 虚拟私有云网段
	Status              types.Int32  `tfsdk:"status"`                 // 伸缩组状态
	VpcName             types.String `tfsdk:"vpc_name"`               // 虚拟私有云名称
	InstanceCount       types.Int32  `tfsdk:"instance_count"`         // 伸缩组包含云主机数量
	ProjectID           types.String `tfsdk:"project_id"`             // 企业项目ID
	Name                types.String `tfsdk:"name"`                   // 伸缩组名称
	SecurityGroupIDList types.Set    `tfsdk:"security_group_id_list"` // 多可用区资源池安全组ID列表
	VpcID               types.String `tfsdk:"vpc_id"`                 // 虚拟私有云ID
	AzStrategy          types.String `tfsdk:"az_strategy"`            // 扩容策略类型
	DeleteProtection    types.Bool   `tfsdk:"delete_protection"`      // 是否开启伸缩组保护
}

type CtyunTagModel

type CtyunTagModel struct {
	Key   types.String `tfsdk:"key"`   // 标签键
	Value types.String `tfsdk:"value"` // 标签值
}

type CtyunVolumesModel

type CtyunVolumesModel struct {
	VolumeType types.String `tfsdk:"volume_type"` // 磁盘类型
	VolumeSize types.Int32  `tfsdk:"volume_size"` // 磁盘大小(GB)
	DiskMode   types.String `tfsdk:"disk_mode"`   // 磁盘模式
	Flag       types.String `tfsdk:"flag"`        // 磁盘类型(1-系统盘,2-数据盘)
}

Jump to

Keyboard shortcuts

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