common

package
v2.0.0-...-6ed2e0c Latest Latest
Warning

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

Go to latest
Published: Dec 13, 2024 License: Apache-2.0 Imports: 25 Imported by: 7

Documentation

Overview

+kubebuilder:object:root=true +kubebuidler:object:generate:=true

Index

Constants

View Source
const (
	MeterDefConditionTypeHasResult           status.ConditionType   = "FoundMatches"
	MeterDefConditionReasonNoResultsInStatus status.ConditionReason = "No results in status"
	MeterDefConditionReasonResultsInStatus   status.ConditionReason = "Results in status"

	MeterDefConditionTypeReporting      status.ConditionType   = "Reporting"
	MeterDefConditionReasonNotReporting status.ConditionReason = "Not Reporting"
	MeterDefConditionReasonIsReporting  status.ConditionReason = "Is Reporting"

	MeterDefConditionTypeSignatureVerified             status.ConditionType   = "SignatureVerified"
	MeterDefConditionReasonSignatureUnverified         status.ConditionReason = "Signature unverified"
	MeterDefConditionReasonSignatureVerified           status.ConditionReason = "Signature verified"
	MeterDefConditionReasonSignatureVerificationFailed status.ConditionReason = "Signature verification failed"
)
View Source
const (
	WorkloadTypePod     WorkloadType = "Pod"
	WorkloadTypeService WorkloadType = "Service"
	WorkloadTypePVC     WorkloadType = "PersistentVolumeClaim"

	MetricTypeBillable       MetricType = "billable"
	MetricTypeLicense        MetricType = "license"
	MetricTypeAdoption       MetricType = "adoption"
	MetricTypeEmpty          MetricType = ""
	MetricTypeInfrastructure MetricType = "infrastructure"
)

Variables

View Source
var (
	MeterDefConditionNoResults = status.Condition{
		Type:    MeterDefConditionTypeHasResult,
		Status:  corev1.ConditionFalse,
		Reason:  MeterDefConditionReasonNoResultsInStatus,
		Message: "Meter definition has no results yet.",
	}
	MeterDefConditionHasResults = status.Condition{
		Type:    MeterDefConditionTypeHasResult,
		Status:  corev1.ConditionTrue,
		Reason:  MeterDefConditionReasonResultsInStatus,
		Message: "Meter definition has results.",
	}

	MeterDefConditionNotReporting = status.Condition{
		Type:    MeterDefConditionTypeReporting,
		Status:  corev1.ConditionFalse,
		Reason:  MeterDefConditionReasonNotReporting,
		Message: "Prometheus is not reporting on MeterDefinition. Label name is not present.",
	}

	MeterDefConditionReporting = status.Condition{
		Type:    MeterDefConditionTypeReporting,
		Status:  corev1.ConditionTrue,
		Reason:  MeterDefConditionReasonIsReporting,
		Message: "Prometheus is reporting on MeterDefinition. Label name is present.",
	}

	// MeterDefinition was not signed. No signing annotations
	MeterDefConditionSignatureUnverified = status.Condition{
		Type:    MeterDefConditionTypeSignatureVerified,
		Status:  corev1.ConditionFalse,
		Reason:  MeterDefConditionReasonSignatureUnverified,
		Message: "Meter definition unsigned and unverified",
	}

	// MeterDefinition was signed and signature verified
	MeterDefConditionSignatureVerified = status.Condition{
		Type:    MeterDefConditionTypeSignatureVerified,
		Status:  corev1.ConditionTrue,
		Reason:  MeterDefConditionReasonSignatureVerified,
		Message: "Meter definition signature verified.",
	}

	// MeterDefinition was signed and signature verification failed
	MeterDefConditionSignatureVerificationFailed = status.Condition{
		Type:    MeterDefConditionTypeSignatureVerified,
		Status:  corev1.ConditionFalse,
		Reason:  MeterDefConditionReasonSignatureVerificationFailed,
		Message: "Meter definition signature verification failed.",
	}
)

Functions

This section is empty.

Types

type ByAlphabetical

type ByAlphabetical []WorkloadResource

func (ByAlphabetical) Len

func (a ByAlphabetical) Len() int

func (ByAlphabetical) Less

func (a ByAlphabetical) Less(i, j int) bool

func (ByAlphabetical) Swap

func (a ByAlphabetical) Swap(i, j int)

type Features

type Features struct {

	// Deployment represents the enablement of the razee deployment, defaults to true when not set
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Enable Razee deployment?"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="hidden"
	// +optional
	Deployment *bool `json:"deployment,omitempty"`

	// Registration represents the enablement of the registration watchkeeper deployment, defaults to true when not set
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Enable Watchkeeper deployment?"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="hidden"
	// +optional
	Registration *bool `json:"registration,omitempty"`

	// [DEPRECATED] EnableMeterDefinitionCatalogServer represents the enablement of the meterdefinition catalog server, defaults to true when not set
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Enable MeterDefinition Catalog Server Deployment"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch"
	// +optional
	EnableMeterDefinitionCatalogServer *bool `json:"meterDefinitionCatalogServer,omitempty"`
}

Feature represents a list of features that can be enabled or disabled. +kubebuilder:object:generate:=true

func (*Features) DeepCopy

func (in *Features) DeepCopy() *Features

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Features.

func (*Features) DeepCopyInto

func (in *Features) DeepCopyInto(out *Features)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GroupVersionKind

type GroupVersionKind struct {
	// APIVersion of the CRD
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="text"
	APIVersion string `json:"apiVersion"`
	// Kind of the CRD
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="text"
	Kind string `json:"kind"`
}

+kubebuilder:object:generate:=true

func NewGroupVersionKind

func NewGroupVersionKind(t interface{}, scheme *runtime.Scheme) (*GroupVersionKind, error)

func NewPredefinedGroupVersionKind

func NewPredefinedGroupVersionKind(obj interface{}) (*GroupVersionKind, error)

func (*GroupVersionKind) DeepCopy

func (in *GroupVersionKind) DeepCopy() *GroupVersionKind

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupVersionKind.

func (*GroupVersionKind) DeepCopyInto

func (in *GroupVersionKind) DeepCopyInto(out *GroupVersionKind)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (GroupVersionKind) String

func (g GroupVersionKind) String() string

type JSONArray

type JSONArray []string

func (JSONArray) MarshalText

func (a JSONArray) MarshalText() ([]byte, error)

func (*JSONArray) UnmarshalText

func (a *JSONArray) UnmarshalText(b []byte) error

type JobReference

type JobReference struct {

	// Namespace of the job
	// Required
	Namespace string `json:"namespace"`

	// Name of the job
	// Required
	Name string `json:"name"`

	// Represents time when the job was acknowledged by the job controller.
	// It is not guaranteed to be set in happens-before order across separate operations.
	// It is represented in RFC3339 form and is in UTC.
	// +optional
	StartTime *metav1.Time `json:"startTime,omitempty" protobuf:"bytes,2,opt,name=startTime"`

	// Represents time when the job was completed. It is not guaranteed to
	// be set in happens-before order across separate operations.
	// It is represented in RFC3339 form and is in UTC.
	// +optional
	CompletionTime *metav1.Time `json:"completionTime,omitempty" protobuf:"bytes,3,opt,name=completionTime"`

	// The number of actively running pods.
	// +optional
	Active *int32 `json:"active,omitempty" protobuf:"varint,4,opt,name=active"`

	// The number of pods which reached phase Succeeded.
	// +optional
	Succeeded *int32 `json:"succeeded,omitempty" protobuf:"varint,5,opt,name=succeeded"`

	// The number of pods which reached phase Failed.
	// +optional
	Failed *int32 `json:"failed,omitempty" protobuf:"varint,6,opt,name=failed"`

	// Specifies the number of retries before marking this job failed.
	// Defaults to 6
	// +optional
	BackoffLimit *int32 `json:"backoffLimit,omitempty" protobuf:"varint,7,opt,name=backoffLimit"`

	// JobSuccess is the boolean value set if the job succeeded
	// +optional
	JobSuccess bool `json:"jobSuccess,omitempty"`

	// JobFailed is the boolean value set if the job failed
	// +optional
	JobFailed bool `json:"jobFailed,omitempty"`
}

JobStatus represents the current job for the report and it's status. +kubebuilder:object:generate:=true

func (*JobReference) DeepCopy

func (in *JobReference) DeepCopy() *JobReference

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JobReference.

func (*JobReference) DeepCopyInto

func (in *JobReference) DeepCopyInto(out *JobReference)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*JobReference) IsDone

func (j *JobReference) IsDone() bool

func (*JobReference) IsFailed

func (j *JobReference) IsFailed() bool

func (*JobReference) IsSuccessful

func (j *JobReference) IsSuccessful() bool

func (*JobReference) NamespacedName

func (j *JobReference) NamespacedName() types.NamespacedName

func (*JobReference) SetFromJob

func (j *JobReference) SetFromJob(job *batchv1.Job)

type MeterDefPrometheusLabels

type MeterDefPrometheusLabels struct {
	UID               string `json:"meter_definition_uid" mapstructure:"meter_definition_uid"`
	MeterDefName      string `json:"name" mapstructure:"name"`
	MeterDefNamespace string `json:"namespace" mapstructure:"namespace"`

	// UserWorkloadMonitoring will exported_ overlapping labels
	ExportedMeterDefNamespace string `json:"exported_namespace,omitempty" mapstructure:"exported_namespace"`

	// Deprecated: metric is now the primary name
	WorkloadName      string        `json:"workload_name" mapstructure:"workload_name" template:""`
	WorkloadType      WorkloadType  `json:"workload_type" mapstructure:"workload_type"`
	MeterGroup        string        `json:"meter_group" mapstructure:"meter_group" template:""`
	MeterKind         string        `json:"meter_kind" mapstructure:"meter_kind" template:""`
	Metric            string        `json:"metric_label" mapstructure:"metric_label" template:""`
	MetricAggregation string        `json:"metric_aggregation,omitempty" mapstructure:"metric_aggregation"`
	MetricPeriod      *MetricPeriod `json:"metric_period,omitempty" mapstructure:"metric_period"`
	MetricQuery       string        `json:"metric_query" mapstructure:"metric_query"`
	MetricWithout     JSONArray     `json:"metric_without" mapstructure:"metric_without"`
	MetricGroupBy     JSONArray     `json:"metric_group_by,omitempty" mapstructure:"metric_group_by"`
	MetricType        MetricType    `json:"metric_type,omitempty" mapstructure:"metric_type"`

	ResourceName      string `json:"resource_name,omitempty"`
	ResourceNamespace string `json:"resource_namespace,omitempty"`

	Label string `json:"label,omitempty" mapstructure:"label,omitempty"  template:""`
	Unit  string `json:"unit,omitempty" mapstructure:"unit,omitempty"  template:""`

	DisplayName        string `json:"display_name,omitempty" mapstructure:"display_name,omitempty" template:""`
	MeterDescription   string `json:"meter_description,omitempty" mapstructure:"meter_description,omitempty" template:""`
	ValueLabelOverride string `json:"value_label_override,omitempty" mapstructure:"value_label_override,omitempty" template:""`
	DateLabelOverride  string `json:"date_label_override,omitempty" mapstructure:"date_label_override,omitempty" template:""`
}

func (*MeterDefPrometheusLabels) Defaults

func (m *MeterDefPrometheusLabels) Defaults()

func (*MeterDefPrometheusLabels) FromLabels

func (m *MeterDefPrometheusLabels) FromLabels(labels interface{}) error

func (*MeterDefPrometheusLabels) Namespace

func (m *MeterDefPrometheusLabels) Namespace() string

UserWorkloadMonitoring will exported_ overlapping labels

func (*MeterDefPrometheusLabels) PrintTemplate

func (*MeterDefPrometheusLabels) ToLabels

func (m *MeterDefPrometheusLabels) ToLabels() (map[string]string, error)

type MeterDefPrometheusLabelsTemplated

type MeterDefPrometheusLabelsTemplated struct {
	*MeterDefPrometheusLabels

	IntervalStart, IntervalEnd time.Time
	Value                      string
	LabelMap                   map[string]interface{}
	// contains filtered or unexported fields
}

MeterDefPrometheusLabelsTemplated is the values of a meter definition templated and with values set ready to be added.

func (*MeterDefPrometheusLabelsTemplated) Hash

type MeterDefinitionCatalogServerConfig

type MeterDefinitionCatalogServerConfig struct {
	// SyncCommunityMeterDefinitions represents the enablement of logic that will sync community meterdefinitions from the meterdefinition catalog, defaults to true when not set
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Sync Community MeterDefinitions?"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch"
	// +optional
	SyncCommunityMeterDefinitions bool `json:"syncCommunityMeterDefinitions"`

	// SyncSystemMeterDefinitions represents the enablement of logic that will sync system meterdefinitions from the meterdefinition catalog, defaults to true when not set
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Sync System MeterDefinitions?"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch"
	// +optional
	SyncSystemMeterDefinitions bool `json:"syncSystemMeterDefinitions"`

	// DeployMeterDefinitionCatalogServer controls whether the deploymentconfig controller will deploy the resources needed
	// to create the Meterdefinition Catalog Server.
	// Setting DeployMeterDefinitionCatalogServer to "true" wil install a DeploymentConfig, ImageStream, and Service.
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Deploy Meterdefintion Catalog Server Resources?"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch"
	// +optional
	DeployMeterDefinitionCatalogServer bool `json:"deployMeterDefinitionCatalogServer"`
}

TODO: not using omit empty here, we don't want these to default to false because the dc controller looks for false to uninstall [DEPRECATED] MeterDefinitionCatalogServerConfig represents a list of features that can be enabled or disabled for the Meterdefinition Catalog Server. +kubebuilder:object:generate:=true

func (*MeterDefinitionCatalogServerConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MeterDefinitionCatalogServerConfig.

func (*MeterDefinitionCatalogServerConfig) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MetricPeriod

type MetricPeriod metav1.Duration

func (MetricPeriod) MarshalJSON

func (a MetricPeriod) MarshalJSON() ([]byte, error)

func (*MetricPeriod) UnmarshalJSON

func (a *MetricPeriod) UnmarshalJSON(b []byte) error

type MetricType

type MetricType string

func (MetricType) MarshalJSON

func (a MetricType) MarshalJSON() ([]byte, error)

func (MetricType) String

func (a MetricType) String() string

func (*MetricType) UnmarshalJSON

func (a *MetricType) UnmarshalJSON(b []byte) error

type NamespacedNameReference

type NamespacedNameReference struct {

	// Namespace of the resource
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +optional
	UID types.UID `json:"uid,omitempty"`

	// Namespace of the resource
	// Required
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	Namespace string `json:"namespace"`

	// Name of the resource
	// Required
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	Name string `json:"name"`

	// GroupVersionKind of the resource
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +optional
	*GroupVersionKind `json:"groupVersionKind,omitempty"`
}

JobStatus represents the current job for the report and it's status. +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true +kubebuilder:object:generate:=true

func NamespacedNameFromMeta

func NamespacedNameFromMeta(t client.Object) *NamespacedNameReference

func (*NamespacedNameReference) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespacedNameReference.

func (*NamespacedNameReference) DeepCopyInto

func (in *NamespacedNameReference) DeepCopyInto(out *NamespacedNameReference)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NamespacedNameReference) ToTypes

type PodReference

type PodReference struct {
	// Namespace of the job
	// Required
	Namespace string `json:"namespace"`

	// Name of the job
	// Required
	Name string `json:"name"`
}

func (*PodReference) FromPod

func (p *PodReference) FromPod(pod *corev1.Pod)

type ReportLabels

type ReportLabels struct {
	Label map[string]interface{}
}

type ReportTemplater

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

func NewTemplate

func NewTemplate(promLabels *MeterDefPrometheusLabels) (*ReportTemplater, error)

func (*ReportTemplater) Execute

func (r *ReportTemplater) Execute(
	promLabels *MeterDefPrometheusLabels,
	values *ReportLabels) error

type Result

type Result struct {
	// MetricName is the identifier that you will use to identify your query
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	MetricName string `json:"metricName,omitempty"`

	// Query is the compiled query that is given to Prometheus
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	Query string `json:"query,omitempty"`

	// Values are the results of the query
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	Values []ResultValues `json:"values,omitempty"`
}

Result is a result of a query defined on the meterdefinition. This will generate data for the previous hour on whichever workload you specify. This will allow you to check whether a query is working as intended. +k8s:openapi-gen=true +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true +kubebuilder:object:generate:=true

func (*Result) DeepCopy

func (in *Result) DeepCopy() *Result

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Result.

func (*Result) DeepCopyInto

func (in *Result) DeepCopyInto(out *Result)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ResultValues

type ResultValues struct {
	Timestamp int64             `json:"timestamp"`
	Value     string            `json:"value"`
	Labels    map[string]string `json:"labels,omitempty"`
}

ResultValues will hold the results of the prometheus query +k8s:openapi-gen=true +kubebuilder:object:generate:=true

func (*ResultValues) DeepCopy

func (in *ResultValues) DeepCopy() *ResultValues

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResultValues.

func (*ResultValues) DeepCopyInto

func (in *ResultValues) DeepCopyInto(out *ResultValues)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServiceMonitorReference

type ServiceMonitorReference struct {
	// Namespace of the job
	// Required
	Namespace string `json:"namespace"`

	// Name of the job
	// Required
	Name string `json:"name"`
}

type ServiceReference

type ServiceReference struct {
	// Namespace of the job
	// Required
	Namespace string `json:"namespace"`

	// Name of the job
	// Required
	Name string `json:"name"`

	// Port name is the name of the part to select
	// Required
	TargetPort intstr.IntOrString `json:"targetPort"`

	// TLS configuration to use when scraping the endpoint
	// Optional
	TLSConfig *monitoringv1.TLSConfig `json:"tlsConfig,omitempty"`

	// File to read bearer token for scraping targets.
	BearerTokenFile string `json:"bearerTokenFile,omitempty"`
	// Secret to mount to read bearer token for scraping targets. The secret
	// needs to be in the same namespace as the service monitor and accessible by
	// the Prometheus Operator.
	BearerTokenSecret corev1.SecretKeySelector `json:"bearerTokenSecret,omitempty"`

	// BasicAuth allow an endpoint to authenticate over basic authentication
	// Optional
	BasicAuth *monitoringv1.TLSConfig `json:"basicAuth,omitempty"`
}

+kubebuilder:object:generate:=true

func (*ServiceReference) DeepCopy

func (in *ServiceReference) DeepCopy() *ServiceReference

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceReference.

func (*ServiceReference) DeepCopyInto

func (in *ServiceReference) DeepCopyInto(out *ServiceReference)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Target

type Target struct {
	Labels     model.LabelSet            `json:"labels"`
	ScrapeURL  string                    `json:"scrapeUrl"`
	LastError  string                    `json:"lastError"`
	LastScrape string                    `json:"lastScrape"`
	Health     prometheusv1.HealthStatus `json:"health"`
}

Target is used by meterbase as a list of prometheus activeTargets with failed health, without DiscoveredLabels +k8s:openapi-gen=true +kubebuilder:object:generate:=true

func (*Target) DeepCopy

func (in *Target) DeepCopy() *Target

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Target.

func (*Target) DeepCopyInto

func (in *Target) DeepCopyInto(out *Target)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ToPrometheusLabels

type ToPrometheusLabels interface {
	ToPrometheusLabels() ([]map[string]string, error)
}

type WorkloadResource

type WorkloadResource struct {
	// ReferencedWorkloadName is the name of the workload
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	ReferencedWorkloadName string `json:"referencedWorkloadName,omitempty"`

	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	NamespacedNameReference `json:",inline"`
}

WorkloadResource represents the resources associated to a workload +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true +kubebuilder:object:generate:=true

func NewWorkloadResource

func NewWorkloadResource(obj interface{}) (*WorkloadResource, error)

func (*WorkloadResource) DeepCopy

func (in *WorkloadResource) DeepCopy() *WorkloadResource

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkloadResource.

func (*WorkloadResource) DeepCopyInto

func (in *WorkloadResource) DeepCopyInto(out *WorkloadResource)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WorkloadType

type WorkloadType string

func (WorkloadType) MarshalJSON

func (a WorkloadType) MarshalJSON() ([]byte, error)

func (*WorkloadType) UnmarshalJSON

func (a *WorkloadType) UnmarshalJSON(b []byte) error

Jump to

Keyboard shortcuts

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