Documentation
¶
Index ¶
Constants ¶
View Source
const (
AppName = "resource"
)
Variables ¶
This section is empty.
Functions ¶
func NewResourceSet ¶
Types ¶
type DeleteResourceRequest ¶
type DeleteResourceRequest struct {
ResourceIds []string `json:"resource_ids"`
}
支持多个
func NewDeleteResourceRequest ¶
func NewDeleteResourceRequest() *DeleteResourceRequest
type Meta ¶
type Meta struct { // 全局唯一Id, 直接使用个云商自己的Id Id string `bson:"_id" json:"id" validate:"required"` // 资源所属域 Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain" validate:"required"` // 资源所属空间 Namespace string `protobuf:"bytes,3,opt,name=namespace,proto3" json:"namespace" validate:"required"` // 资源所属环境 Env string `protobuf:"bytes,4,opt,name=env,proto3" json:"env"` // 创建时间 CreateAt int64 `protobuf:"varint,5,opt,name=create_at,json=createAt,proto3" json:"create_at"` // 删除时间 DeteteAt int64 `protobuf:"varint,6,opt,name=detete_at,json=deteteAt,proto3" json:"detete_at"` // 删除人 DeteteBy string `protobuf:"bytes,7,opt,name=detete_by,json=deteteBy,proto3" json:"detete_by"` // 同步时间 SyncAt int64 `protobuf:"varint,8,opt,name=sync_at,json=syncAt,proto3" json:"sync_at" validate:"required"` // 同步人 SyncBy string `protobuf:"bytes,9,opt,name=sync_by,json=syncBy,proto3" json:"sync_by"` // 用于同步的凭证ID CredentialId string `protobuf:"bytes,10,opt,name=credential_id,json=credentialId,proto3" json:"credential_id"` // 序列号 SerialNumber string `protobuf:"bytes,11,opt,name=serial_number,json=serialNumber,proto3" json:"serial_number"` }
元数据,不会变的
type Resource ¶
资源 https://www.mongodb.com/docs/drivers/go/current/fundamentals/bson/#struct-tags
func NewResource ¶
func NewResource() *Resource
type SearchRequest ¶
type SearchRequest struct { // 分页请求 *request.PageRequest // 名称做模糊搜索 Keywords string `json:"keywords"` // 类型 Type *TYPE `json:"type"` // 标签 Tags map[string]string `json:"lable"` }
func NewSearchRequest ¶
func NewSearchRequest() *SearchRequest
NewSearchRequest().SetType(”).SetXXX(v) (WithOptz(), WithOptx(), WithOpty()...)
func (*SearchRequest) SetType ¶
func (r *SearchRequest) SetType(t TYPE) *SearchRequest
type Service ¶
type Service interface { // 资源搜索 Search(context.Context, *SearchRequest) (*types.Set[*Resource], error) // Save 更新与创建同时 Save(context.Context, *Resource) (*Resource, error) // 删除 DeleteResource(context.Context, *DeleteResourceRequest) error }
func GetService ¶
func GetService() Service
type Spec ¶
type Spec struct { // 厂商 Vendor VENDOR `protobuf:"varint,1,opt,name=vendor,proto3,enum=infraboard.cmdb.resource.VENDOR" json:"vendor"` // 资源类型 ResourceType TYPE `protobuf:"varint,2,opt,name=resource_type,json=resourceType,proto3,enum=infraboard.cmdb.resource.TYPE" json:"resource_type"` // 地域 Region string `protobuf:"bytes,3,opt,name=region,proto3" json:"region"` // 区域 Zone string `protobuf:"bytes,4,opt,name=zone,proto3" json:"zone"` // 资源所属账号 Owner string `protobuf:"bytes,5,opt,name=owner,proto3" json:"owner"` // 名称 Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name"` // 种类 Category string `protobuf:"bytes,7,opt,name=category,proto3" json:"category"` // 规格 Type string `protobuf:"bytes,8,opt,name=type,proto3" json:"type"` // 描述 Description string `protobuf:"bytes,9,opt,name=description,proto3" json:"description"` // 过期时间 ExpireAt int64 `protobuf:"varint,10,opt,name=expire_at,json=expireAt,proto3" json:"expire_at"` // 更新时间 UpdateAt int64 `protobuf:"varint,11,opt,name=update_at,json=updateAt,proto3" json:"update_at"` // 资源占用Cpu数量 Cpu int64 `protobuf:"varint,15,opt,name=cpu,proto3" json:"cpu"` // GPU数量 Gpu int64 `protobuf:"varint,16,opt,name=gpu,proto3" json:"gpu"` // 资源使用的内存 Memory int64 `protobuf:"varint,17,opt,name=memory,proto3" json:"memory"` // 资源使用的存储 Storage int64 `protobuf:"varint,18,opt,name=storage,proto3" json:"storage"` // 公网IP带宽, 单位M BandWidth int32 `protobuf:"varint,19,opt,name=band_width,json=bandWidth,proto3" json:"band_width"` // 资源标签 Tags map[string]string `protobuf:"bytes,25,rep,name=tags,proto3" json:"tags"` // 额外的通用属性 Extra map[string]string `` /* 165-byte string literal not displayed */ }
表单数据
type Status ¶
type Status struct { // 资源当前状态 Phase string `protobuf:"bytes,1,opt,name=phase,proto3" json:"phase"` // 资源当前状态描述 Describe string `protobuf:"bytes,2,opt,name=describe,proto3" json:"describe"` // 实例锁定模式; Unlock:正常;ManualLock:手动触发锁定;LockByExpiration:实例过期自动锁定;LockByRestoration:实例回滚前的自动锁定;LockByDiskQuota:实例空间满自动锁定 LockMode string `protobuf:"bytes,3,opt,name=lock_mode,json=lockMode,proto3" json:"lock_mode"` // 锁定原因 LockReason string `protobuf:"bytes,4,opt,name=lock_reason,json=lockReason,proto3" json:"lock_reason"` // 资源访问地址 // 公网地址, 或者域名 PublicAddress []string `protobuf:"bytes,5,rep,name=public_address,json=publicAddress,proto3" json:"public_address" gorm:"serializer:json"` // 内网地址, 或者域名 PrivateAddress []string `protobuf:"bytes,6,rep,name=private_address,json=privateAddress,proto3" json:"private_address" gorm:"serializer:json"` }
资源当前状态
func (*Status) GetFirstPrivateAddress ¶
type TYPE ¶
type TYPE int32
const ( // 业务资源 TYPE_HOST TYPE = 0 TYPE_RDS TYPE = 1 TYPE_REDIS TYPE = 2 TYPE_BUCKET TYPE = 3 TYPE_DISK TYPE = 4 TYPE_LB TYPE = 5 TYPE_DOMAIN TYPE = 6 TYPE_EIP TYPE = 7 TYPE_MONGODB TYPE = 8 // 子资源 TYPE_DATABASE TYPE = 100 TYPE_ACCOUNT TYPE = 101 // 未知资源 TYPE_OTHER TYPE = 199 // 辅助资源 TYPE_BILL TYPE = 200 TYPE_ORDER TYPE = 201 )
Click to show internal directories.
Click to hide internal directories.