Documentation
¶
Overview ¶
Package v1alpha1 is the v1alpha1 version of the crane API. +k8s:deepcopy-gen=package,register +groupName=co2e.crane.io
Index ¶
Constants ¶
const GroupName = "co2e.crane.io"
GroupName specifies the group name used to register the objects.
const (
ProviderManual = "Manual"
)
Variables ¶
var ( SchemeBuilder runtime.SchemeBuilder // Depreciated: use Install instead AddToScheme = localSchemeBuilder.AddToScheme Install = localSchemeBuilder.AddToScheme )
var GroupVersion = v1.GroupVersion{Group: GroupName, Version: "v1alpha1"}
GroupVersion specifies the group and the version used to register the objects.
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}
SchemeGroupVersion is group version used to register these objects Deprecated: use GroupVersion instead.
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type CloudCarbonFootprint ¶
type CloudCarbonFootprint struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec CloudCarbonFootprintSpec `json:"spec,omitempty"` Status CloudCarbonFootprintStatus `json:"status,omitempty"` }
CloudCarbonFootprint defines carbon footprint configuration of a datacenter
func (*CloudCarbonFootprint) DeepCopy ¶
func (in *CloudCarbonFootprint) DeepCopy() *CloudCarbonFootprint
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudCarbonFootprint.
func (*CloudCarbonFootprint) DeepCopyInto ¶
func (in *CloudCarbonFootprint) DeepCopyInto(out *CloudCarbonFootprint)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CloudCarbonFootprint) DeepCopyObject ¶
func (in *CloudCarbonFootprint) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CloudCarbonFootprintList ¶
type CloudCarbonFootprintList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []CloudCarbonFootprint `json:"items"` }
CloudCarbonFootprintList contains a list of PodQOS
func (*CloudCarbonFootprintList) DeepCopy ¶
func (in *CloudCarbonFootprintList) DeepCopy() *CloudCarbonFootprintList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudCarbonFootprintList.
func (*CloudCarbonFootprintList) DeepCopyInto ¶
func (in *CloudCarbonFootprintList) DeepCopyInto(out *CloudCarbonFootprintList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CloudCarbonFootprintList) DeepCopyObject ¶
func (in *CloudCarbonFootprintList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CloudCarbonFootprintSpec ¶
type CloudCarbonFootprintSpec struct { // Provider is the provider of the ccf, when provider is manual, all the properties of ccf would be configured manually // when a cloud provider exposes query API, a cloud provider controller can query cloud api and fill the properties automatically Provider string `json:"provider,omitempty"` // region of the datacenter, e.g. shanghai Region string `json:"region,omitempty"` // availability zone of the datacenter, e.g. shanghai-az01 Zone string `json:"zone,omitempty"` // locality holds more information of location, e.g. ap/china/shanghai/az01/floor3 Locality string `json:"locality,omitempty"` // power usage effectiveness = IT equipment energy usage / total facility energy usage PUE string `json:"pue,omitempty"` // emission factor of the data center, unit is tCO2/MWh, the average emission factor of China is 0.5810 EmissionFactor string `json:"emissionFactor,omitempty"` // compute power infos // when there are multiple node types in the cluster, define multiple compute configs ComputeConfig []*ComputeConfig `json:"computeConfig,omitempty"` // storage power info StorageConfig []*StorageConfig `json:"storageConfig,omitempty"` // networking power info NetworkingConfig []*NetworkingConfig `json:"networkingConfig,omitempty"` }
func (*CloudCarbonFootprintSpec) DeepCopy ¶
func (in *CloudCarbonFootprintSpec) DeepCopy() *CloudCarbonFootprintSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudCarbonFootprintSpec.
func (*CloudCarbonFootprintSpec) DeepCopyInto ¶
func (in *CloudCarbonFootprintSpec) DeepCopyInto(out *CloudCarbonFootprintSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CloudCarbonFootprintStatus ¶
type CloudCarbonFootprintStatus struct {
Conditions []metav1.Condition `json:"condition,omitempty"`
}
func (*CloudCarbonFootprintStatus) DeepCopy ¶
func (in *CloudCarbonFootprintStatus) DeepCopy() *CloudCarbonFootprintStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudCarbonFootprintStatus.
func (*CloudCarbonFootprintStatus) DeepCopyInto ¶
func (in *CloudCarbonFootprintStatus) DeepCopyInto(out *CloudCarbonFootprintStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComputeConfig ¶
type ComputeConfig struct { // when there are various types of compute server, node selector selects the targets NodeSelector *metav1.LabelSelector `json:"nodeSelector,omitempty"` // power when cpu is idle MinWattsPerCPU string `json:"minWattsPerCPU,omitempty"` // power when cpu utilization is 100% MaxWattsPerCPU string `json:"maxWattsPerCPU,omitempty"` // sometimes it's hard to measure memory, storage, and networking energy consumption // CPUEnergyConsumptionRatio can be defined to specify the percentage of cpu energy consumption vs all IT equipments consumption CPUEnergyConsumptionRatio string `json:"cpuEnergyConsumptionRatio,omitempty"` // power of per BG memory MemoryWattsPerGB string `json:"memoryWattsPerGB,omitempty"` }
func (*ComputeConfig) DeepCopy ¶
func (in *ComputeConfig) DeepCopy() *ComputeConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComputeConfig.
func (*ComputeConfig) DeepCopyInto ¶
func (in *ComputeConfig) DeepCopyInto(out *ComputeConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkingConfig ¶
type NetworkingConfig struct { // networking class, e.g. golden, server, bronze, which define different redundancies of networking links, and has different energy consumption NetworkingClass string `json:"storageClass,omitempty"` // power per GB for the class WattsPerGB string `json:"wattsPerGB,omitempty"` }
func (*NetworkingConfig) DeepCopy ¶
func (in *NetworkingConfig) DeepCopy() *NetworkingConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkingConfig.
func (*NetworkingConfig) DeepCopyInto ¶
func (in *NetworkingConfig) DeepCopyInto(out *NetworkingConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StorageConfig ¶
type StorageConfig struct { // storage class, e.g. cephfs StorageClass string `json:"storageClass,omitempty"` // power per TB for the class WattsPerTB string `json:"wattsPerTB,omitempty"` }
func (*StorageConfig) DeepCopy ¶
func (in *StorageConfig) DeepCopy() *StorageConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageConfig.
func (*StorageConfig) DeepCopyInto ¶
func (in *StorageConfig) DeepCopyInto(out *StorageConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.