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 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 CreateStrategy
- type CreateStrategyStatus
- type DashboardTemplateVariable
- type DashboardTemplateVariablePreset
- type DashboardTemplateVariablePresetValue
- type DatadogAgentInternal
- type DatadogAgentInternalList
- type DatadogAgentInternalStatus
- type DatadogAgentProfile
- type DatadogAgentProfileList
- type DatadogAgentProfileSpec
- type DatadogAgentProfileStatus
- type DatadogCSIDriver
- type DatadogCSIDriverList
- type DatadogCSIDriverOverride
- type DatadogCSIDriverSpec
- type DatadogCSIDriverStatus
- type DatadogDashboard
- type DatadogDashboardList
- type DatadogDashboardSpec
- type DatadogDashboardStatus
- type DatadogDashboardSyncStatus
- type DatadogGenericResource
- type DatadogGenericResourceList
- type DatadogGenericResourceSpec
- type DatadogGenericResourceStatus
- type DatadogInstrumentation
- type DatadogInstrumentationCheckConfig
- type DatadogInstrumentationConditionType
- type DatadogInstrumentationConfig
- type DatadogInstrumentationList
- type DatadogInstrumentationLogConfig
- type DatadogInstrumentationSpec
- type DatadogInstrumentationStatus
- 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 DatadogMonitorOptionsSchedulingOptions
- type DatadogMonitorOptionsSchedulingOptionsCustomSchedule
- type DatadogMonitorOptionsSchedulingOptionsCustomScheduleRecurrence
- func (in *DatadogMonitorOptionsSchedulingOptionsCustomScheduleRecurrence) DeepCopy() *DatadogMonitorOptionsSchedulingOptionsCustomScheduleRecurrence
- func (in *DatadogMonitorOptionsSchedulingOptionsCustomScheduleRecurrence) DeepCopyInto(out *DatadogMonitorOptionsSchedulingOptionsCustomScheduleRecurrence)
- type DatadogMonitorOptionsSchedulingOptionsEvaluationWindow
- type DatadogMonitorOptionsThresholdWindows
- type DatadogMonitorOptionsThresholds
- type DatadogMonitorSpec
- type DatadogMonitorState
- type DatadogMonitorStatus
- type DatadogMonitorTriggeredState
- type DatadogMonitorType
- type DatadogPodAutoscaler
- type DatadogPodAutoscalerApplyMode
- type DatadogPodAutoscalerList
- type DatadogPodAutoscalerPolicy
- type DatadogPodAutoscalerSpec
- type DatadogSLO
- type DatadogSLOControllerOptions
- type DatadogSLOList
- type DatadogSLOQuery
- type DatadogSLOSpec
- type DatadogSLOStatus
- type DatadogSLOSyncStatus
- type DatadogSLOTimeFrame
- type DatadogSLOTimeSlice
- type DatadogSLOTimeSliceComparator
- type DatadogSLOType
- type DatadogSyncStatus
- type MonitorStateSyncStatusMessage
- 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" )
const ( CSINodeDriverContainerName = "csi-node-driver" CSINodeDriverRegistrarContainerName = "csi-node-driver-registrar" )
CSI driver container name constants
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 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 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 DatadogAgentInternal ¶
type DatadogAgentInternal struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec v2alpha1.DatadogAgentSpec `json:"spec,omitempty"`
Status DatadogAgentInternalStatus `json:"status,omitempty"`
}
DatadogAgentInternal is the Schema for the datadogagentinternals API +kubebuilder:resource:path=datadogagentinternals,shortName=ddai +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:storageversion +kubebuilder:printcolumn:name="agent",type="string",JSONPath=".status.agent.status" +kubebuilder:printcolumn:name="cluster-agent",type="string",JSONPath=".status.clusterAgent.status" +kubebuilder:printcolumn:name="cluster-checks-runner",type="string",JSONPath=".status.clusterChecksRunner.status" +kubebuilder:printcolumn:name="age",type="date",JSONPath=".metadata.creationTimestamp" +k8s:openapi-gen=true
func (*DatadogAgentInternal) DeepCopy ¶
func (in *DatadogAgentInternal) DeepCopy() *DatadogAgentInternal
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogAgentInternal.
func (*DatadogAgentInternal) DeepCopyInto ¶
func (in *DatadogAgentInternal) DeepCopyInto(out *DatadogAgentInternal)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatadogAgentInternal) DeepCopyObject ¶
func (in *DatadogAgentInternal) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatadogAgentInternalList ¶
type DatadogAgentInternalList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []DatadogAgentInternal `json:"items"`
}
DatadogAgentInternalList contains a list of DatadogAgentInternal
func (*DatadogAgentInternalList) DeepCopy ¶
func (in *DatadogAgentInternalList) DeepCopy() *DatadogAgentInternalList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogAgentInternalList.
func (*DatadogAgentInternalList) DeepCopyInto ¶
func (in *DatadogAgentInternalList) DeepCopyInto(out *DatadogAgentInternalList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatadogAgentInternalList) DeepCopyObject ¶
func (in *DatadogAgentInternalList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatadogAgentInternalStatus ¶
type DatadogAgentInternalStatus struct {
// Conditions Represents the latest available observations of a DatadogAgent's current state.
// +optional
// +listType=map
// +listMapKey=type
Conditions []metav1.Condition `json:"conditions"`
// The actual state of the Agent as a daemonset or an extended daemonset.
// +optional
Agent *v2alpha1.DaemonSetStatus `json:"agent,omitempty"`
// The actual state of the Cluster Agent as a deployment.
// +optional
ClusterAgent *v2alpha1.DeploymentStatus `json:"clusterAgent,omitempty"`
// The actual state of the Cluster Checks Runner as a deployment.
// +optional
ClusterChecksRunner *v2alpha1.DeploymentStatus `json:"clusterChecksRunner,omitempty"`
// The actual state of the OTel Agent Gateway as a deployment.
// +optional
OtelAgentGateway *v2alpha1.DeploymentStatus `json:"otelAgentGateway,omitempty"`
// RemoteConfigConfiguration stores the configuration received from RemoteConfig.
// +optional
RemoteConfigConfiguration *v2alpha1.RemoteConfigConfiguration `json:"remoteConfigConfiguration,omitempty"`
}
DatadogAgentInternalStatus defines the observed state of DatadogAgentInternal +k8s:openapi-gen=true
func (*DatadogAgentInternalStatus) DeepCopy ¶
func (in *DatadogAgentInternalStatus) DeepCopy() *DatadogAgentInternalStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogAgentInternalStatus.
func (*DatadogAgentInternalStatus) DeepCopyInto ¶
func (in *DatadogAgentInternalStatus) DeepCopyInto(out *DatadogAgentInternalStatus)
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 *v2alpha1.DatadogAgentSpec `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 DatadogCSIDriver ¶
type DatadogCSIDriver struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec DatadogCSIDriverSpec `json:"spec,omitempty"`
Status DatadogCSIDriverStatus `json:"status,omitempty"`
}
DatadogCSIDriver is the Schema for the datadogcsidrivers API +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:path=datadogcsidrivers,shortName=ddcsi +kubebuilder:printcolumn:name="status",type="string",JSONPath=".status.daemonSet.status" +kubebuilder:printcolumn:name="age",type="date",JSONPath=".metadata.creationTimestamp" +k8s:openapi-gen=true
func (*DatadogCSIDriver) DeepCopy ¶
func (in *DatadogCSIDriver) DeepCopy() *DatadogCSIDriver
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogCSIDriver.
func (*DatadogCSIDriver) DeepCopyInto ¶
func (in *DatadogCSIDriver) DeepCopyInto(out *DatadogCSIDriver)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatadogCSIDriver) DeepCopyObject ¶
func (in *DatadogCSIDriver) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatadogCSIDriverList ¶
type DatadogCSIDriverList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []DatadogCSIDriver `json:"items"`
}
DatadogCSIDriverList contains a list of DatadogCSIDriver +kubebuilder:object:root=true
func (*DatadogCSIDriverList) DeepCopy ¶
func (in *DatadogCSIDriverList) DeepCopy() *DatadogCSIDriverList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogCSIDriverList.
func (*DatadogCSIDriverList) DeepCopyInto ¶
func (in *DatadogCSIDriverList) DeepCopyInto(out *DatadogCSIDriverList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatadogCSIDriverList) DeepCopyObject ¶
func (in *DatadogCSIDriverList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatadogCSIDriverOverride ¶
type DatadogCSIDriverOverride struct {
// AdditionalLabels provides labels that are added to the CSI driver DaemonSet pods.
// +optional
Labels map[string]string `json:"labels,omitempty"`
// Annotations provides annotations that are added to the CSI driver DaemonSet pods.
// +optional
Annotations map[string]string `json:"annotations,omitempty"`
// NodeSelector is a map of key-value pairs. For the CSI driver pod to run on a
// specific node, the node must have these key-value pairs as labels.
// +optional
NodeSelector map[string]string `json:"nodeSelector,omitempty"`
// Tolerations configure the CSI driver DaemonSet pod tolerations.
// +optional
// +listType=atomic
Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
// Affinity specifies the pod's scheduling constraints.
// +optional
Affinity *corev1.Affinity `json:"affinity,omitempty"`
// PriorityClassName indicates the pod's priority.
// +optional
PriorityClassName *string `json:"priorityClassName,omitempty"`
// SecurityContext holds pod-level security attributes.
// +optional
SecurityContext *corev1.PodSecurityContext `json:"securityContext,omitempty"`
// UpdateStrategy is the DaemonSet update strategy configuration.
// +optional
UpdateStrategy *common.UpdateStrategy `json:"updateStrategy,omitempty"`
// Containers allows overriding container-level configuration for the CSI driver containers.
// Valid keys are: "csi-node-driver" and "csi-node-driver-registrar".
// +optional
Containers map[string]*v2alpha1.DatadogAgentGenericContainer `json:"containers,omitempty"`
// Volumes specifies additional volumes to add to the CSI driver DaemonSet pods.
// +optional
// +listType=map
// +listMapKey=name
Volumes []corev1.Volume `json:"volumes,omitempty"`
// Env specifies additional environment variables for all containers.
// +optional
// +listType=map
// +listMapKey=name
Env []corev1.EnvVar `json:"env,omitempty"`
// ServiceAccountName sets the ServiceAccount used by the CSI driver DaemonSet.
// +optional
ServiceAccountName *string `json:"serviceAccountName,omitempty"`
}
DatadogCSIDriverOverride provides override capabilities for the CSI driver DaemonSet. +k8s:openapi-gen=true
func (*DatadogCSIDriverOverride) DeepCopy ¶
func (in *DatadogCSIDriverOverride) DeepCopy() *DatadogCSIDriverOverride
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogCSIDriverOverride.
func (*DatadogCSIDriverOverride) DeepCopyInto ¶
func (in *DatadogCSIDriverOverride) DeepCopyInto(out *DatadogCSIDriverOverride)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogCSIDriverSpec ¶
type DatadogCSIDriverSpec struct {
// CSIDriverImage is the image configuration for the main CSI node driver container.
// +optional
CSIDriverImage *v2alpha1.AgentImageConfig `json:"csiDriverImage,omitempty"`
// RegistrarImage is the image configuration for the CSI node driver registrar sidecar.
// +optional
RegistrarImage *v2alpha1.AgentImageConfig `json:"registrarImage,omitempty"`
// APMSocketPath is the host path to the APM socket.
// Default: /var/run/datadog/apm.socket
// +optional
APMSocketPath *string `json:"apmSocketPath,omitempty"`
// DSDSocketPath is the host path to the DogStatsD socket.
// Default: /var/run/datadog/dsd.socket
// +optional
DSDSocketPath *string `json:"dsdSocketPath,omitempty"`
// Override allows customization of the CSI driver DaemonSet pod template.
// +optional
Override *DatadogCSIDriverOverride `json:"override,omitempty"`
}
DatadogCSIDriverSpec defines the desired state of DatadogCSIDriver +k8s:openapi-gen=true
func (*DatadogCSIDriverSpec) DeepCopy ¶
func (in *DatadogCSIDriverSpec) DeepCopy() *DatadogCSIDriverSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogCSIDriverSpec.
func (*DatadogCSIDriverSpec) DeepCopyInto ¶
func (in *DatadogCSIDriverSpec) DeepCopyInto(out *DatadogCSIDriverSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogCSIDriverStatus ¶
type DatadogCSIDriverStatus struct {
// ObservedGeneration is the most recent generation observed for this resource.
// +optional
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
// Conditions represents the latest available observations of the DatadogCSIDriver's current state.
// +optional
// +listType=map
// +listMapKey=type
Conditions []metav1.Condition `json:"conditions,omitempty"`
// DaemonSet tracks the status of the CSI driver DaemonSet.
// +optional
DaemonSet *v2alpha1.DaemonSetStatus `json:"daemonSet,omitempty"`
// CSIDriverName is the name of the managed CSIDriver Kubernetes object.
// +optional
CSIDriverName string `json:"csiDriverName,omitempty"`
}
DatadogCSIDriverStatus defines the observed state of DatadogCSIDriver +k8s:openapi-gen=true
func (*DatadogCSIDriverStatus) DeepCopy ¶
func (in *DatadogCSIDriverStatus) DeepCopy() *DatadogCSIDriverStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogCSIDriverStatus.
func (*DatadogCSIDriverStatus) DeepCopyInto ¶
func (in *DatadogCSIDriverStatus) DeepCopyInto(out *DatadogCSIDriverStatus)
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.
// +kubebuilder:validation:Required
// +kubebuilder:validation:Enum=ordered;free
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.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
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 ¶
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 ¶
func (in *DatadogGenericResource) DeepCopy() *DatadogGenericResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogGenericResource.
func (*DatadogGenericResource) DeepCopyInto ¶
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 ¶
func (in *DatadogGenericResource) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatadogGenericResourceList ¶
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 ¶
func (in *DatadogGenericResourceList) DeepCopy() *DatadogGenericResourceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogGenericResourceList.
func (*DatadogGenericResourceList) DeepCopyInto ¶
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 ¶
func (in *DatadogGenericResourceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatadogGenericResourceSpec ¶
type DatadogGenericResourceSpec struct {
// Type is the type of the API object
// +kubebuilder:validation:Enum=dashboard;downtime;monitor;notebook;synthetics_api_test;synthetics_browser_test
Type SupportedResourcesType `json:"type"`
// JsonSpec is the specification of the API object
// +kubebuilder:validation:MinLength=1
JsonSpec string `json:"jsonSpec"`
}
DatadogGenericResourceSpec defines the desired state of DatadogGenericResource +k8s:openapi-gen=true
func (*DatadogGenericResourceSpec) DeepCopy ¶
func (in *DatadogGenericResourceSpec) DeepCopy() *DatadogGenericResourceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogGenericResourceSpec.
func (*DatadogGenericResourceSpec) DeepCopyInto ¶
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 ¶
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 ¶
func (in *DatadogGenericResourceStatus) DeepCopy() *DatadogGenericResourceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogGenericResourceStatus.
func (*DatadogGenericResourceStatus) DeepCopyInto ¶
func (in *DatadogGenericResourceStatus) DeepCopyInto(out *DatadogGenericResourceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogInstrumentation ¶
type DatadogInstrumentation struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec DatadogInstrumentationSpec `json:"spec,omitempty"`
Status DatadogInstrumentationStatus `json:"status,omitempty"`
}
DatadogInstrumentation is the Schema for the datadoginstrumentations API. +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:path=datadoginstrumentations,scope=Namespaced,shortName=ddi +kubebuilder:printcolumn:name="Target Kind",type="string",JSONPath=".spec.targetRef.kind" +kubebuilder:printcolumn:name="Target Name",type="string",JSONPath=".spec.targetRef.name" +kubebuilder:printcolumn:name="Checks Ready",type="string",JSONPath=".status.conditions[?(@.type=='ChecksReady')].status" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +k8s:openapi-gen=true +genclient +genclient:nonNamespaced=false
func (*DatadogInstrumentation) DeepCopy ¶
func (in *DatadogInstrumentation) DeepCopy() *DatadogInstrumentation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogInstrumentation.
func (*DatadogInstrumentation) DeepCopyInto ¶
func (in *DatadogInstrumentation) DeepCopyInto(out *DatadogInstrumentation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatadogInstrumentation) DeepCopyObject ¶
func (in *DatadogInstrumentation) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatadogInstrumentationCheckConfig ¶
type DatadogInstrumentationCheckConfig struct {
// Integration is the Datadog integration name, for example redisdb.
Integration string `json:"integration"`
// ContainerImage identifies container image names this check applies to.
// +optional
// +listType=set
ContainerImage []string `json:"containerImage,omitempty"`
// InitConfig is the integration-specific Autodiscovery init_config payload.
// +optional
// +kubebuilder:pruning:PreserveUnknownFields
InitConfig runtime.RawExtension `json:"initConfig,omitempty"`
// Instances contains integration-specific Autodiscovery instances payloads.
// +optional
// +listType=atomic
Instances []runtime.RawExtension `json:"instances,omitempty"`
// Logs contains log collection configuration payloads for this integration.
// +optional
// +listType=atomic
Logs []DatadogInstrumentationLogConfig `json:"logs,omitempty"`
}
DatadogInstrumentationCheckConfig defines an Autodiscovery check configuration.
func (*DatadogInstrumentationCheckConfig) DeepCopy ¶
func (in *DatadogInstrumentationCheckConfig) DeepCopy() *DatadogInstrumentationCheckConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogInstrumentationCheckConfig.
func (*DatadogInstrumentationCheckConfig) DeepCopyInto ¶
func (in *DatadogInstrumentationCheckConfig) DeepCopyInto(out *DatadogInstrumentationCheckConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogInstrumentationConditionType ¶
type DatadogInstrumentationConditionType string
DatadogInstrumentationConditionType is a DatadogInstrumentation condition type.
const ( // DatadogInstrumentationConditionChecksReady indicates whether check configuration is ready. DatadogInstrumentationConditionChecksReady DatadogInstrumentationConditionType = "ChecksReady" )
type DatadogInstrumentationConfig ¶
type DatadogInstrumentationConfig struct {
// Checks configures Datadog Agent Autodiscovery checks for the target workload.
// +optional
// +listType=atomic
Checks []DatadogInstrumentationCheckConfig `json:"checks,omitempty"`
}
DatadogInstrumentationConfig defines workload-scoped instrumentation configuration.
func (*DatadogInstrumentationConfig) DeepCopy ¶
func (in *DatadogInstrumentationConfig) DeepCopy() *DatadogInstrumentationConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogInstrumentationConfig.
func (*DatadogInstrumentationConfig) DeepCopyInto ¶
func (in *DatadogInstrumentationConfig) DeepCopyInto(out *DatadogInstrumentationConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogInstrumentationList ¶
type DatadogInstrumentationList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []DatadogInstrumentation `json:"items"`
}
DatadogInstrumentationList contains a list of DatadogInstrumentation. +kubebuilder:object:root=true
func (*DatadogInstrumentationList) DeepCopy ¶
func (in *DatadogInstrumentationList) DeepCopy() *DatadogInstrumentationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogInstrumentationList.
func (*DatadogInstrumentationList) DeepCopyInto ¶
func (in *DatadogInstrumentationList) DeepCopyInto(out *DatadogInstrumentationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatadogInstrumentationList) DeepCopyObject ¶
func (in *DatadogInstrumentationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DatadogInstrumentationLogConfig ¶
type DatadogInstrumentationLogConfig struct {
// Type is the type of log input source. Common values include tcp, udp, file, windows_event, docker, and journald.
// +optional
Type string `json:"type,omitempty"`
// Port is the port for listening to logs when type is tcp or udp.
// +optional
Port *int32 `json:"port,omitempty"`
// Path is the file path for gathering logs when type is file or journald.
// +optional
Path string `json:"path,omitempty"`
// ChannelPath is the Windows event channel path when type is windows_event.
// +optional
ChannelPath string `json:"channel_path,omitempty"`
// Service sets the log service name.
// +optional
Service string `json:"service,omitempty"`
// Source sets the log source name.
// +optional
Source string `json:"source,omitempty"`
// IncludeUnits lists journald units to include when type is journald.
// +optional
// +listType=set
IncludeUnits []string `json:"include_units,omitempty"`
// ExcludePaths lists matching files to exclude when type is file and path contains a wildcard.
// +optional
// +listType=set
ExcludePaths []string `json:"exclude_paths,omitempty"`
// ExcludeUnits lists journald units to exclude when type is journald.
// +optional
// +listType=set
ExcludeUnits []string `json:"exclude_units,omitempty"`
// SourceCategory sets the source category attribute.
// +optional
SourceCategory string `json:"sourcecategory,omitempty"`
// StartPosition sets where the Agent starts reading for file and journald tailers.
// Common values include beginning, end, forceBeginning, and forceEnd.
// +optional
StartPosition string `json:"start_position,omitempty"`
// Encoding sets the file encoding when type is file.
// Common values include utf-16-le, utf-16-be, and shift-jis.
// +optional
Encoding string `json:"encoding,omitempty"`
// Tags sets additional tags on collected logs.
// +optional
// +listType=set
Tags []string `json:"tags,omitempty"`
// LogProcessingRules contains Agent log processing rules for this log source.
// +optional
// +listType=atomic
LogProcessingRules []runtime.RawExtension `json:"log_processing_rules,omitempty"`
}
DatadogInstrumentationLogConfig defines Agent log collection configuration fields. +kubebuilder:pruning:PreserveUnknownFields
func (*DatadogInstrumentationLogConfig) DeepCopy ¶
func (in *DatadogInstrumentationLogConfig) DeepCopy() *DatadogInstrumentationLogConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogInstrumentationLogConfig.
func (*DatadogInstrumentationLogConfig) DeepCopyInto ¶
func (in *DatadogInstrumentationLogConfig) DeepCopyInto(out *DatadogInstrumentationLogConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogInstrumentationSpec ¶
type DatadogInstrumentationSpec struct {
// TargetRef is the reference to the workload resource to instrument.
TargetRef autoscalingv2.CrossVersionObjectReference `json:"targetRef"`
// Config defines the Datadog instrumentation configuration to apply to the target workload.
Config DatadogInstrumentationConfig `json:"config"`
}
DatadogInstrumentationSpec defines the desired state of DatadogInstrumentation.
func (*DatadogInstrumentationSpec) DeepCopy ¶
func (in *DatadogInstrumentationSpec) DeepCopy() *DatadogInstrumentationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogInstrumentationSpec.
func (*DatadogInstrumentationSpec) DeepCopyInto ¶
func (in *DatadogInstrumentationSpec) DeepCopyInto(out *DatadogInstrumentationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogInstrumentationStatus ¶
type DatadogInstrumentationStatus struct {
// Conditions represent the latest available observations of the instrumentation handlers.
// +optional
// +listType=map
// +listMapKey=type
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
DatadogInstrumentationStatus defines the observed state of DatadogInstrumentation.
func (*DatadogInstrumentationStatus) DeepCopy ¶
func (in *DatadogInstrumentationStatus) DeepCopy() *DatadogInstrumentationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogInstrumentationStatus.
func (*DatadogInstrumentationStatus) DeepCopyInto ¶
func (in *DatadogInstrumentationStatus) DeepCopyInto(out *DatadogInstrumentationStatus)
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.monitorStateSyncStatus" +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"`
// The time span after which groups with missing data are dropped from the monitor state.
// The minimum value is one hour, and the maximum value is 72 hours.
// Example values are: "60m", "1h", and "2d".
// This option is only available for APM Trace Analytics, Audit Trail, CI, Error Tracking, Event, Logs, and RUM monitors.
GroupRetentionDuration *string `json:"groupRetentionDuration,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"`
// Configuration options for scheduling.
SchedulingOptions *DatadogMonitorOptionsSchedulingOptions `json:"schedulingOptions,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 DatadogMonitorOptionsSchedulingOptions ¶
type DatadogMonitorOptionsSchedulingOptions struct {
// Configuration options for the custom schedule. If start is omitted, the monitor creation time will be used.
CustomSchedule *DatadogMonitorOptionsSchedulingOptionsCustomSchedule `json:"customSchedule,omitempty"`
// Configuration options for the evaluation window. If hour_starts is set, no other fields may be set.
// Otherwise, day_starts and month_starts must be set together.
EvaluationWindow *DatadogMonitorOptionsSchedulingOptionsEvaluationWindow `json:"evaluationWindow,omitempty"`
}
DatadogMonitorOptionsSchedulingOptions is a struct of the different scheduling options +k8s:openapi-gen=true
func (*DatadogMonitorOptionsSchedulingOptions) DeepCopy ¶
func (in *DatadogMonitorOptionsSchedulingOptions) DeepCopy() *DatadogMonitorOptionsSchedulingOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorOptionsSchedulingOptions.
func (*DatadogMonitorOptionsSchedulingOptions) DeepCopyInto ¶
func (in *DatadogMonitorOptionsSchedulingOptions) DeepCopyInto(out *DatadogMonitorOptionsSchedulingOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMonitorOptionsSchedulingOptionsCustomSchedule ¶
type DatadogMonitorOptionsSchedulingOptionsCustomSchedule struct {
Recurrence DatadogMonitorOptionsSchedulingOptionsCustomScheduleRecurrence `json:"recurrence,omitempty"`
}
DatadogMonitorOptionsSchedulingOptionsCustomSchedule is a struct of the custom schedule options +k8s:openapi-gen=true
func (*DatadogMonitorOptionsSchedulingOptionsCustomSchedule) DeepCopy ¶
func (in *DatadogMonitorOptionsSchedulingOptionsCustomSchedule) DeepCopy() *DatadogMonitorOptionsSchedulingOptionsCustomSchedule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorOptionsSchedulingOptionsCustomSchedule.
func (*DatadogMonitorOptionsSchedulingOptionsCustomSchedule) DeepCopyInto ¶
func (in *DatadogMonitorOptionsSchedulingOptionsCustomSchedule) DeepCopyInto(out *DatadogMonitorOptionsSchedulingOptionsCustomSchedule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMonitorOptionsSchedulingOptionsCustomScheduleRecurrence ¶
type DatadogMonitorOptionsSchedulingOptionsCustomScheduleRecurrence struct {
// The recurrence rule in iCalendar format. For example, `FREQ=MONTHLY;BYMONTHDAY=28,29,30,31;BYSETPOS=-1`.
Rrule *string `json:"rrule,omitempty"`
// The timezone in `tz database` format, in which the recurrence rule is defined. For example, `America/New_York` or `UTC`.
Timezone *string `json:"timezone,omitempty"`
// The start date of the recurrence rule defined in `YYYY-MM-DDThh:mm:ss` format.
// If omitted, the monitor creation time will be used.
Start *string `json:"start,omitempty"`
}
DatadogMonitorOptionsSchedulingOptionsCustomScheduleRecurrence is a struct of the recurrence definition +k8s:openapi-gen=true
func (*DatadogMonitorOptionsSchedulingOptionsCustomScheduleRecurrence) DeepCopy ¶
func (in *DatadogMonitorOptionsSchedulingOptionsCustomScheduleRecurrence) DeepCopy() *DatadogMonitorOptionsSchedulingOptionsCustomScheduleRecurrence
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorOptionsSchedulingOptionsCustomScheduleRecurrence.
func (*DatadogMonitorOptionsSchedulingOptionsCustomScheduleRecurrence) DeepCopyInto ¶
func (in *DatadogMonitorOptionsSchedulingOptionsCustomScheduleRecurrence) DeepCopyInto(out *DatadogMonitorOptionsSchedulingOptionsCustomScheduleRecurrence)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogMonitorOptionsSchedulingOptionsEvaluationWindow ¶
type DatadogMonitorOptionsSchedulingOptionsEvaluationWindow struct {
// The time of the day at which a one day cumulative evaluation window starts. Must be defined in UTC time in HH:mm format.
DayStarts *string `json:"dayStarts,omitempty"`
// The minute of the hour at which a one hour cumulative evaluation window starts.
HourStarts *int32 `json:"hourStarts,omitempty"`
// The day of the month at which a one month cumulative evaluation window starts.
MonthStarts *int32 `json:"monthStarts,omitempty"`
}
DatadogMonitorOptionsSchedulingOptionsEvaluationWindow is a struct of the evaluation window options +k8s:openapi-gen=true
func (*DatadogMonitorOptionsSchedulingOptionsEvaluationWindow) DeepCopy ¶
func (in *DatadogMonitorOptionsSchedulingOptionsEvaluationWindow) DeepCopy() *DatadogMonitorOptionsSchedulingOptionsEvaluationWindow
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogMonitorOptionsSchedulingOptionsEvaluationWindow.
func (*DatadogMonitorOptionsSchedulingOptionsEvaluationWindow) DeepCopyInto ¶
func (in *DatadogMonitorOptionsSchedulingOptionsEvaluationWindow) DeepCopyInto(out *DatadogMonitorOptionsSchedulingOptionsEvaluationWindow)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
Name string `json:"name,omitempty"`
// Message is a message to include with notifications for this monitor
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
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
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
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
// +kubebuilder:validation:Required
// +kubebuilder:validation:Enum=metric alert;query alert;service check;event alert;log alert;process alert;rum alert;trace-analytics alert;slo alert;event-v2 alert;audit alert;composite;error-tracking alert
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" // DatadogMonitorTypeErrorTracking is the error-tracking alert monitor type DatadogMonitorTypeErrorTracking DatadogMonitorType = "error-tracking alert" )
type DatadogPodAutoscaler ¶
type DatadogPodAutoscaler struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec DatadogPodAutoscalerSpec `json:"spec,omitempty"`
Status common.DatadogPodAutoscalerStatus `json:"status,omitempty"`
}
+kubebuilder:object:root=true +kubebuilder:resource:shortName=dpa +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Apply Mode",type="string",JSONPath=".spec.policy.applyMode" +kubebuilder:printcolumn:name="Active",type="string",JSONPath=".status.conditions[?(@.type=='Active')].status" +kubebuilder:printcolumn:name="In Error",type="string",JSONPath=".status.conditions[?(@.type=='Error')].status" +kubebuilder:printcolumn:name="Desired Replicas",type="integer",JSONPath=".status.horizontal.target.desiredReplicas" +kubebuilder:printcolumn:name="Generated",type="date",JSONPath=".status.horizontal.target.generatedAt" +kubebuilder:printcolumn:name="Able to Scale",type="string",JSONPath=".status.conditions[?(@.type=='HorizontalAbleToScale')].status" +kubebuilder:printcolumn:name="Last Scale",type="date",JSONPath=".status.horizontal.lastAction.time" +kubebuilder:printcolumn:name="Target CPU Req",type="string",JSONPath=".status.vertical.target.podCPURequest" +kubebuilder:printcolumn:name="Target Memory Req",type="string",JSONPath=".status.vertical.target.podMemoryRequest" +kubebuilder:printcolumn:name="Generated",type="date",JSONPath=".status.vertical.target.generatedAt" +kubebuilder:printcolumn:name="Able to Apply",type="string",JSONPath=".status.conditions[?(@.type=='VerticalAbleToApply')].status" +kubebuilder:printcolumn:name="Last Trigger",type="date",JSONPath=".status.vertical.lastAction.time" 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 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 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 *common.DatadogPodAutoscalerUpdatePolicy `json:"update,omitempty"`
// Upscale defines the policy to scale up the target resource.
Upscale *common.DatadogPodAutoscalerScalingPolicy `json:"upscale,omitempty"`
// Downscale defines the policy to scale down the target resource.
Downscale *common.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 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 common.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 []common.DatadogPodAutoscalerObjective `json:"targets,omitempty"`
// Constraints defines constraints that should always be respected.
Constraints *common.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 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"`
// TimeSlice defines the SLI specification for a time_slice SLO. Required if type is time_slice.
// It specifies a metric query and a comparator/threshold that determines what counts as good uptime.
TimeSlice *DatadogSLOTimeSlice `json:"timeSlice,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 DatadogSLOTimeSlice ¶
type DatadogSLOTimeSlice struct {
// Query is a Datadog metric query string that produces the SLI value.
Query string `json:"query"`
// Comparator is the comparison operator used to compare the SLI value to the threshold.
// +kubebuilder:validation:Enum=">";">=";"<";"<="
Comparator DatadogSLOTimeSliceComparator `json:"comparator"`
// Threshold is the value against which the SLI is compared using the comparator to determine
// if a time slice is good or bad.
Threshold resource.Quantity `json:"threshold"`
}
DatadogSLOTimeSlice defines the SLI specification for a time_slice SLO. It specifies a metric query and a comparator/threshold that determines what counts as good uptime. The operator automatically wraps the query into the formula and named query structure required by the Datadog API. +k8s:openapi-gen=true
func (*DatadogSLOTimeSlice) DeepCopy ¶
func (in *DatadogSLOTimeSlice) DeepCopy() *DatadogSLOTimeSlice
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogSLOTimeSlice.
func (*DatadogSLOTimeSlice) DeepCopyInto ¶
func (in *DatadogSLOTimeSlice) DeepCopyInto(out *DatadogSLOTimeSlice)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogSLOTimeSliceComparator ¶
type DatadogSLOTimeSliceComparator string
DatadogSLOTimeSliceComparator is the comparator used to compare the SLI value to the threshold. +kubebuilder:validation:Enum=">";">=";"<";"<="
const ( DatadogSLOTimeSliceComparatorGreater DatadogSLOTimeSliceComparator = ">" DatadogSLOTimeSliceComparatorGreaterEqual DatadogSLOTimeSliceComparator = ">=" DatadogSLOTimeSliceComparatorLess DatadogSLOTimeSliceComparator = "<" DatadogSLOTimeSliceComparatorLessEqual DatadogSLOTimeSliceComparator = "<=" )
type DatadogSLOType ¶
type DatadogSLOType string
const ( DatadogSLOTypeMetric DatadogSLOType = "metric" DatadogSLOTypeMonitor DatadogSLOType = "monitor" DatadogSLOTypeTimeSlice DatadogSLOType = "time_slice" )
func (DatadogSLOType) IsValid ¶
func (t DatadogSLOType) IsValid() bool
type DatadogSyncStatus ¶
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 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 ¶
type SupportedResourcesType string
const ( Dashboard SupportedResourcesType = "dashboard" Downtime SupportedResourcesType = "downtime" Monitor SupportedResourcesType = "monitor" 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
¶
- datadogagentinternal_types.go
- datadogagentprofile_types.go
- datadogagentprofile_validation.go
- datadogcsidriver_types.go
- datadogdashboard_types.go
- datadogdashboard_validation.go
- datadoggenericresource_types.go
- datadoginstrumentation_types.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