cost

package
v0.0.0-...-7aae7b9 Latest Latest
Warning

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

Go to latest
Published: Feb 12, 2023 License: MIT Imports: 7 Imported by: 0

README

基于实例聚合后的账单为准

类型 value year month cost delta_cost delta_percent task_id domain(总账)

namespace(项目) domain env vendor account

总帐: 0xxxxx

1月 2月 3月 4月

namesapce|vendor|account|env|resource_type


ns1 xxxx +192(200%)
ns2 xxxx -110(100%) ns3 xxxx +100(100%)

分摊处理

项目账单: 0xxxxxxx

1月 2月 3月 4月


app1 xxxx +192(200%) app2 xxxx -100(100%)

ins1 xxxxx app weight cost
ns-app-c1 app1 1 10 ns-app-c2 app2 1 10 ns-app-c2 app3 1 10

ins2 xxxxx 30
app app1 10 app app2 10 app app3 10

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	Type_name = map[int32]string{
		0: "DOMAIN",
		1: "NAMESPACE",
		2: "VENDOR",
		3: "ACCOUNT",
		4: "REGION",
		5: "RESOURCE_TYPE",
		6: "ENV",
	}
	Type_value = map[string]int32{
		"DOMAIN":        0,
		"NAMESPACE":     1,
		"VENDOR":        2,
		"ACCOUNT":       3,
		"REGION":        4,
		"RESOURCE_TYPE": 5,
		"ENV":           6,
	}
)

Enum value maps for Type.

View Source
var (
	AppName = "cost"
)
View Source
var File_apps_cost_pb_cost_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type Type

type Type int32

成本单元类型

const (
	// 基于域统计的总账单
	Type_DOMAIN Type = 0
	// 基于空间的总账单
	Type_NAMESPACE Type = 1
	// 基于云商的总账单
	Type_VENDOR Type = 2
	// 基于云商账号的总账单
	Type_ACCOUNT Type = 3
	// 基于地域的总账单
	Type_REGION Type = 4
	// 基于资源类型的总账单
	Type_RESOURCE_TYPE Type = 5
	// 基于环境的总账单
	Type_ENV Type = 6
)

func ParseTypeFromString

func ParseTypeFromString(str string) (Type, error)

ParseTypeFromString Parse Type from string

func (Type) Descriptor

func (Type) Descriptor() protoreflect.EnumDescriptor

func (Type) Enum

func (x Type) Enum() *Type

func (Type) EnumDescriptor deprecated

func (Type) EnumDescriptor() ([]byte, []int)

Deprecated: Use Type.Descriptor instead.

func (Type) Equal

func (t Type) Equal(target Type) bool

Equal type compare

func (Type) IsIn

func (t Type) IsIn(targets ...Type) bool

IsIn todo

func (Type) MarshalJSON

func (t Type) MarshalJSON() ([]byte, error)

MarshalJSON todo

func (Type) Number

func (x Type) Number() protoreflect.EnumNumber

func (Type) String

func (x Type) String() string

func (Type) Type

func (Type) Type() protoreflect.EnumType

func (*Type) UnmarshalJSON

func (t *Type) UnmarshalJSON(b []byte) error

UnmarshalJSON todo

type Unit

type Unit struct {

	// 财务单元类型
	// @gotags: json:"type"
	Type Type `protobuf:"varint,1,opt,name=type,proto3,enum=infraboard.cmdb.cost.Type" json:"type"`
	// 财务单元所属域, 到统计域时,该值为空
	// @gotags: json:"domain"
	Domain Type `protobuf:"varint,2,opt,name=domain,proto3,enum=infraboard.cmdb.cost.Type" json:"domain"`
	// 财务单元的名称
	// @gotags: json:"name"
	Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name"`
	// 财务单元的描述信息
	// @gotags: json:"description"
	Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description"`
	// 年份
	// @gotags: json:"year"
	Year int32 `protobuf:"varint,5,opt,name=year,proto3" json:"year"`
	// 月份
	// @gotags: json:"month"
	Month int32 `protobuf:"varint,6,opt,name=month,proto3" json:"month"`
	// 月账单
	// @gotags: json:"real_cost"
	RealCost float64 `protobuf:"fixed64,7,opt,name=real_cost,json=realCost,proto3" json:"real_cost"`
	// 同步增长金额
	// @gotags: json:"delta_cost"
	DeltaCost float64 `protobuf:"fixed64,8,opt,name=delta_cost,json=deltaCost,proto3" json:"delta_cost"`
	// 同步增长比例
	// @gotags: json:"delta_percent"
	DeltaPercent float64 `protobuf:"fixed64,9,opt,name=delta_percent,json=deltaPercent,proto3" json:"delta_percent"`
	// 关联的具体详情Task
	// @gotags: json:"task_id"
	TaskId float64 `protobuf:"fixed64,15,opt,name=task_id,json=taskId,proto3" json:"task_id"`
	// contains filtered or unexported fields
}

用于成本聚合统计的单元

func (*Unit) Descriptor deprecated

func (*Unit) Descriptor() ([]byte, []int)

Deprecated: Use Unit.ProtoReflect.Descriptor instead.

func (*Unit) GetDeltaCost

func (x *Unit) GetDeltaCost() float64

func (*Unit) GetDeltaPercent

func (x *Unit) GetDeltaPercent() float64

func (*Unit) GetDescription

func (x *Unit) GetDescription() string

func (*Unit) GetDomain

func (x *Unit) GetDomain() Type

func (*Unit) GetMonth

func (x *Unit) GetMonth() int32

func (*Unit) GetName

func (x *Unit) GetName() string

func (*Unit) GetRealCost

func (x *Unit) GetRealCost() float64

func (*Unit) GetTaskId

func (x *Unit) GetTaskId() float64

func (*Unit) GetType

func (x *Unit) GetType() Type

func (*Unit) GetYear

func (x *Unit) GetYear() int32

func (*Unit) ProtoMessage

func (*Unit) ProtoMessage()

func (*Unit) ProtoReflect

func (x *Unit) ProtoReflect() protoreflect.Message

func (*Unit) Reset

func (x *Unit) Reset()

func (*Unit) String

func (x *Unit) String() string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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