Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the datadoghq v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=datadoghq.com
Package v1alpha1 contains API Schema definitions for the datadoghq v1alpha1 API group +kubebuilder:object:generate=true +groupName=datadoghq.com
Index ¶
- Constants
- Variables
- func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition
- func IsValidDatadogDashboard(spec *DatadogDashboardSpec) error
- func IsValidDatadogGenericResource(spec *DatadogGenericResourceSpec) error
- func IsValidDatadogMonitor(spec *DatadogMonitorSpec) error
- func IsValidDatadogSLO(spec *DatadogSLOSpec) error
- func Kind(kind string) schema.GroupKind
- func Resource(resource string) schema.GroupResource
- func ValidateDatadogAgentProfileSpec(spec *DatadogAgentProfileSpec) error
- type ComponentName
- type Config
- type Container
- type CreateStrategy
- type CreateStrategyStatus
- type DashboardTemplateVariable
- type DashboardTemplateVariablePreset
- type DashboardTemplateVariablePresetValue
- type DatadogAgentProfile
- type DatadogAgentProfileList
- type DatadogAgentProfileSpec
- type DatadogAgentProfileStatus
- type DatadogDashboard
- type DatadogDashboardList
- type DatadogDashboardSpec
- type DatadogDashboardStatus
- type DatadogDashboardSyncStatus
- type DatadogGenericResource
- type DatadogGenericResourceList
- type DatadogGenericResourceSpec
- type DatadogGenericResourceStatus
- type DatadogMetric
- type DatadogMetricCondition
- type DatadogMetricConditionType
- type DatadogMetricList
- type DatadogMetricSpec
- type DatadogMetricStatus
- type DatadogMonitor
- type DatadogMonitorCondition
- type DatadogMonitorConditionType
- type DatadogMonitorControllerOptions
- type DatadogMonitorDowntimeStatus
- type DatadogMonitorList
- type DatadogMonitorOptions
- type DatadogMonitorOptionsNotificationPreset
- type DatadogMonitorOptionsOnMissingData
- type DatadogMonitorOptionsThresholdWindows
- type DatadogMonitorOptionsThresholds
- type DatadogMonitorSpec
- type DatadogMonitorState
- type DatadogMonitorStatus
- type DatadogMonitorTriggeredState
- type DatadogMonitorType
- type DatadogPodAutoscaler
- type DatadogPodAutoscalerApplyMode
- type DatadogPodAutoscalerCondition
- type DatadogPodAutoscalerConditionType
- type DatadogPodAutoscalerConstraints
- type DatadogPodAutoscalerContainerConstraints
- type DatadogPodAutoscalerContainerResourceConstraints
- type DatadogPodAutoscalerContainerResourceTarget
- type DatadogPodAutoscalerContainerResources
- type DatadogPodAutoscalerHorizontalAction
- type DatadogPodAutoscalerHorizontalStatus
- type DatadogPodAutoscalerHorizontalTargetStatus
- type DatadogPodAutoscalerList
- type DatadogPodAutoscalerOwner
- type DatadogPodAutoscalerPolicy
- type DatadogPodAutoscalerResourceTarget
- type DatadogPodAutoscalerScalingPolicy
- type DatadogPodAutoscalerScalingRule
- type DatadogPodAutoscalerScalingRuleMatch
- type DatadogPodAutoscalerScalingRuleType
- type DatadogPodAutoscalerScalingStrategySelect
- type DatadogPodAutoscalerSpec
- type DatadogPodAutoscalerStatus
- type DatadogPodAutoscalerTarget
- type DatadogPodAutoscalerTargetType
- type DatadogPodAutoscalerTargetValue
- type DatadogPodAutoscalerTargetValueType
- type DatadogPodAutoscalerUpdatePolicy
- type DatadogPodAutoscalerUpdateStrategy
- type DatadogPodAutoscalerValueSource
- type DatadogPodAutoscalerVerticalAction
- type DatadogPodAutoscalerVerticalActionType
- type DatadogPodAutoscalerVerticalStatus
- type DatadogPodAutoscalerVerticalTargetStatus
- type DatadogSLO
- type DatadogSLOControllerOptions
- type DatadogSLOList
- type DatadogSLOQuery
- type DatadogSLOSpec
- type DatadogSLOStatus
- type DatadogSLOSyncStatus
- type DatadogSLOTimeFrame
- type DatadogSLOType
- type DatadogSyncStatus
- type MonitorStateSyncStatusMessage
- type Override
- type ProfileAffinity
- type SupportedResourcesType
Constants ¶
const ( // NodeAgentComponentName is the name of the Datadog Node Agent NodeAgentComponentName ComponentName = "nodeAgent" CompletedStatus CreateStrategyStatus = "Completed" WaitingStatus CreateStrategyStatus = "Waiting" InProgressStatus CreateStrategyStatus = "In Progress" )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "datadoghq.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
func GetOpenAPIDefinitions ¶
func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition
func IsValidDatadogDashboard ¶
func IsValidDatadogDashboard(spec *DatadogDashboardSpec) error
IsValidDatadogDashboard use to check if a DatadogDashboardSpec is valid by checking that the required fields are defined
func IsValidDatadogGenericResource ¶ added in v1.12.0
func IsValidDatadogGenericResource(spec *DatadogGenericResourceSpec) error
func IsValidDatadogMonitor ¶
func IsValidDatadogMonitor(spec *DatadogMonitorSpec) error
IsValidDatadogMonitor use to check if a DatadogMonitorSpec is valid by checking that the required fields are defined
func IsValidDatadogSLO ¶
func IsValidDatadogSLO(spec *DatadogSLOSpec) error
IsValidDatadogSLO use to check if a DatadogSLOSpec is valid by checking that the required fields are defined
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
func ValidateDatadogAgentProfileSpec ¶
func ValidateDatadogAgentProfileSpec(spec *DatadogAgentProfileSpec) error
ValidateDatadogAgentProfileSpec is used to check if a DatadogAgentProfileSpec is valid
Types ¶
type ComponentName ¶
type ComponentName string
type Config ¶
type Config struct {
// Override the default configurations of the node agent.
Override map[ComponentName]*Override `json:"override,omitempty"`
}
func (*Config) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Config.
func (*Config) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Container ¶
type Container struct {
// Specify additional environment variables in the container.
// See also: https://docs.datadoghq.com/agent/guide/environment-variables/
//
// +optional
// +listType=map
// +listMapKey=name
Env []corev1.EnvVar `json:"env,omitempty"`
// Specify the Request and Limits of the pods.
// To get guaranteed QoS class, specify requests and limits equal.
// See also: http://kubernetes.io/docs/user-guide/compute-resources/
// +optional
Resources *corev1.ResourceRequirements `json:"resources,omitempty"`
}
func (*Container) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Container.
func (*Container) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CreateStrategy ¶
type CreateStrategy struct {
// Status shows the current state of the feature.
// +optional
Status CreateStrategyStatus `json:"status,omitempty"`
// NodesLabeled shows the number of nodes currently labeled.
// +optional
NodesLabeled int32 `json:"nodesLabeled"`
// PodsReady shows the number of pods in the ready state.
// +optional
PodsReady int32 `json:"podsReady"`
// +optional
MaxUnavailable int32 `json:"maxUnavailable"`
// LastTransition is the last time the status was updated.
// +optional
LastTransition *metav1.Time `json:"lastTransition,omitempty"`
}
CreateStrategy defines the observed state of the create strategy feature based on the agent deployment. +k8s:openapi-gen=true +kubebuilder:object:generate=true
func (*CreateStrategy) DeepCopy ¶
func (in *CreateStrategy) DeepCopy() *CreateStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CreateStrategy.
func (*CreateStrategy) DeepCopyInto ¶
func (in *CreateStrategy) DeepCopyInto(out *CreateStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CreateStrategyStatus ¶
type CreateStrategyStatus string
type DashboardTemplateVariable ¶
type DashboardTemplateVariable struct {
// The list of values that the template variable drop-down is limited to.
AvailableValues *[]string `json:"availableValues,omitempty"`
// One or many default values for template variables on load. If more than one default is specified, they will be unioned together with `OR`. Cannot be used in conjunction with `default`.
// +listType=set
Defaults []string `json:"defaults,omitempty"`
// The name of the variable.
Name string `json:"name"`
// The tag prefix associated with the variable. Only tags with this prefix appear in the variable drop-down.
Prefix *string `json:"prefix,omitempty"`
}
DashboardTemplateVariable Template variable. +k8s:openapi-gen=true
func (*DashboardTemplateVariable) DeepCopy ¶
func (in *DashboardTemplateVariable) DeepCopy() *DashboardTemplateVariable
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DashboardTemplateVariable.
func (*DashboardTemplateVariable) DeepCopyInto ¶
func (in *DashboardTemplateVariable) DeepCopyInto(out *DashboardTemplateVariable)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DashboardTemplateVariablePreset ¶
type DashboardTemplateVariablePreset struct {
// The name of the variable.
Name *string `json:"name"`
// List of variables.
// +listType=map
// +listMapKey=name
TemplateVariables []DashboardTemplateVariablePresetValue `json:"templateVariables,omitempty"`
}
DashboardTemplateVariablePreset Template variables saved views. +k8s:openapi-gen=true
func (*DashboardTemplateVariablePreset) DeepCopy ¶
func (in *DashboardTemplateVariablePreset) DeepCopy() *DashboardTemplateVariablePreset
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DashboardTemplateVariablePreset.
func (*DashboardTemplateVariablePreset) DeepCopyInto ¶
func (in *DashboardTemplateVariablePreset) DeepCopyInto(out *DashboardTemplateVariablePreset)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DashboardTemplateVariablePresetValue ¶
type DashboardTemplateVariablePresetValue struct {
// The name of the variable.
Name *string `json:"name"`
// One or many template variable values within the saved view, which will be unioned together using `OR` if more than one is specified. Cannot be used in conjunction with `value`.
// +listType=set
Values []string `json:"values,omitempty"`
}
DashboardTemplateVariablePresetValue Template variables saved views. +k8s:openapi-gen=true
func (*DashboardTemplateVariablePresetValue) DeepCopy ¶
func (in *DashboardTemplateVariablePresetValue) DeepCopy() *DashboardTemplateVariablePresetValue
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DashboardTemplateVariablePresetValue.
func (*DashboardTemplateVariablePresetValue) DeepCopyInto ¶
func (in *DashboardTemplateVariablePresetValue) DeepCopyInto(out *DashboardTemplateVariablePresetValue)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogAgentProfile ¶
type DatadogAgentProfile struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec DatadogAgentProfileSpec `json:"spec,omitempty"`
Status DatadogAgentProfileStatus `json:"status,omitempty"`
}
DatadogAgentProfile is the Schema for the datadogagentprofiles API +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:path=datadogagentprofiles,shortName=dap +kubebuilder:printcolumn:name="valid",type="string",JSONPath=".status.valid" +kubebuilder:printcolumn:name="applied",type="string",JSONPath=".status.applied" +kubebuilder:printcolumn:name="age",type="date",JSONPath=".metadata.creationTimestamp" +k8s:openapi-gen=true
func (*DatadogAgentProfile) DeepCopy ¶
func (in *DatadogAgentProfile) DeepCopy() *DatadogAgentProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogAgentProfile.
func (*DatadogAgentProfile) DeepCopyInto ¶
func (in *DatadogAgentProfile) DeepCopyInto(out *DatadogAgentProfile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatadogAgentProfile) DeepCopyObject ¶
func (in *DatadogAgentProfile) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatadogAgentProfileList ¶
type DatadogAgentProfileList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []DatadogAgentProfile `json:"items"`
}
DatadogAgentProfileList contains a list of DatadogAgentProfile
func (*DatadogAgentProfileList) DeepCopy ¶
func (in *DatadogAgentProfileList) DeepCopy() *DatadogAgentProfileList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogAgentProfileList.
func (*DatadogAgentProfileList) DeepCopyInto ¶
func (in *DatadogAgentProfileList) DeepCopyInto(out *DatadogAgentProfileList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatadogAgentProfileList) DeepCopyObject ¶
func (in *DatadogAgentProfileList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatadogAgentProfileSpec ¶
type DatadogAgentProfileSpec struct {
ProfileAffinity *ProfileAffinity `json:"profileAffinity,omitempty"`
Config *Config `json:"config,omitempty"`
}
DatadogAgentProfileSpec defines the desired state of DatadogAgentProfile
func (*DatadogAgentProfileSpec) DeepCopy ¶
func (in *DatadogAgentProfileSpec) DeepCopy() *DatadogAgentProfileSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogAgentProfileSpec.
func (*DatadogAgentProfileSpec) DeepCopyInto ¶
func (in *DatadogAgentProfileSpec) DeepCopyInto(out *DatadogAgentProfileSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogAgentProfileStatus ¶
type DatadogAgentProfileStatus struct {
// LastUpdate is the last time the status was updated.
// +optional
LastUpdate *metav1.Time `json:"lastUpdate,omitempty"`
// CurrentHash is the stored hash of the DatadogAgentProfile.
// +optional
CurrentHash string `json:"currentHash,omitempty"`
// Conditions represents the latest available observations of a DatadogAgentProfile's current state.
// +optional
// +listType=map
// +listMapKey=type
Conditions []metav1.Condition `json:"conditions"`
// Valid shows if the DatadogAgentProfile has a valid config spec.
// +optional
Valid metav1.ConditionStatus `json:"valid,omitempty"`
// Applied shows whether the DatadogAgentProfile conflicts with an existing DatadogAgentProfile.
// +optional
Applied metav1.ConditionStatus `json:"applied,omitempty"`
// CreateStrategy is the state of the create strategy feature.
// +optional
CreateStrategy *CreateStrategy `json:"createStrategy,omitempty"`
}
DatadogAgentProfileStatus defines the observed state of DatadogAgentProfile +k8s:openapi-gen=true
func (*DatadogAgentProfileStatus) DeepCopy ¶
func (in *DatadogAgentProfileStatus) DeepCopy() *DatadogAgentProfileStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogAgentProfileStatus.
func (*DatadogAgentProfileStatus) DeepCopyInto ¶
func (in *DatadogAgentProfileStatus) DeepCopyInto(out *DatadogAgentProfileStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogDashboard ¶
type DatadogDashboard struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec DatadogDashboardSpec `json:"spec,omitempty"`
Status DatadogDashboardStatus `json:"status,omitempty"`
}
DatadogDashboard is the Schema for the datadogdashboards API +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:path=datadogdashboards,scope=Namespaced,shortName=ddd +kubebuilder:printcolumn:name="id",type="string",JSONPath=".status.id" +kubebuilder:printcolumn:name="sync status",type="string",JSONPath=".status.syncStatus" +kubebuilder:printcolumn:name="age",type="date",JSONPath=".metadata.creationTimestamp" +k8s:openapi-gen=true +genclient
func (*DatadogDashboard) DeepCopy ¶
func (in *DatadogDashboard) DeepCopy() *DatadogDashboard
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogDashboard.
func (*DatadogDashboard) DeepCopyInto ¶
func (in *DatadogDashboard) DeepCopyInto(out *DatadogDashboard)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatadogDashboard) DeepCopyObject ¶
func (in *DatadogDashboard) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatadogDashboardList ¶
type DatadogDashboardList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []DatadogDashboard `json:"items"`
}
DatadogDashboardList contains a list of DatadogDashboard +kubebuilder:object:root=true
func (*DatadogDashboardList) DeepCopy ¶
func (in *DatadogDashboardList) DeepCopy() *DatadogDashboardList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogDashboardList.
func (*DatadogDashboardList) DeepCopyInto ¶
func (in *DatadogDashboardList) DeepCopyInto(out *DatadogDashboardList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatadogDashboardList) DeepCopyObject ¶
func (in *DatadogDashboardList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatadogDashboardSpec ¶
type DatadogDashboardSpec struct {
// Description is the description of the dashboard.
// +optional
Description string `json:"description,omitempty"`
// LayoutType is the layout type of the dashboard.
LayoutType datadogV1.DashboardLayoutType `json:"layoutType,omitempty"`
// NotifyList is the list of handles of users to notify when changes are made to this dashboard.
// +listType=set
// +optional
NotifyList []string `json:"notifyList,omitempty"`
// Reflowtype is the reflow type for a 'new dashboard layout' dashboard. Set this only when layout type is 'ordered'.
// If set to 'fixed', the dashboard expects all widgets to have a layout, and if it's set to 'auto',
// widgets should not have layouts.
// +optional
ReflowType *datadogV1.DashboardReflowType `json:"reflowType,omitempty"`
// Tags is a list of team names representing ownership of a dashboard.
// +listType=set
// +optional
Tags []string `json:"tags,omitempty"`
// TemplateVariablePresets is an array of template variables saved views.
// +listType=map
// +listMapKey=name
// +optional
TemplateVariablePresets []DashboardTemplateVariablePreset `json:"templateVariablePresets,omitempty"`
// TemplateVariables is a list of template variables for this dashboard.
// +listType=map
// +listMapKey=name
// +optional
TemplateVariables []DashboardTemplateVariable `json:"templateVariables,omitempty"`
// Title is the title of the dashboard.
Title string `json:"title,omitempty"`
// Widgets is a JSON string representation of a list of Datadog API Widgets
// +optional
Widgets string `json:"widgets,omitempty"`
}
DatadogDashboardSpec defines the desired state of DatadogDashboard +k8s:openapi-gen=true
func (*DatadogDashboardSpec) DeepCopy ¶
func (in *DatadogDashboardSpec) DeepCopy() *DatadogDashboardSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogDashboardSpec.
func (*DatadogDashboardSpec) DeepCopyInto ¶
func (in *DatadogDashboardSpec) DeepCopyInto(out *DatadogDashboardSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogDashboardStatus ¶
type DatadogDashboardStatus struct {
// Conditions represents the latest available observations of the state of a DatadogDashboard.
// +listType=map
// +listMapKey=type
Conditions []metav1.Condition `json:"conditions,omitempty"`
// ID is the dashboard ID generated in Datadog.
ID string `json:"id,omitempty"`
// Creator is the identity of the dashboard creator.
Creator string `json:"creator,omitempty"`
// Created is the time the dashboard was created.
Created *metav1.Time `json:"created,omitempty"`
// SyncStatus shows the health of syncing the dashboard state to Datadog.
SyncStatus DatadogDashboardSyncStatus `json:"syncStatus,omitempty"`
// CurrentHash tracks the hash of the current DatadogDashboardSpec to know
// if the Spec has changed and needs an update.
CurrentHash string `json:"currentHash,omitempty"`
// LastForceSyncTime is the last time the API dashboard was last force synced with the DatadogDashboard resource
LastForceSyncTime *metav1.Time `json:"lastForceSyncTime,omitempty"`
}
DatadogDashboardStatus defines the observed state of DatadogDashboard +k8s:openapi-gen=true
func (*DatadogDashboardStatus) DeepCopy ¶
func (in *DatadogDashboardStatus) DeepCopy() *DatadogDashboardStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogDashboardStatus.
func (*DatadogDashboardStatus) DeepCopyInto ¶
func (in *DatadogDashboardStatus) DeepCopyInto(out *DatadogDashboardStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogDashboardSyncStatus ¶
type DatadogDashboardSyncStatus string
const ( // DatadogDashboardSyncStatusOK means syncing is OK. DatadogDashboardSyncStatusOK DatadogDashboardSyncStatus = "OK" // DatadogDashboardSyncStatusValidateError means there is a dashboard validation error. DatadogDashboardSyncStatusValidateError DatadogDashboardSyncStatus = "error validating dashboard" // DatadogDashboardSyncStatusUpdateError means there is a dashboard update error. DatadogDashboardSyncStatusUpdateError DatadogDashboardSyncStatus = "error updating dashboard" // DatadogDashboardSyncStatusCreateError means there is an error getting the dashboard. DatadogDashboardSyncStatusCreateError DatadogDashboardSyncStatus = "error creating dashboard" // SyncStatusGetError means there is an error getting the monitor DatadoggDashboardSyncStatusGetError DatadogDashboardSyncStatus = "error getting dashboard" )
type DatadogGenericResource ¶ added in v1.12.0
type DatadogGenericResource struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec DatadogGenericResourceSpec `json:"spec,omitempty"`
Status DatadogGenericResourceStatus `json:"status,omitempty"`
}
DatadogGenericResource is the Schema for the DatadogGenericResources API +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:path=datadoggenericresources,scope=Namespaced,shortName=ddgr +kubebuilder:printcolumn:name="id",type="string",JSONPath=".status.id" +kubebuilder:printcolumn:name="sync status",type="string",JSONPath=".status.syncStatus" +kubebuilder:printcolumn:name="age",type="date",JSONPath=".metadata.creationTimestamp" +k8s:openapi-gen=true +genclient
func (*DatadogGenericResource) DeepCopy ¶ added in v1.12.0
func (in *DatadogGenericResource) DeepCopy() *DatadogGenericResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogGenericResource.
func (*DatadogGenericResource) DeepCopyInto ¶ added in v1.12.0
func (in *DatadogGenericResource) DeepCopyInto(out *DatadogGenericResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatadogGenericResource) DeepCopyObject ¶ added in v1.12.0
func (in *DatadogGenericResource) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatadogGenericResourceList ¶ added in v1.12.0
type DatadogGenericResourceList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []DatadogGenericResource `json:"items"`
}
DatadogGenericResourceList contains a list of DatadogGenericResource +kubebuilder:object:root=true
func (*DatadogGenericResourceList) DeepCopy ¶ added in v1.12.0
func (in *DatadogGenericResourceList) DeepCopy() *DatadogGenericResourceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogGenericResourceList.
func (*DatadogGenericResourceList) DeepCopyInto ¶ added in v1.12.0
func (in *DatadogGenericResourceList) DeepCopyInto(out *DatadogGenericResourceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatadogGenericResourceList) DeepCopyObject ¶ added in v1.12.0
func (in *DatadogGenericResourceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatadogGenericResourceSpec ¶ added in v1.12.0
type DatadogGenericResourceSpec struct {
// Type is the type of the API object
// +kubebuilder:validation:Enum=notebook;synthetics_api_test;synthetics_browser_test
Type SupportedResourcesType `json:"type"`
// JsonSpec is the specification of the API object
JsonSpec string `json:"jsonSpec"`
}
DatadogGenericResourceSpec defines the desired state of DatadogGenericResource +k8s:openapi-gen=true
func (*DatadogGenericResourceSpec) DeepCopy ¶ added in v1.12.0
func (in *DatadogGenericResourceSpec) DeepCopy() *DatadogGenericResourceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogGenericResourceSpec.
func (*DatadogGenericResourceSpec) DeepCopyInto ¶ added in v1.12.0
func (in *DatadogGenericResourceSpec) DeepCopyInto(out *DatadogGenericResourceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogGenericResourceStatus ¶ added in v1.12.0
type DatadogGenericResourceStatus struct {
// Conditions represents the latest available observations of the state of a DatadogGenericResource.
// +listType=map
// +listMapKey=type
Conditions []metav1.Condition `json:"conditions,omitempty"`
// Id is the object unique identifier generated in Datadog.
Id string `json:"id,omitempty"`
// Creator is the identity of the creator.
Creator string `json:"creator,omitempty"`
// Created is the time the object was created.
Created *metav1.Time `json:"created,omitempty"`
// SyncStatus shows the health of syncing the object state to Datadog.
SyncStatus DatadogSyncStatus `json:"syncStatus,omitempty"`
// CurrentHash tracks the hash of the current DatadogGenericResourceSpec to know
// if the JsonSpec has changed and needs an update.
CurrentHash string `json:"currentHash,omitempty"`
// LastForceSyncTime is the last time the API object was last force synced with the custom resource
LastForceSyncTime *metav1.Time `json:"lastForceSyncTime,omitempty"`
}
DatadogGenericResourceStatus defines the observed state of DatadogGenericResource +k8s:openapi-gen=true
func (*DatadogGenericResourceStatus) DeepCopy ¶ added in v1.12.0
func (in *DatadogGenericResourceStatus) DeepCopy() *DatadogGenericResourceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogGenericResourceStatus.
func (*DatadogGenericResourceStatus) DeepCopyInto ¶ added in v1.12.0
func (in *DatadogGenericResourceStatus) DeepCopyInto(out *DatadogGenericResourceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMetric ¶
type DatadogMetric struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec DatadogMetricSpec `json:"spec,omitempty"`
Status DatadogMetricStatus `json:"status,omitempty"`
}
DatadogMetric allows autoscaling on arbitrary Datadog query +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:path=datadogmetrics,scope=Namespaced +kubebuilder:printcolumn:name="active",type="string",JSONPath=".status.conditions[?(@.type=='Active')].status" +kubebuilder:printcolumn:name="valid",type="string",JSONPath=".status.conditions[?(@.type=='Valid')].status" +kubebuilder:printcolumn:name="value",type="string",JSONPath=".status.currentValue" +kubebuilder:printcolumn:name="references",type="string",JSONPath=".status.autoscalerReferences" +kubebuilder:printcolumn:name="update time",type="date",JSONPath=".status.conditions[?(@.type=='Updated')].lastUpdateTime" +k8s:openapi-gen=true +genclient
func (*DatadogMetric) DeepCopy ¶
func (in *DatadogMetric) DeepCopy() *DatadogMetric
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMetric.
func (*DatadogMetric) DeepCopyInto ¶
func (in *DatadogMetric) DeepCopyInto(out *DatadogMetric)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatadogMetric) DeepCopyObject ¶
func (in *DatadogMetric) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatadogMetricCondition ¶
type DatadogMetricCondition struct {
// Type of DatadogMetric condition.
Type DatadogMetricConditionType `json:"type"`
// Status of the condition, one of True, False, Unknown.
Status corev1.ConditionStatus `json:"status"`
// Last time the condition transitioned from one status to another.
// +optional
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
// Last time the condition was updated.
// +optional
LastUpdateTime metav1.Time `json:"lastUpdateTime,omitempty"`
// The reason for the condition's last transition.
// +optional
Reason string `json:"reason,omitempty"`
// A human readable message indicating details about the transition.
// +optional
Message string `json:"message,omitempty"`
}
DatadogMetricCondition describes the state of a DatadogMetric at a certain point. +k8s:openapi-gen=true
func (*DatadogMetricCondition) DeepCopy ¶
func (in *DatadogMetricCondition) DeepCopy() *DatadogMetricCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMetricCondition.
func (*DatadogMetricCondition) DeepCopyInto ¶
func (in *DatadogMetricCondition) DeepCopyInto(out *DatadogMetricCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMetricConditionType ¶
type DatadogMetricConditionType string
DatadogMetricConditionType type use to represent a DatadogMetric condition
const ( // DatadogMetricConditionTypeActive DatadogMetric is active (referenced by an HPA), Datadog will only be queried for active metrics DatadogMetricConditionTypeActive DatadogMetricConditionType = "Active" // DatadogMetricConditionTypeUpdated DatadogMetric is updated DatadogMetricConditionTypeUpdated DatadogMetricConditionType = "Updated" // DatadogMetricConditionTypeValid DatadogMetric.spec.query is invalid DatadogMetricConditionTypeValid DatadogMetricConditionType = "Valid" // DatadogMetricConditionTypeError the controller wasn't able to handle this DatadogMetric DatadogMetricConditionTypeError DatadogMetricConditionType = "Error" )
type DatadogMetricList ¶
type DatadogMetricList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []DatadogMetric `json:"items"`
}
DatadogMetricList contains a list of DatadogMetric +kubebuilder:object:root=true
func (*DatadogMetricList) DeepCopy ¶
func (in *DatadogMetricList) DeepCopy() *DatadogMetricList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMetricList.
func (*DatadogMetricList) DeepCopyInto ¶
func (in *DatadogMetricList) DeepCopyInto(out *DatadogMetricList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatadogMetricList) DeepCopyObject ¶
func (in *DatadogMetricList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatadogMetricSpec ¶
type DatadogMetricSpec struct {
// Query is the raw datadog query
Query string `json:"query,omitempty"`
// ExternalMetricName is reserved for internal use
ExternalMetricName string `json:"externalMetricName,omitempty"`
// MaxAge provides the max age for the metric query (overrides the default setting
// `external_metrics_provider.max_age`)
// +optional
MaxAge metav1.Duration `json:"maxAge,omitempty"`
// TimeWindow provides the time window for the metric query, defaults to MaxAge.
// +optional
TimeWindow metav1.Duration `json:"timeWindow,omitempty"`
}
DatadogMetricSpec defines the desired state of DatadogMetric
func (*DatadogMetricSpec) DeepCopy ¶
func (in *DatadogMetricSpec) DeepCopy() *DatadogMetricSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMetricSpec.
func (*DatadogMetricSpec) DeepCopyInto ¶
func (in *DatadogMetricSpec) DeepCopyInto(out *DatadogMetricSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMetricStatus ¶
type DatadogMetricStatus struct {
// Conditions Represents the latest available observations of a DatadogMetric's current state.
// +listType=map
// +listMapKey=type
Conditions []DatadogMetricCondition `json:"conditions,omitempty"`
// Value is the latest value of the metric
Value string `json:"currentValue"`
// List of autoscalers currently using this DatadogMetric
AutoscalerReferences string `json:"autoscalerReferences,omitempty"`
}
DatadogMetricStatus defines the observed state of DatadogMetric
func (*DatadogMetricStatus) DeepCopy ¶
func (in *DatadogMetricStatus) DeepCopy() *DatadogMetricStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMetricStatus.
func (*DatadogMetricStatus) DeepCopyInto ¶
func (in *DatadogMetricStatus) DeepCopyInto(out *DatadogMetricStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMonitor ¶
type DatadogMonitor struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec DatadogMonitorSpec `json:"spec,omitempty"`
Status DatadogMonitorStatus `json:"status,omitempty"`
}
DatadogMonitor allows to define and manage Monitors from your Kubernetes Cluster +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:path=datadogmonitors,scope=Namespaced +kubebuilder:printcolumn:name="id",type="string",JSONPath=".status.id" +kubebuilder:printcolumn:name="monitor state",type="string",JSONPath=".status.monitorState" +kubebuilder:printcolumn:name="last state transition",type="string",JSONPath=".status.monitorStateLastTransitionTime" +kubebuilder:printcolumn:name="last state sync",type="string",format="date",JSONPath=".status.monitorStateLastUpdateTime" +kubebuilder:printcolumn:name="sync status",type="string",JSONPath=".status.syncStatus" +kubebuilder:printcolumn:name="age",type="date",JSONPath=".metadata.creationTimestamp" +k8s:openapi-gen=true +genclient
func (*DatadogMonitor) DeepCopy ¶
func (in *DatadogMonitor) DeepCopy() *DatadogMonitor
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitor.
func (*DatadogMonitor) DeepCopyInto ¶
func (in *DatadogMonitor) DeepCopyInto(out *DatadogMonitor)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatadogMonitor) DeepCopyObject ¶
func (in *DatadogMonitor) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatadogMonitorCondition ¶
type DatadogMonitorCondition struct {
// Type of DatadogMonitor condition
Type DatadogMonitorConditionType `json:"type"`
// Status of the condition, one of True, False, Unknown.
Status corev1.ConditionStatus `json:"status"`
// Last time the condition transitioned from one status to another.
// +optional
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
// Last time the condition was updated.
// +optional
LastUpdateTime metav1.Time `json:"lastUpdateTime,omitempty"`
// The reason for the condition's last transition.
// +optional
Reason string `json:"reason,omitempty"`
// A human readable message indicating details about the transition.
// +optional
Message string `json:"message,omitempty"`
}
DatadogMonitorCondition describes the current state of a DatadogMonitor +k8s:openapi-gen=true
func (*DatadogMonitorCondition) DeepCopy ¶
func (in *DatadogMonitorCondition) DeepCopy() *DatadogMonitorCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorCondition.
func (*DatadogMonitorCondition) DeepCopyInto ¶
func (in *DatadogMonitorCondition) DeepCopyInto(out *DatadogMonitorCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMonitorConditionType ¶
type DatadogMonitorConditionType string
DatadogMonitorConditionType represents a DatadogMonitor condition
const ( // DatadogMonitorConditionTypeCreated means the DatadogMonitor is created successfully DatadogMonitorConditionTypeCreated DatadogMonitorConditionType = "Created" // DatadogMonitorConditionTypeActive means the DatadogMonitor is active DatadogMonitorConditionTypeActive DatadogMonitorConditionType = "Active" // DatadogMonitorConditionTypeUpdated means the DatadogMonitor is updated DatadogMonitorConditionTypeUpdated DatadogMonitorConditionType = "Updated" // DatadogMonitorConditionTypeError means the DatadogMonitor has an error DatadogMonitorConditionTypeError DatadogMonitorConditionType = "Error" )
type DatadogMonitorControllerOptions ¶
type DatadogMonitorControllerOptions struct {
// DisableRequiredTags disables the automatic addition of required tags to monitors.
DisableRequiredTags *bool `json:"disableRequiredTags,omitempty"`
}
DatadogMonitorControllerOptions defines options in the DatadogMonitor controller +k8s:openapi-gen=true
func (*DatadogMonitorControllerOptions) DeepCopy ¶
func (in *DatadogMonitorControllerOptions) DeepCopy() *DatadogMonitorControllerOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorControllerOptions.
func (*DatadogMonitorControllerOptions) DeepCopyInto ¶
func (in *DatadogMonitorControllerOptions) DeepCopyInto(out *DatadogMonitorControllerOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMonitorDowntimeStatus ¶
type DatadogMonitorDowntimeStatus struct {
// IsDowntimed shows the downtime status of the monitor.
IsDowntimed bool `json:"isDowntimed,omitempty"`
// DowntimeID is the downtime ID.
DowntimeID int `json:"downtimeID,omitempty"`
}
DatadogMonitorDowntimeStatus represents the downtime status of a DatadogMonitor +k8s:openapi-gen=true
func (*DatadogMonitorDowntimeStatus) DeepCopy ¶
func (in *DatadogMonitorDowntimeStatus) DeepCopy() *DatadogMonitorDowntimeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorDowntimeStatus.
func (*DatadogMonitorDowntimeStatus) DeepCopyInto ¶
func (in *DatadogMonitorDowntimeStatus) DeepCopyInto(out *DatadogMonitorDowntimeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMonitorList ¶
type DatadogMonitorList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []DatadogMonitor `json:"items"`
}
DatadogMonitorList contains a list of DatadogMonitors +kubebuilder:object:root=true
func (*DatadogMonitorList) DeepCopy ¶
func (in *DatadogMonitorList) DeepCopy() *DatadogMonitorList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorList.
func (*DatadogMonitorList) DeepCopyInto ¶
func (in *DatadogMonitorList) DeepCopyInto(out *DatadogMonitorList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatadogMonitorList) DeepCopyObject ¶
func (in *DatadogMonitorList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatadogMonitorOptions ¶
type DatadogMonitorOptions struct {
// A Boolean indicating whether to send a log sample when the log monitor triggers.
EnableLogsSample *bool `json:"enableLogsSample,omitempty"`
// A message to include with a re-notification.
EscalationMessage *string `json:"escalationMessage,omitempty"`
// Time (in seconds) to delay evaluation, as a non-negative integer. For example, if the value is set to 300 (5min),
// the timeframe is set to last_5m and the time is 7:00, the monitor evaluates data from 6:50 to 6:55.
// This is useful for AWS CloudWatch and other backfilled metrics to ensure the monitor always has data during evaluation.
EvaluationDelay *int64 `json:"evaluationDelay,omitempty"`
// A Boolean indicating whether notifications from this monitor automatically inserts its triggering tags into the title.
IncludeTags *bool `json:"includeTags,omitempty"`
// A Boolean indicating whether the log alert monitor triggers a single alert or multiple alerts when any group breaches a threshold.
GroupbySimpleMonitor *bool `json:"groupbySimpleMonitor,omitempty"`
// DEPRECATED: Whether or not the monitor is locked (only editable by creator and admins). Use `restricted_roles` instead.
// +deprecated
Locked *bool `json:"locked,omitempty"`
// Time (in seconds) to allow a host to boot and applications to fully start before starting the evaluation of
// monitor results. Should be a non negative integer.
NewGroupDelay *int64 `json:"newGroupDelay,omitempty"`
// The number of minutes before a monitor notifies after data stops reporting. Datadog recommends at least 2x the
// monitor timeframe for metric alerts or 2 minutes for service checks. If omitted, 2x the evaluation timeframe
// is used for metric alerts, and 24 hours is used for service checks.
NoDataTimeframe *int64 `json:"noDataTimeframe,omitempty"`
// An enum that toggles the display of additional content sent in the monitor notification.
NotificationPresetName DatadogMonitorOptionsNotificationPreset `json:"notificationPresetName,omitempty"`
// A Boolean indicating whether tagged users are notified on changes to this monitor.
NotifyAudit *bool `json:"notifyAudit,omitempty"`
// A string indicating the granularity a monitor alerts on. Only available for monitors with groupings.
// For instance, a monitor grouped by cluster, namespace, and pod can be configured to only notify on each new
// cluster violating the alert conditions by setting notify_by to ["cluster"]. Tags mentioned in notify_by must
// be a subset of the grouping tags in the query. For example, a query grouped by cluster and namespace cannot
// notify on region. Setting notify_by to [*] configures the monitor to notify as a simple-alert.
// +listType=set
NotifyBy []string `json:"notifyBy,omitempty"`
// A Boolean indicating whether this monitor notifies when data stops reporting.
NotifyNoData *bool `json:"notifyNoData,omitempty"`
// An enum that controls how groups or monitors are treated if an evaluation does not return data points.
// The default option results in different behavior depending on the monitor query type.
// For monitors using Count queries, an empty monitor evaluation is treated as 0 and is compared to the threshold conditions.
// For monitors using any query type other than Count, for example Gauge, Measure, or Rate, the monitor shows the last known status.
// This option is only available for APM Trace Analytics, Audit Trail, CI, Error Tracking, Event, Logs, and RUM monitors
OnMissingData DatadogMonitorOptionsOnMissingData `json:"onMissingData,omitempty"`
// The number of minutes after the last notification before a monitor re-notifies on the current status.
// It only re-notifies if it’s not resolved.
RenotifyInterval *int64 `json:"renotifyInterval,omitempty"`
// The number of times re-notification messages should be sent on the current status at the provided re-notification interval.
RenotifyOccurrences *int64 `json:"renotifyOccurrences,omitempty"`
// The types of statuses for which re-notification messages should be sent. Valid values are alert, warn, no data.
// +listType=set
RenotifyStatuses []datadogV1.MonitorRenotifyStatusType `json:"renotifyStatuses,omitempty"`
// A Boolean indicating whether this monitor needs a full window of data before it’s evaluated. We highly
// recommend you set this to false for sparse metrics, otherwise some evaluations are skipped. Default is false.
RequireFullWindow *bool `json:"requireFullWindow,omitempty"`
// The number of hours of the monitor not reporting data before it automatically resolves from a triggered state.
TimeoutH *int64 `json:"timeoutH,omitempty"`
// A struct of the different monitor threshold values.
Thresholds *DatadogMonitorOptionsThresholds `json:"thresholds,omitempty"`
// A struct of the alerting time window options.
ThresholdWindows *DatadogMonitorOptionsThresholdWindows `json:"thresholdWindows,omitempty"`
}
DatadogMonitorOptions define the optional parameters of a monitor +k8s:openapi-gen=true
func (*DatadogMonitorOptions) DeepCopy ¶
func (in *DatadogMonitorOptions) DeepCopy() *DatadogMonitorOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorOptions.
func (*DatadogMonitorOptions) DeepCopyInto ¶
func (in *DatadogMonitorOptions) DeepCopyInto(out *DatadogMonitorOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMonitorOptionsNotificationPreset ¶
type DatadogMonitorOptionsNotificationPreset string
DatadogMonitorOptionsNotificationPreset toggles the display of additional content sent in the monitor notification.
const ( DatadogMonitorOptionsNotificationPresetShowAll DatadogMonitorOptionsNotificationPreset = "show_all" DatadogMonitorOptionsNotificationPresetHideQuery DatadogMonitorOptionsNotificationPreset = "hide_query" DatadogMonitorOptionsNotificationPresetHideHandles DatadogMonitorOptionsNotificationPreset = "hide_handles" DatadogMonitorOptionsNotificationPresetHideAll DatadogMonitorOptionsNotificationPreset = "hide_all" )
type DatadogMonitorOptionsOnMissingData ¶
type DatadogMonitorOptionsOnMissingData string
DatadogMonitorOptionsOnMissingData controls how groups or monitors are treated if an evaluation does not return any data points
const ( DatadogMonitorOptionsOnMissingDataShowNoData DatadogMonitorOptionsOnMissingData = "show_no_data" DatadogMonitorOptionsOnMissingDataShowAndNotifyNoData DatadogMonitorOptionsOnMissingData = "show_and_notify_no_data" DatadogMonitorOptionsOnMissingDataResolve DatadogMonitorOptionsOnMissingData = "resolve" DatadogMonitorOptionsOnMissingDataDefault DatadogMonitorOptionsOnMissingData = "default" )
type DatadogMonitorOptionsThresholdWindows ¶
type DatadogMonitorOptionsThresholdWindows struct {
// Describes how long an anomalous metric must be normal before the alert recovers.
RecoveryWindow *string `json:"recoveryWindow,omitempty"`
// Describes how long a metric must be anomalous before an alert triggers.
TriggerWindow *string `json:"triggerWindow,omitempty"`
}
DatadogMonitorOptionsThresholdWindows is a struct of the alerting time window options +k8s:openapi-gen=true
func (*DatadogMonitorOptionsThresholdWindows) DeepCopy ¶
func (in *DatadogMonitorOptionsThresholdWindows) DeepCopy() *DatadogMonitorOptionsThresholdWindows
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorOptionsThresholdWindows.
func (*DatadogMonitorOptionsThresholdWindows) DeepCopyInto ¶
func (in *DatadogMonitorOptionsThresholdWindows) DeepCopyInto(out *DatadogMonitorOptionsThresholdWindows)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMonitorOptionsThresholds ¶
type DatadogMonitorOptionsThresholds struct {
// The monitor CRITICAL threshold.
Critical *string `json:"critical,omitempty"`
// The monitor CRITICAL recovery threshold.
CriticalRecovery *string `json:"criticalRecovery,omitempty"`
// The monitor OK threshold.
OK *string `json:"ok,omitempty"`
// The monitor UNKNOWN threshold.
Unknown *string `json:"unknown,omitempty"`
// The monitor WARNING threshold.
Warning *string `json:"warning,omitempty"`
// The monitor WARNING recovery threshold.
WarningRecovery *string `json:"warningRecovery,omitempty"`
}
DatadogMonitorOptionsThresholds is a struct of the different monitor threshold values +k8s:openapi-gen=true
func (*DatadogMonitorOptionsThresholds) DeepCopy ¶
func (in *DatadogMonitorOptionsThresholds) DeepCopy() *DatadogMonitorOptionsThresholds
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorOptionsThresholds.
func (*DatadogMonitorOptionsThresholds) DeepCopyInto ¶
func (in *DatadogMonitorOptionsThresholds) DeepCopyInto(out *DatadogMonitorOptionsThresholds)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMonitorSpec ¶
type DatadogMonitorSpec struct {
// Name is the monitor name
Name string `json:"name,omitempty"`
// Message is a message to include with notifications for this monitor
Message string `json:"message,omitempty"`
// Priority is an integer from 1 (high) to 5 (low) indicating alert severity
Priority int64 `json:"priority,omitempty"`
// Query is the Datadog monitor query
Query string `json:"query,omitempty"`
// RestrictedRoles is a list of unique role identifiers to define which roles are allowed to edit the monitor.
// `restricted_roles` is the successor of `locked`. For more information about `locked` and `restricted_roles`,
// see the [monitor options docs](https://docs.datadoghq.com/monitors/guide/monitor_api_options/#permissions-options).
// +listType=set
RestrictedRoles []string `json:"restrictedRoles,omitempty"`
// Tags is the monitor tags associated with your monitor
// +listType=set
Tags []string `json:"tags,omitempty"`
// Type is the monitor type
Type DatadogMonitorType `json:"type,omitempty"`
// Options are the optional parameters associated with your monitor
Options DatadogMonitorOptions `json:"options,omitempty"`
// ControllerOptions are the optional parameters in the DatadogMonitor controller
ControllerOptions DatadogMonitorControllerOptions `json:"controllerOptions,omitempty"`
}
DatadogMonitorSpec defines the desired state of DatadogMonitor +k8s:openapi-gen=true
func (*DatadogMonitorSpec) DeepCopy ¶
func (in *DatadogMonitorSpec) DeepCopy() *DatadogMonitorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorSpec.
func (*DatadogMonitorSpec) DeepCopyInto ¶
func (in *DatadogMonitorSpec) DeepCopyInto(out *DatadogMonitorSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMonitorState ¶
type DatadogMonitorState string
DatadogMonitorState represents the overall DatadogMonitor state
const ( // DatadogMonitorStateOK means the DatadogMonitor is OK DatadogMonitorStateOK DatadogMonitorState = "OK" // DatadogMonitorStateAlert means the DatadogMonitor triggered an alert DatadogMonitorStateAlert DatadogMonitorState = "Alert" // DatadogMonitorStateWarn means the DatadogMonitor triggered a warning DatadogMonitorStateWarn DatadogMonitorState = "Warn" // DatadogMonitorStateNoData means the DatadogMonitor triggered a no data alert DatadogMonitorStateNoData DatadogMonitorState = "No Data" // DatadogMonitorStateSkipped means the DatadogMonitor is skipped DatadogMonitorStateSkipped DatadogMonitorState = "Skipped" // DatadogMonitorStateIgnored means the DatadogMonitor is ignored DatadogMonitorStateIgnored DatadogMonitorState = "Ignored" // DatadogMonitorStateUnknown means the DatadogMonitor is in an unknown state DatadogMonitorStateUnknown DatadogMonitorState = "Unknown" )
type DatadogMonitorStatus ¶
type DatadogMonitorStatus struct {
// Conditions Represents the latest available observations of a DatadogMonitor's current state.
// +listType=map
// +listMapKey=type
Conditions []DatadogMonitorCondition `json:"conditions,omitempty"`
// ID is the monitor ID generated in Datadog
ID int `json:"id,omitempty"`
// Creator is the identify of the monitor creator
Creator string `json:"creator,omitempty"`
// Created is the time the monitor was created
Created *metav1.Time `json:"created,omitempty"`
// MonitorState is the overall state of monitor
MonitorState DatadogMonitorState `json:"monitorState,omitempty"`
// MonitorLastForceSyncTime is the last time the API monitor was last force synced with the DatadogMonitor resource
MonitorLastForceSyncTime *metav1.Time `json:"monitorLastForceSyncTime,omitempty"`
// MonitorStateLastUpdateTime is the last time the monitor state updated
MonitorStateLastUpdateTime *metav1.Time `json:"monitorStateLastUpdateTime,omitempty"`
// MonitorStateLastTransitionTime is the last time the monitor state changed
MonitorStateLastTransitionTime *metav1.Time `json:"monitorStateLastTransitionTime,omitempty"`
// MonitorStateSyncStatus shows the health of syncing the monitor state to Datadog
MonitorStateSyncStatus MonitorStateSyncStatusMessage `json:"monitorStateSyncStatus,omitempty"`
// TriggeredState only includes details for monitor groups that are triggering
// +listType=map
// +listMapKey=monitorGroup
TriggeredState []DatadogMonitorTriggeredState `json:"triggeredState,omitempty"`
// DowntimeStatus defines whether the monitor is downtimed
DowntimeStatus DatadogMonitorDowntimeStatus `json:"downtimeStatus,omitempty"`
// Primary defines whether the monitor is managed by the Kubernetes custom
// resource (true) or outside Kubernetes (false)
Primary bool `json:"primary,omitempty"`
// CurrentHash tracks the hash of the current DatadogMonitorSpec to know
// if the Spec has changed and needs an update
CurrentHash string `json:"currentHash,omitempty"`
}
DatadogMonitorStatus defines the observed state of DatadogMonitor +k8s:openapi-gen=true
func (*DatadogMonitorStatus) DeepCopy ¶
func (in *DatadogMonitorStatus) DeepCopy() *DatadogMonitorStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorStatus.
func (*DatadogMonitorStatus) DeepCopyInto ¶
func (in *DatadogMonitorStatus) DeepCopyInto(out *DatadogMonitorStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMonitorTriggeredState ¶
type DatadogMonitorTriggeredState struct {
// MonitorGroup is the name of the triggering group
MonitorGroup string `json:"monitorGroup"`
State DatadogMonitorState `json:"state,omitempty"`
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
}
DatadogMonitorTriggeredState represents the details of a triggering DatadogMonitor The DatadogMonitor is triggering if one of its groups is in Alert, Warn, or No Data +k8s:openapi-gen=true
func (*DatadogMonitorTriggeredState) DeepCopy ¶
func (in *DatadogMonitorTriggeredState) DeepCopy() *DatadogMonitorTriggeredState
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorTriggeredState.
func (*DatadogMonitorTriggeredState) DeepCopyInto ¶
func (in *DatadogMonitorTriggeredState) DeepCopyInto(out *DatadogMonitorTriggeredState)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMonitorType ¶
type DatadogMonitorType string
DatadogMonitorType defines the type of monitor
const ( // DatadogMonitorTypeMetric is the metric alert monitor type DatadogMonitorTypeMetric DatadogMonitorType = "metric alert" // DatadogMonitorTypeQuery is the query alert monitor type DatadogMonitorTypeQuery DatadogMonitorType = "query alert" // DatadogMonitorTypeService is the service check monitor type DatadogMonitorTypeService DatadogMonitorType = "service check" // DatadogMonitorTypeEvent is the event alert monitor type DatadogMonitorTypeEvent DatadogMonitorType = "event alert" // DatadogMonitorTypeLog is the log alert monitor type DatadogMonitorTypeLog DatadogMonitorType = "log alert" // DatadogMonitorTypeProcess is the process alert monitor type DatadogMonitorTypeProcess DatadogMonitorType = "process alert" // DatadogMonitorTypeRUM is the rum alert monitor type DatadogMonitorTypeRUM DatadogMonitorType = "rum alert" // DatadogMonitorTypeTraceAnalytics is the trace-analytics alert monitor type DatadogMonitorTypeTraceAnalytics DatadogMonitorType = "trace-analytics alert" // DatadogMonitorTypeSLO is the slo alert monitor type DatadogMonitorTypeSLO DatadogMonitorType = "slo alert" // DatadogMonitorTypeEventV2 is the event-v2 alert monitor type DatadogMonitorTypeEventV2 DatadogMonitorType = "event-v2 alert" // DatadogMonitorTypeAudit is the audit alert monitor type DatadogMonitorTypeAudit DatadogMonitorType = "audit alert" // DatadogMonitorTypeComposite is the composite alert monitor type DatadogMonitorTypeComposite DatadogMonitorType = "composite" )
type DatadogPodAutoscaler ¶
type DatadogPodAutoscaler struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec DatadogPodAutoscalerSpec `json:"spec,omitempty"`
Status DatadogPodAutoscalerStatus `json:"status,omitempty"`
}
DatadogPodAutoscaler is the Schema for the datadogpodautoscalers API
func (*DatadogPodAutoscaler) DeepCopy ¶
func (in *DatadogPodAutoscaler) DeepCopy() *DatadogPodAutoscaler
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogPodAutoscaler.
func (*DatadogPodAutoscaler) DeepCopyInto ¶
func (in *DatadogPodAutoscaler) DeepCopyInto(out *DatadogPodAutoscaler)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatadogPodAutoscaler) DeepCopyObject ¶
func (in *DatadogPodAutoscaler) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatadogPodAutoscalerApplyMode ¶
type DatadogPodAutoscalerApplyMode string
DatadogPodAutoscalerOwner defines the source of truth for this object (local or remote) +kubebuilder:validation:Enum:=All;Manual;None
const ( // DatadogPodAutoscalerAllApplyMode allows the controller to apply all recommendations (regular and manual) DatadogPodAutoscalerAllApplyMode DatadogPodAutoscalerApplyMode = "All" // DatadogPodAutoscalerManualApplyMode allows the controller to only apply manual recommendations (recommendations manually validated by user in the Datadog app) DatadogPodAutoscalerManualApplyMode DatadogPodAutoscalerApplyMode = "Manual" // DatadogPodAutoscalerNoneApplyMode prevent the controller to apply any recommendations. Datadog will still produce and display recommendations // but the controller will not apply them, even when they are manually validated. Similar to "DryRun" mode. DatadogPodAutoscalerNoneApplyMode DatadogPodAutoscalerApplyMode = "None" )
type DatadogPodAutoscalerCondition ¶
type DatadogPodAutoscalerCondition struct {
// Type of DatadogMetric condition.
Type DatadogPodAutoscalerConditionType `json:"type"`
// Status of the condition, one of True, False, Unknown.
Status corev1.ConditionStatus `json:"status"`
// Last time the condition transitioned from one status to another.
// +optional
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
// The reason for the condition's last transition.
// +optional
Reason string `json:"reason,omitempty"`
// A human readable message indicating details about the transition.
// +optional
Message string `json:"message,omitempty"`
}
DatadogPodAutoscalerCondition describes the state of DatadogPodAutoscaler.
func (*DatadogPodAutoscalerCondition) DeepCopy ¶
func (in *DatadogPodAutoscalerCondition) DeepCopy() *DatadogPodAutoscalerCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogPodAutoscalerCondition.
func (*DatadogPodAutoscalerCondition) DeepCopyInto ¶
func (in *DatadogPodAutoscalerCondition) DeepCopyInto(out *DatadogPodAutoscalerCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogPodAutoscalerConditionType ¶
type DatadogPodAutoscalerConditionType string
DatadogPodAutoscalerConditionType type use to represent a DatadogMetric condition
const ( // DatadogPodAutoscalerErrorCondition is true when a global error is encountered processing this DatadogPodAutoscaler. DatadogPodAutoscalerErrorCondition DatadogPodAutoscalerConditionType = "Error" // DatadogPodAutoscalerActiveCondition is true when the DatadogPodAutoscaler can be used for autoscaling. DatadogPodAutoscalerActiveCondition DatadogPodAutoscalerConditionType = "Active" // DatadogPodAutoscalerHorizontalAbleToRecommendCondition is true when we can get horizontal recommendation from Datadog. DatadogPodAutoscalerHorizontalAbleToRecommendCondition DatadogPodAutoscalerConditionType = "HorizontalAbleToRecommend" // DatadogPodAutoscalerHorizontalAbleToScaleCondition is true when horizontal scaling is working correctly. DatadogPodAutoscalerHorizontalAbleToScaleCondition DatadogPodAutoscalerConditionType = "HorizontalAbleToScale" // DatadogPodAutoscalerHorizontalScalingLimitedCondition is true when horizontal scaling is limited by constraints. DatadogPodAutoscalerHorizontalScalingLimitedCondition DatadogPodAutoscalerConditionType = "HorizontalScalingLimited" // DatadogPodAutoscalerVerticalAbleToRecommendCondition is true when we can ge vertical recommendation from Datadog. DatadogPodAutoscalerVerticalAbleToRecommendCondition DatadogPodAutoscalerConditionType = "VerticalAbleToRecommend" // DatadogPodAutoscalerVerticalAbleToApply is true when we can rollout the targetRef to pick up new resources. DatadogPodAutoscalerVerticalAbleToApply DatadogPodAutoscalerConditionType = "VerticalAbleToApply" )
type DatadogPodAutoscalerConstraints ¶
type DatadogPodAutoscalerConstraints struct {
// MinReplicas is the lower limit for the number of POD replicas. Needs to be >= 1. Default to 1.
// +kubebuilder:validation:Minimum=1
MinReplicas *int32 `json:"minReplicas,omitempty"`
// MaxReplicas is the upper limit for the number of POD replicas. Needs to be >= minReplicas.
MaxReplicas int32 `json:"maxReplicas"`
// Containers defines constraints for the containers.
Containers []DatadogPodAutoscalerContainerConstraints `json:"containers,omitempty"`
}
DatadogPodAutoscalerConstraints defines constraints that should always be respected.
func (*DatadogPodAutoscalerConstraints) DeepCopy ¶
func (in *DatadogPodAutoscalerConstraints) DeepCopy() *DatadogPodAutoscalerConstraints
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogPodAutoscalerConstraints.
func (*DatadogPodAutoscalerConstraints) DeepCopyInto ¶
func (in *DatadogPodAutoscalerConstraints) DeepCopyInto(out *DatadogPodAutoscalerConstraints)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogPodAutoscalerContainerConstraints ¶
type DatadogPodAutoscalerContainerConstraints struct {
// Name is the name of the container. Can be "*" to apply to all containers.
Name string `json:"name"`
// Enabled false allows to disable resources autoscaling for the container. Default to true.
Enabled *bool `json:"enabled,omitempty"`
// Requests defines the constraints for the requests of the container.
Requests *DatadogPodAutoscalerContainerResourceConstraints `json:"requests,omitempty"`
// Limits defines the constraints for the limits of the container.
Limits *DatadogPodAutoscalerContainerResourceConstraints `json:"limits,omitempty"`
}
DatadogPodAutoscalerContainerConstraints defines constraints that should always be respected for a container. If no constraints are set, it enables resources scaling for all containers without any constraints.
func (*DatadogPodAutoscalerContainerConstraints) DeepCopy ¶
func (in *DatadogPodAutoscalerContainerConstraints) DeepCopy() *DatadogPodAutoscalerContainerConstraints
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogPodAutoscalerContainerConstraints.
func (*DatadogPodAutoscalerContainerConstraints) DeepCopyInto ¶
func (in *DatadogPodAutoscalerContainerConstraints) DeepCopyInto(out *DatadogPodAutoscalerContainerConstraints)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogPodAutoscalerContainerResourceConstraints ¶
type DatadogPodAutoscalerContainerResourceConstraints struct {
// MinAllowed is the lower limit for the requests of the container.
// +optional
MinAllowed corev1.ResourceList `json:"minAllowed,omitempty"`
// MaxAllowed is the upper limit for the requests of the container.
// +optional
MaxAllowed corev1.ResourceList `json:"maxAllowed,omitempty"`
}
func (*DatadogPodAutoscalerContainerResourceConstraints) DeepCopy ¶
func (in *DatadogPodAutoscalerContainerResourceConstraints) DeepCopy() *DatadogPodAutoscalerContainerResourceConstraints
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogPodAutoscalerContainerResourceConstraints.
func (*DatadogPodAutoscalerContainerResourceConstraints) DeepCopyInto ¶
func (in *DatadogPodAutoscalerContainerResourceConstraints) DeepCopyInto(out *DatadogPodAutoscalerContainerResourceConstraints)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogPodAutoscalerContainerResourceTarget ¶
type DatadogPodAutoscalerContainerResourceTarget struct {
// Name is the name of the resource.
// +kubebuilder:validation:Enum:=cpu
Name corev1.ResourceName `json:"name"`
// Value is the value of the target.
Value DatadogPodAutoscalerTargetValue `json:"value"`
// Container is the name of the container.
Container string `json:"container"`
}
DatadogPodAutoscalerContainerResourceTarget defines a Container level resource target (for instance, CPU Utilization for container named "foo" at 80%)
func (*DatadogPodAutoscalerContainerResourceTarget) DeepCopy ¶
func (in *DatadogPodAutoscalerContainerResourceTarget) DeepCopy() *DatadogPodAutoscalerContainerResourceTarget
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogPodAutoscalerContainerResourceTarget.
func (*DatadogPodAutoscalerContainerResourceTarget) DeepCopyInto ¶
func (in *DatadogPodAutoscalerContainerResourceTarget) DeepCopyInto(out *DatadogPodAutoscalerContainerResourceTarget)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogPodAutoscalerContainerResources ¶
type DatadogPodAutoscalerContainerResources struct {
// Name is the name of the container
Name string `json:"name"`
// Limits describes the maximum amount of compute resources allowed.
// +optional
Limits corev1.ResourceList `json:"limits,omitempty"`
// Requests describes target resources of compute resources allowed.
// +optional
Requests corev1.ResourceList `json:"requests,omitempty"`
}
func (*DatadogPodAutoscalerContainerResources) DeepCopy ¶
func (in *DatadogPodAutoscalerContainerResources) DeepCopy() *DatadogPodAutoscalerContainerResources
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogPodAutoscalerContainerResources.
func (*DatadogPodAutoscalerContainerResources) DeepCopyInto ¶
func (in *DatadogPodAutoscalerContainerResources) DeepCopyInto(out *DatadogPodAutoscalerContainerResources)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogPodAutoscalerHorizontalAction ¶
type DatadogPodAutoscalerHorizontalAction struct {
// Time is the timestamp of the action
Time metav1.Time `json:"time"`
// FromReplicas is the number of replicas before the action
FromReplicas int32 `json:"replicas"`
// ToReplicas is the effective number of replicas after the action
ToReplicas int32 `json:"toReplicas"`
// RecommendedReplicas is the original number of replicas recommended by Datadog
RecommendedReplicas *int32 `json:"recommendedReplicas,omitempty"`
// LimitedReason is the reason why the action was limited (ToReplicas != RecommendedReplicas)
LimitedReason *string `json:"limitedReason,omitempty"`
}
DatadogPodAutoscalerHorizontalAction represents an horizontal action done by the controller
func (*DatadogPodAutoscalerHorizontalAction) DeepCopy ¶
func (in *DatadogPodAutoscalerHorizontalAction) DeepCopy() *DatadogPodAutoscalerHorizontalAction
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogPodAutoscalerHorizontalAction.
func (*DatadogPodAutoscalerHorizontalAction) DeepCopyInto ¶
func (in *DatadogPodAutoscalerHorizontalAction) DeepCopyInto(out *DatadogPodAutoscalerHorizontalAction)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogPodAutoscalerHorizontalStatus ¶
type DatadogPodAutoscalerHorizontalStatus struct {
// Target is the current target of the horizontal scaling
Target *DatadogPodAutoscalerHorizontalTargetStatus `json:"target,omitempty"`
// LastActions are the last successful actions done by the controller
LastActions []DatadogPodAutoscalerHorizontalAction `json:"lastActions,omitempty"`
}
DatadogPodAutoscalerHorizontalStatus defines the status of the horizontal scaling
func (*DatadogPodAutoscalerHorizontalStatus) DeepCopy ¶
func (in *DatadogPodAutoscalerHorizontalStatus) DeepCopy() *DatadogPodAutoscalerHorizontalStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogPodAutoscalerHorizontalStatus.
func (*DatadogPodAutoscalerHorizontalStatus) DeepCopyInto ¶
func (in *DatadogPodAutoscalerHorizontalStatus) DeepCopyInto(out *DatadogPodAutoscalerHorizontalStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogPodAutoscalerHorizontalTargetStatus ¶
type DatadogPodAutoscalerHorizontalTargetStatus struct {
// Source is the source of the value used to scale the target resource
Source DatadogPodAutoscalerValueSource `json:"source"`
// GeneratedAt is the timestamp at which the recommendation was generated
GeneratedAt metav1.Time `json:"generatedAt,omitempty"`
// Replicas is the desired number of replicas for the resource
Replicas int32 `json:"desiredReplicas"`
}
DatadogPodAutoscalerHorizontalTargetStatus defines the current target of the horizontal scaling
func (*DatadogPodAutoscalerHorizontalTargetStatus) DeepCopy ¶
func (in *DatadogPodAutoscalerHorizontalTargetStatus) DeepCopy() *DatadogPodAutoscalerHorizontalTargetStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogPodAutoscalerHorizontalTargetStatus.
func (*DatadogPodAutoscalerHorizontalTargetStatus) DeepCopyInto ¶
func (in *DatadogPodAutoscalerHorizontalTargetStatus) DeepCopyInto(out *DatadogPodAutoscalerHorizontalTargetStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogPodAutoscalerList ¶
type DatadogPodAutoscalerList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []DatadogPodAutoscaler `json:"items"`
}
DatadogPodAutoscalerList contains a list of DatadogPodAutoscaler
func (*DatadogPodAutoscalerList) DeepCopy ¶
func (in *DatadogPodAutoscalerList) DeepCopy() *DatadogPodAutoscalerList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogPodAutoscalerList.
func (*DatadogPodAutoscalerList) DeepCopyInto ¶
func (in *DatadogPodAutoscalerList) DeepCopyInto(out *DatadogPodAutoscalerList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatadogPodAutoscalerList) DeepCopyObject ¶
func (in *DatadogPodAutoscalerList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatadogPodAutoscalerOwner ¶
type DatadogPodAutoscalerOwner string
DatadogPodAutoscalerOwner defines the source of truth for this object (local or remote) +kubebuilder:validation:Enum:=Local;Remote
const ( // DatadogPodAutoscalerLocalOwner states that this `DatadogPodAutoscaler` object is created/managed outside of Datadog app. DatadogPodAutoscalerLocalOwner DatadogPodAutoscalerOwner = "Local" // DatadogPodAutoscalerLocalOwner states that this `DatadogPodAutoscaler` object is created/managed in Datadog app. DatadogPodAutoscalerRemoteOwner DatadogPodAutoscalerOwner = "Remote" )
type DatadogPodAutoscalerPolicy ¶
type DatadogPodAutoscalerPolicy struct {
// ApplyMode determines recommendations that should be applied by the controller:
// - All: Apply all recommendations (regular and manual).
// - Manual: Apply only manual recommendations (recommendations manually validated by user in the Datadog app).
// - None: Prevent the controller to apply any recommendations.
// It's also possible to selectively deactivate upscale, downscale or update actions thanks to the `Upscale`, `Downscale` and `Update` fields.
// +optional
// +kubebuilder:default=All
ApplyMode DatadogPodAutoscalerApplyMode `json:"applyMode"`
// Update defines the policy to update target resource.
Update *DatadogPodAutoscalerUpdatePolicy `json:"update,omitempty"`
// Upscale defines the policy to scale up the target resource.
Upscale *DatadogPodAutoscalerScalingPolicy `json:"upscale,omitempty"`
// Downscale defines the policy to scale down the target resource.
Downscale *DatadogPodAutoscalerScalingPolicy `json:"downscale,omitempty"`
}
DatadogPodAutoscalerPolicy defines how recommendations should be applied.
func (*DatadogPodAutoscalerPolicy) DeepCopy ¶
func (in *DatadogPodAutoscalerPolicy) DeepCopy() *DatadogPodAutoscalerPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogPodAutoscalerPolicy.
func (*DatadogPodAutoscalerPolicy) DeepCopyInto ¶
func (in *DatadogPodAutoscalerPolicy) DeepCopyInto(out *DatadogPodAutoscalerPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogPodAutoscalerResourceTarget ¶
type DatadogPodAutoscalerResourceTarget struct {
// Name is the name of the resource.
// +kubebuilder:validation:Enum:=cpu
Name corev1.ResourceName `json:"name"`
// Value is the value of the target.
Value DatadogPodAutoscalerTargetValue `json:"value"`
}
DatadogPodAutoscalerResourceTarget defines a POD-level resource target (for instance, CPU Utilization at 80%) For POD-level targets, resources are the sum of all containers resources. Utilization is computed from sum(usage) / sum(requests).
func (*DatadogPodAutoscalerResourceTarget) DeepCopy ¶
func (in *DatadogPodAutoscalerResourceTarget) DeepCopy() *DatadogPodAutoscalerResourceTarget
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogPodAutoscalerResourceTarget.
func (*DatadogPodAutoscalerResourceTarget) DeepCopyInto ¶
func (in *DatadogPodAutoscalerResourceTarget) DeepCopyInto(out *DatadogPodAutoscalerResourceTarget)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogPodAutoscalerScalingPolicy ¶
type DatadogPodAutoscalerScalingPolicy struct {
// Strategy is used to specify which policy should be used.
// If not set, the default value Max is used.
// +optional
Strategy *DatadogPodAutoscalerScalingStrategySelect `json:"strategy,omitempty"`
// Rules is a list of potential scaling polices which can be used during scaling.
// At least one policy must be specified, otherwise the DatadogPodAutoscalerScalingPolicy will be discarded as invalid
// +listType=atomic
// +optional
Rules []DatadogPodAutoscalerScalingRule `json:"rules,omitempty"`
// StabilizationWindowSeconds is the number of seconds the controller should lookback at previous recommendations
// before deciding to apply a new one. Defaults to 0.
// +optional
// +kubebuilder:validation:Minimum=0
// +kubebuilder:validation:Maximum=1800
StabilizationWindowSeconds int32 `json:"stabilizationWindowSeconds,omitempty"`
}
DatadogPodAutoscalerScalingPolicy defines the policy to scale the target resource.
func (*DatadogPodAutoscalerScalingPolicy) DeepCopy ¶
func (in *DatadogPodAutoscalerScalingPolicy) DeepCopy() *DatadogPodAutoscalerScalingPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogPodAutoscalerScalingPolicy.
func (*DatadogPodAutoscalerScalingPolicy) DeepCopyInto ¶
func (in *DatadogPodAutoscalerScalingPolicy) DeepCopyInto(out *DatadogPodAutoscalerScalingPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogPodAutoscalerScalingRule ¶
type DatadogPodAutoscalerScalingRule struct {
// Type is used to specify the scaling policy.
Type DatadogPodAutoscalerScalingRuleType `json:"type"`
// Value contains the amount of change which is permitted by the policy.
// Setting it to 0 will prevent any scaling in this direction and should not be used unless Match is set to IfScalingEvent.
// +kubebuilder:validation:Minimum=0
Value int32 `json:"value"`
// PeriodSeconds specifies the window of time for which the policy should hold true.
// PeriodSeconds must be greater than zero and less than or equal to 1800 (30 min).
// +kubebuilder:validation:Minimum=1
// +kubebuilder:validation:Maximum=1800
PeriodSeconds int32 `json:"periodSeconds"`
// Match defines if the rule should be considered or not in the calculation.
// Default to Always if not set.
Match *DatadogPodAutoscalerScalingRuleMatch `json:"match,omitempty"`
}
DatadogPodAutoscalerScalingRule define rules for horizontal that should be true for a certain amount of time.
func (*DatadogPodAutoscalerScalingRule) DeepCopy ¶
func (in *DatadogPodAutoscalerScalingRule) DeepCopy() *DatadogPodAutoscalerScalingRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogPodAutoscalerScalingRule.
func (*DatadogPodAutoscalerScalingRule) DeepCopyInto ¶
func (in *DatadogPodAutoscalerScalingRule) DeepCopyInto(out *DatadogPodAutoscalerScalingRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogPodAutoscalerScalingRuleMatch ¶
type DatadogPodAutoscalerScalingRuleMatch string
DatadogPodAutoscalerScalingRuleMatch +kubebuilder:validation:Enum:=Always;IfScalingEvent
const ( // DatadogPodAutoscalerAlwaysScalingRuleMatch defines that the rule should always be considered in the calculation. DatadogPodAutoscalerAlwaysScalingRuleMatch DatadogPodAutoscalerScalingRuleMatch = "Always" // DatadogPodAutoscalerIfScalingEventRuleMatch defines that rule should only be considered if at least one scaling event occurred. // It allows to define behaviors such as forbidden windows (e.g. allow 0 PODs (Value) to be created in the next 5m (PeriodSeconds) after a scaling events). DatadogPodAutoscalerIfScalingEventRuleMatch DatadogPodAutoscalerScalingRuleMatch = "IfScalingEvent" )
type DatadogPodAutoscalerScalingRuleType ¶
type DatadogPodAutoscalerScalingRuleType string
DatadogPodAutoscalerScalingRuleType defines how scaling rule value should be interpreted. +kubebuilder:validation:Enum:=Pods;Percent
const ( // DatadogPodAutoscalerPodsScalingRuleType specifies a change in absolute number of pods compared to the starting number of PODs. DatadogPodAutoscalerPodsScalingRuleType DatadogPodAutoscalerScalingRuleType = "Pods" // DatadogPodAutoscalerPercentScalingRuleType specifies a relative amount of change compared to the starting number of PODs. DatadogPodAutoscalerPercentScalingRuleType DatadogPodAutoscalerScalingRuleType = "Percent" )
type DatadogPodAutoscalerScalingStrategySelect ¶
type DatadogPodAutoscalerScalingStrategySelect string
DatadogPodAutoscalerScalingStrategySelect is used to specify which policy should be used while scaling in a certain direction +kubebuilder:validation:Enum:=Max;Min;Disabled
const ( // DatadogPodAutoscalerMaxChangeStrategySelect selects the policy with the highest possible change. DatadogPodAutoscalerMaxChangeStrategySelect DatadogPodAutoscalerScalingStrategySelect = "Max" // DatadogPodAutoscalerMinChangeStrategySelect selects the policy with the lowest possible change. DatadogPodAutoscalerMinChangeStrategySelect DatadogPodAutoscalerScalingStrategySelect = "Min" // DatadogPodAutoscalerDisabledStrategySelect disables the scaling in this direction. DatadogPodAutoscalerDisabledStrategySelect DatadogPodAutoscalerScalingStrategySelect = "Disabled" )
type DatadogPodAutoscalerSpec ¶
type DatadogPodAutoscalerSpec struct {
// TargetRef is the reference to the resource to scale.
TargetRef autoscalingv2.CrossVersionObjectReference `json:"targetRef"`
// Owner defines the source of truth for this object (local or remote)
// Value needs to be set when a DatadogPodAutoscaler object is created.
Owner DatadogPodAutoscalerOwner `json:"owner"`
// RemoteVersion is the version of the .Spec currently store in this object.
// Only set if the owner is Remote.
RemoteVersion *uint64 `json:"remoteVersion,omitempty"`
// Policy defines how recommendations should be applied.
// +optional
// +kubebuilder:default={}
Policy *DatadogPodAutoscalerPolicy `json:"policy,omitempty"`
// Targets are objectives to reach and maintain for the target resource.
// Default to a single target to maintain 80% POD CPU utilization.
// +listType=atomic
// +optional
Targets []DatadogPodAutoscalerTarget `json:"targets,omitempty"`
// Constraints defines constraints that should always be respected.
Constraints *DatadogPodAutoscalerConstraints `json:"constraints,omitempty"`
}
DatadogPodAutoscalerSpec defines the desired state of DatadogPodAutoscaler
func (*DatadogPodAutoscalerSpec) DeepCopy ¶
func (in *DatadogPodAutoscalerSpec) DeepCopy() *DatadogPodAutoscalerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogPodAutoscalerSpec.
func (*DatadogPodAutoscalerSpec) DeepCopyInto ¶
func (in *DatadogPodAutoscalerSpec) DeepCopyInto(out *DatadogPodAutoscalerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogPodAutoscalerStatus ¶
type DatadogPodAutoscalerStatus struct {
// Vertical is the status of the vertical scaling, if activated.
// +optional
Vertical *DatadogPodAutoscalerVerticalStatus `json:"vertical,omitempty"`
// Horizontal is the status of the horizontal scaling, if activated.
// +optional
Horizontal *DatadogPodAutoscalerHorizontalStatus `json:"horizontal,omitempty"`
// CurrentReplicas is the current number of PODs for the targetRef observed by the controller.
// +optional
CurrentReplicas *int32 `json:"currentReplicas,omitempty"`
// Conditions describe the current state of the DatadogPodAutoscaler operations.
// +patchMergeKey=type
// +patchStrategy=merge
// +listType=map
// +listMapKey=type
// +optional
Conditions []DatadogPodAutoscalerCondition `json:"conditions,omitempty"`
}
DatadogPodAutoscalerStatus defines the observed state of DatadogPodAutoscaler
func (*DatadogPodAutoscalerStatus) DeepCopy ¶
func (in *DatadogPodAutoscalerStatus) DeepCopy() *DatadogPodAutoscalerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogPodAutoscalerStatus.
func (*DatadogPodAutoscalerStatus) DeepCopyInto ¶
func (in *DatadogPodAutoscalerStatus) DeepCopyInto(out *DatadogPodAutoscalerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogPodAutoscalerTarget ¶
type DatadogPodAutoscalerTarget struct {
// Type sets the type of the target.
Type DatadogPodAutoscalerTargetType `json:"type"`
// PodResource allows to set a POD-level resource target.
PodResource *DatadogPodAutoscalerResourceTarget `json:"podResource,omitempty"`
// ContainerResource allows to set a container-level resource target.
ContainerResource *DatadogPodAutoscalerContainerResourceTarget `json:"containerResource,omitempty"`
}
DatadogPodAutoscalerTarget defines the objectives to reach and maintain for the target resource.
func (*DatadogPodAutoscalerTarget) DeepCopy ¶
func (in *DatadogPodAutoscalerTarget) DeepCopy() *DatadogPodAutoscalerTarget
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogPodAutoscalerTarget.
func (*DatadogPodAutoscalerTarget) DeepCopyInto ¶
func (in *DatadogPodAutoscalerTarget) DeepCopyInto(out *DatadogPodAutoscalerTarget)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogPodAutoscalerTargetType ¶
type DatadogPodAutoscalerTargetType string
DatadogPodAutoscalerTargetType defines the type of the target. +kubebuilder:validation:Enum:=PodResource;ContainerResource
const ( // DatadogPodAutoscalerResourceTargetType allows to set POD-level resources targets. DatadogPodAutoscalerResourceTargetType DatadogPodAutoscalerTargetType = "PodResource" // DatadogPodAutoscalerContainerResourceTargetType allows to set container-level resources targets. DatadogPodAutoscalerContainerResourceTargetType DatadogPodAutoscalerTargetType = "ContainerResource" )
type DatadogPodAutoscalerTargetValue ¶
type DatadogPodAutoscalerTargetValue struct {
// Type specifies how the value is expressed (Absolute or Utilization).
Type DatadogPodAutoscalerTargetValueType `json:"type"`
// Absolute defines the absolute value of the target (for instance 500 millicores).
Absolute *resource.Quantity `json:"absolute,omitempty"`
// Utilization defines a percentage of the target compared to requested resource
// +kubebuilder:validation:Minimum=0
// +kubebuilder:validation:Maximum=100
Utilization *int32 `json:"utilization,omitempty"`
}
DatadogPodAutoscalerTargetValue defines the value of the target.
func (*DatadogPodAutoscalerTargetValue) DeepCopy ¶
func (in *DatadogPodAutoscalerTargetValue) DeepCopy() *DatadogPodAutoscalerTargetValue
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogPodAutoscalerTargetValue.
func (*DatadogPodAutoscalerTargetValue) DeepCopyInto ¶
func (in *DatadogPodAutoscalerTargetValue) DeepCopyInto(out *DatadogPodAutoscalerTargetValue)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogPodAutoscalerTargetValueType ¶
type DatadogPodAutoscalerTargetValueType string
DatadogPodAutoscalerTargetValueType specifies the type of metric being targeted, and should be either kubebuilder:validation:Enum:=Absolute;Utilization
const ( // DatadogPodAutoscalerAbsoluteTargetValueType is the target type for absolute values DatadogPodAutoscalerAbsoluteTargetValueType DatadogPodAutoscalerTargetValueType = "Absolute" // DatadogPodAutoscalerUtilizationTargetValueType declares a MetricTarget is an AverageUtilization value DatadogPodAutoscalerUtilizationTargetValueType DatadogPodAutoscalerTargetValueType = "Utilization" )
type DatadogPodAutoscalerUpdatePolicy ¶
type DatadogPodAutoscalerUpdatePolicy struct {
// Mode defines the mode of the update policy.
Strategy DatadogPodAutoscalerUpdateStrategy `json:"strategy,omitempty"`
}
DatadogPodAutoscalerUpdatePolicy defines the policy to update target resource.
func (*DatadogPodAutoscalerUpdatePolicy) DeepCopy ¶
func (in *DatadogPodAutoscalerUpdatePolicy) DeepCopy() *DatadogPodAutoscalerUpdatePolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogPodAutoscalerUpdatePolicy.
func (*DatadogPodAutoscalerUpdatePolicy) DeepCopyInto ¶
func (in *DatadogPodAutoscalerUpdatePolicy) DeepCopyInto(out *DatadogPodAutoscalerUpdatePolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogPodAutoscalerUpdateStrategy ¶
type DatadogPodAutoscalerUpdateStrategy string
DatadogPodAutoscalerUpdateStrategy defines the mode of the update policy. +kubebuilder:validation:Enum:=Auto;Disabled
const ( // DatadogPodAutoscalerAutoUpdateStrategy is the default mode. DatadogPodAutoscalerAutoUpdateStrategy DatadogPodAutoscalerUpdateStrategy = "Auto" // DatadogPodAutoscalerDisabledUpdateStrategy will disable the update of the target resource. DatadogPodAutoscalerDisabledUpdateStrategy DatadogPodAutoscalerUpdateStrategy = "Disabled" )
type DatadogPodAutoscalerValueSource ¶
type DatadogPodAutoscalerValueSource string
DatadogPodAutoscalerValueSource defines the source of the value used to scale the target resource.
const ( // DatadogPodAutoscalerAutoscalingValueSource is a recommendation that comes from active autoscaling. DatadogPodAutoscalerAutoscalingValueSource DatadogPodAutoscalerValueSource = "Autoscaling" // DatadogPodAutoscalerManualValueSource is a recommendation that comes from manually applying a recommendation. DatadogPodAutoscalerManualValueSource DatadogPodAutoscalerValueSource = "Manual" // DatadogPodAutoscalerLocalValueSource is a recommendation that comes from local fallback. DatadogPodAutoscalerLocalValueSource DatadogPodAutoscalerValueSource = "Local" )
type DatadogPodAutoscalerVerticalAction ¶
type DatadogPodAutoscalerVerticalAction struct {
// Time is the timestamp of the action
Time metav1.Time `json:"time"`
// Version is the recommendation version used for the action
Version string `json:"version"`
// Type is the type of action
Type DatadogPodAutoscalerVerticalActionType `json:"type"`
}
DatadogPodAutoscalerVerticalAction represents a vertical action done by the controller
func (*DatadogPodAutoscalerVerticalAction) DeepCopy ¶
func (in *DatadogPodAutoscalerVerticalAction) DeepCopy() *DatadogPodAutoscalerVerticalAction
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogPodAutoscalerVerticalAction.
func (*DatadogPodAutoscalerVerticalAction) DeepCopyInto ¶
func (in *DatadogPodAutoscalerVerticalAction) DeepCopyInto(out *DatadogPodAutoscalerVerticalAction)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogPodAutoscalerVerticalActionType ¶
type DatadogPodAutoscalerVerticalActionType string
DatadogPodAutoscalerVerticalActionType represents the type of action done by the controller
const ( // DatadogPodAutoscalerRolloutTriggeredVerticalActionType is the action when the controller triggers a rollout of the targetRef DatadogPodAutoscalerRolloutTriggeredVerticalActionType DatadogPodAutoscalerVerticalActionType = "RolloutTriggered" )
type DatadogPodAutoscalerVerticalStatus ¶
type DatadogPodAutoscalerVerticalStatus struct {
// Target is the current target of the vertical scaling
Target *DatadogPodAutoscalerVerticalTargetStatus `json:"target,omitempty"`
// LastAction is the last successful action done by the controller
LastAction *DatadogPodAutoscalerVerticalAction `json:"lastAction,omitempty"`
}
DatadogPodAutoscalerVerticalStatus defines the status of the vertical scaling
func (*DatadogPodAutoscalerVerticalStatus) DeepCopy ¶
func (in *DatadogPodAutoscalerVerticalStatus) DeepCopy() *DatadogPodAutoscalerVerticalStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogPodAutoscalerVerticalStatus.
func (*DatadogPodAutoscalerVerticalStatus) DeepCopyInto ¶
func (in *DatadogPodAutoscalerVerticalStatus) DeepCopyInto(out *DatadogPodAutoscalerVerticalStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogPodAutoscalerVerticalTargetStatus ¶
type DatadogPodAutoscalerVerticalTargetStatus struct {
// Source is the source of the value used to scale the target resource
Source DatadogPodAutoscalerValueSource `json:"source"`
// GeneratedAt is the timestamp at which the recommendation was generated
GeneratedAt metav1.Time `json:"generatedAt,omitempty"`
// Version is the current version of the received recommendation
Version string `json:"version"`
// Scaled is the current number of PODs having desired resources
Scaled *int32 `json:"scaled,omitempty"`
// DesiredResources is the desired resources for containers
DesiredResources []DatadogPodAutoscalerContainerResources `json:"desiredResources"`
// PODCPURequest is the sum of CPU requests for all containers (used for display)
PODCPURequest resource.Quantity `json:"podCPURequest"`
// PODMemoryRequest is the sum of memory requests for all containers (used for display)
PODMemoryRequest resource.Quantity `json:"podMemoryRequest"`
}
DatadogPodAutoscalerVerticalTargetStatus defines the current target of the vertical scaling
func (*DatadogPodAutoscalerVerticalTargetStatus) DeepCopy ¶
func (in *DatadogPodAutoscalerVerticalTargetStatus) DeepCopy() *DatadogPodAutoscalerVerticalTargetStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogPodAutoscalerVerticalTargetStatus.
func (*DatadogPodAutoscalerVerticalTargetStatus) DeepCopyInto ¶
func (in *DatadogPodAutoscalerVerticalTargetStatus) DeepCopyInto(out *DatadogPodAutoscalerVerticalTargetStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogSLO ¶
type DatadogSLO struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec DatadogSLOSpec `json:"spec,omitempty"`
Status DatadogSLOStatus `json:"status,omitempty"`
}
DatadogSLO allows a user to define and manage datadog SLOs from Kubernetes cluster. +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:path=datadogslos,scope=Namespaced,shortName=ddslo +kubebuilder:printcolumn:name="id",type="string",JSONPath=".status.id" +kubebuilder:printcolumn:name="sync status",type="string",JSONPath=".status.syncStatus" +kubebuilder:printcolumn:name="age",type="date",JSONPath=".metadata.creationTimestamp" +k8s:openapi-gen=true +genclient
func (*DatadogSLO) DeepCopy ¶
func (in *DatadogSLO) DeepCopy() *DatadogSLO
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogSLO.
func (*DatadogSLO) DeepCopyInto ¶
func (in *DatadogSLO) DeepCopyInto(out *DatadogSLO)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatadogSLO) DeepCopyObject ¶
func (in *DatadogSLO) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatadogSLOControllerOptions ¶
type DatadogSLOControllerOptions struct {
// DisableRequiredTags disables the automatic addition of required tags to SLOs.
DisableRequiredTags *bool `json:"disableRequiredTags,omitempty"`
}
DatadogSLOControllerOptions defines options in the DatadogSLO controller. +k8s:openapi-gen=true
func (*DatadogSLOControllerOptions) DeepCopy ¶
func (in *DatadogSLOControllerOptions) DeepCopy() *DatadogSLOControllerOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogSLOControllerOptions.
func (*DatadogSLOControllerOptions) DeepCopyInto ¶
func (in *DatadogSLOControllerOptions) DeepCopyInto(out *DatadogSLOControllerOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogSLOList ¶
type DatadogSLOList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []DatadogSLO `json:"items"`
}
DatadogSLOList contains a list of DatadogSLOs. +kubebuilder:object:root=true
func (*DatadogSLOList) DeepCopy ¶
func (in *DatadogSLOList) DeepCopy() *DatadogSLOList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogSLOList.
func (*DatadogSLOList) DeepCopyInto ¶
func (in *DatadogSLOList) DeepCopyInto(out *DatadogSLOList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatadogSLOList) DeepCopyObject ¶
func (in *DatadogSLOList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatadogSLOQuery ¶
type DatadogSLOQuery struct {
// Numerator is a Datadog metric query for good events.
Numerator string `json:"numerator"`
// Denominator is a Datadog metric query for total (valid) events.
Denominator string `json:"denominator"`
}
+k8s:openapi-gen=true
func (*DatadogSLOQuery) DeepCopy ¶
func (in *DatadogSLOQuery) DeepCopy() *DatadogSLOQuery
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogSLOQuery.
func (*DatadogSLOQuery) DeepCopyInto ¶
func (in *DatadogSLOQuery) DeepCopyInto(out *DatadogSLOQuery)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogSLOSpec ¶
type DatadogSLOSpec struct {
// Name is the name of the service level objective.
Name string `json:"name"`
// Description is a user-defined description of the service level objective.
// Always included in service level objective responses (but may be null). Optional in create/update requests.
Description *string `json:"description,omitempty"`
// Groups is a list of (up to 100) monitor groups that narrow the scope of a monitor service level objective.
// Included in service level objective responses if it is not empty.
// Optional in create/update requests for monitor service level objectives, but may only be used when the length of the monitor_ids field is one.
// +listType=set
Groups []string `json:"groups,omitempty"`
// MonitorIDs is a list of monitor IDs that defines the scope of a monitor service level objective. Required if type is monitor.
// +listType=set
MonitorIDs []int64 `json:"monitorIDs,omitempty"`
// Tags is a list of tags to associate with your service level objective.
// This can help you categorize and filter service level objectives in the service level objectives page of the UI.
// Note: it's not currently possible to filter by these tags when querying via the API.
// +listType=set
Tags []string `json:"tags,omitempty"`
// Query is the query for a metric-based SLO. Required if type is metric.
// Note that only the `sum by` aggregator is allowed, which sums all request counts. `Average`, `max`, nor `min` request aggregators are not supported.
Query *DatadogSLOQuery `json:"query,omitempty"`
// Type is the type of the service level objective.
Type DatadogSLOType `json:"type"`
// The SLO time window options.
Timeframe DatadogSLOTimeFrame `json:"timeframe"`
// TargetThreshold is the target threshold such that when the service level indicator is above this threshold over the given timeframe, the objective is being met.
TargetThreshold resource.Quantity `json:"targetThreshold"`
// WarningThreshold is a optional warning threshold such that when the service level indicator is below this value for the given threshold, but above the target threshold, the objective appears in a "warning" state. This value must be greater than the target threshold.
WarningThreshold *resource.Quantity `json:"warningThreshold,omitempty"`
// ControllerOptions are the optional parameters in the DatadogSLO controller
ControllerOptions *DatadogSLOControllerOptions `json:"controllerOptions,omitempty"`
}
+k8s:openapi-gen=true
func (*DatadogSLOSpec) DeepCopy ¶
func (in *DatadogSLOSpec) DeepCopy() *DatadogSLOSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogSLOSpec.
func (*DatadogSLOSpec) DeepCopyInto ¶
func (in *DatadogSLOSpec) DeepCopyInto(out *DatadogSLOSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogSLOStatus ¶
type DatadogSLOStatus struct {
// Conditions represents the latest available observations of the state of a DatadogSLO.
// +listType=map
// +listMapKey=type
Conditions []metav1.Condition `json:"conditions,omitempty"`
// ID is the SLO ID generated in Datadog.
ID string `json:"id,omitempty"`
// Creator is the identity of the SLO creator.
Creator string `json:"creator,omitempty"`
// Created is the time the SLO was created.
Created *metav1.Time `json:"created,omitempty"`
// SyncStatus shows the health of syncing the SLO state to Datadog.
SyncStatus DatadogSLOSyncStatus `json:"syncStatus,omitempty"`
// LastForceSyncTime is the last time the API SLO was last force synced with the DatadogSLO resource.
LastForceSyncTime *metav1.Time `json:"lastForceSyncTime,omitempty"`
// CurrentHash tracks the hash of the current DatadogSLOSpec to know
// if the Spec has changed and needs an update.
CurrentHash string `json:"currentHash,omitempty"`
}
DatadogSLOStatus defines the observed state of a DatadogSLO. +k8s:openapi-gen=true
func (*DatadogSLOStatus) DeepCopy ¶
func (in *DatadogSLOStatus) DeepCopy() *DatadogSLOStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogSLOStatus.
func (*DatadogSLOStatus) DeepCopyInto ¶
func (in *DatadogSLOStatus) DeepCopyInto(out *DatadogSLOStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogSLOSyncStatus ¶
type DatadogSLOSyncStatus string
DatadogSLOSyncStatus is the message reflecting the health of SLO state syncs to Datadog.
const ( // DatadogSLOSyncStatusOK means syncing is OK. DatadogSLOSyncStatusOK DatadogSLOSyncStatus = "OK" // DatadogSLOSyncStatusValidateError means there is a SLO validation error. DatadogSLOSyncStatusValidateError DatadogSLOSyncStatus = "error validating SLO" // DatadogSLOSyncStatusUpdateError means there is a SLO update error. DatadogSLOSyncStatusUpdateError DatadogSLOSyncStatus = "error updating SLO" // DatadogSLOSyncStatusCreateError means there is an error getting the SLO. DatadogSLOSyncStatusCreateError DatadogSLOSyncStatus = "error creating SLO" )
type DatadogSLOTimeFrame ¶
type DatadogSLOTimeFrame string
const ( DatadogSLOTimeFrame7d DatadogSLOTimeFrame = "7d" DatadogSLOTimeFrame30d DatadogSLOTimeFrame = "30d" DatadogSLOTimeFrame90d DatadogSLOTimeFrame = "90d" )
type DatadogSLOType ¶
type DatadogSLOType string
const ( DatadogSLOTypeMetric DatadogSLOType = "metric" DatadogSLOTypeMonitor DatadogSLOType = "monitor" )
func (DatadogSLOType) IsValid ¶
func (t DatadogSLOType) IsValid() bool
type DatadogSyncStatus ¶ added in v1.12.0
type DatadogSyncStatus string
const ( // DatadogSyncStatusOK means syncing is OK. DatadogSyncStatusOK DatadogSyncStatus = "OK" // DatadogSyncStatusValidateError means there is an object validation error. DatadogSyncStatusValidateError DatadogSyncStatus = "error validating object" // DatadogSyncStatusUpdateError means there is an object update error. DatadogSyncStatusUpdateError DatadogSyncStatus = "error updating object" // DatadogSyncStatusCreateError means there is an error getting the object. DatadogSyncStatusCreateError DatadogSyncStatus = "error creating object" // DatadogSyncStatusGetError means there is an error getting the object. DatadogSyncStatusGetError DatadogSyncStatus = "error getting object" )
type MonitorStateSyncStatusMessage ¶
type MonitorStateSyncStatusMessage string
MonitorStateSyncStatusMessage is the message reflecting the health of monitor state syncs to Datadog
const ( // MonitorStateSyncStatusOK means syncing is OK MonitorStateSyncStatusOK MonitorStateSyncStatusMessage = "OK" // MonitorStateSyncStatusValidateError means there is a monitor validation error MonitorStateSyncStatusValidateError MonitorStateSyncStatusMessage = "error validating monitor" // MonitorStateSyncStatusUpdateError means there is a monitor update error MonitorStateSyncStatusUpdateError MonitorStateSyncStatusMessage = "error updating monitor" // SyncStatusGetError means there is an error getting the monitor MonitorStateSyncStatusGetError MonitorStateSyncStatusMessage = "error getting monitor" )
type Override ¶
type Override struct {
// Configure the basic configurations for an Agent container
// Valid Agent container names are: `agent`
// +optional
Containers map[common.AgentContainerName]*Container `json:"containers,omitempty"`
// If specified, indicates the pod's priority. "system-node-critical" and
// "system-cluster-critical" are two special keywords which indicate the
// highest priorities with the former being the highest priority. Any other
// name must be defined by creating a PriorityClass object with that name.
// If not specified, the pod priority will be default or zero if there is no
// default.
// +optional
PriorityClassName *string `json:"priorityClassName,omitempty"`
// If specified, indicates the pod's RuntimeClass kubelet should use to run the pod.
// If the named RuntimeClass does not exist, or the CRI cannot run the corresponding handler, the pod enters the Failed terminal phase.
// If no runtimeClassName is specified, the default RuntimeHandler is used, which is equivalent to the behavior when the RuntimeClass feature is disabled.
// +optional
RuntimeClassName *string `json:"runtimeClassName,omitempty"`
// The deployment strategy to use to replace existing pods with new ones.
// Valid types are `RollingUpdate` or `OnDelete` for DaemonSets
// +optional
UpdateStrategy *common.UpdateStrategy `json:"updateStrategy,omitempty"`
// Labels provide labels that are added to the Datadog Agent pods.
// +optional
Labels map[string]string `json:"labels,omitempty"`
}
func (*Override) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Override.
func (*Override) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProfileAffinity ¶
type ProfileAffinity struct {
ProfileNodeAffinity []corev1.NodeSelectorRequirement `json:"profileNodeAffinity,omitempty"`
}
func (*ProfileAffinity) DeepCopy ¶
func (in *ProfileAffinity) DeepCopy() *ProfileAffinity
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProfileAffinity.
func (*ProfileAffinity) DeepCopyInto ¶
func (in *ProfileAffinity) DeepCopyInto(out *ProfileAffinity)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SupportedResourcesType ¶ added in v1.12.0
type SupportedResourcesType string
const ( Notebook SupportedResourcesType = "notebook" SyntheticsAPITest SupportedResourcesType = "synthetics_api_test" SyntheticsBrowserTest SupportedResourcesType = "synthetics_browser_test" )
When adding a new type, make sure to update the kubebuilder validation enum marker
Source Files
¶
- datadogagentprofile_types.go
- datadogagentprofile_validation.go
- datadogdashboard_types.go
- datadogdashboard_validation.go
- datadoggenericresource_types.go
- datadoggenericresource_validation.go
- datadogmetric_types.go
- datadogmonitor_types.go
- datadogmonitor_validation.go
- datadogpodautoscaler_types.go
- datadogslo_types.go
- datadogslo_validation.go
- doc.go
- groupversion_info.go
- zz_generated.deepcopy.go
- zz_generated.openapi.go