Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the io v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=alerts.newrelic.io
Package v1alpha1 contains API Schema definitions for the io v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=alerts.newrelic.io
Index ¶
- Variables
- func GetNamespacedName(channel metav1.Object) types.NamespacedName
- func IsDeleted(channel metav1.Object) bool
- type AbstractNotificationChannel
- func (in *AbstractNotificationChannel) DeepCopy() *AbstractNotificationChannel
- func (in *AbstractNotificationChannel) DeepCopyInto(out *AbstractNotificationChannel)
- func (channel AbstractNotificationChannel) GetStatus() NotificationChannelStatus
- func (channel *AbstractNotificationChannel) SetStatus(status NotificationChannelStatus)
- type AlertPolicy
- type AlertPolicyList
- type AlertPolicySpec
- type ApmCondition
- type ChannelFactory
- type EmailNotificationChannel
- func (in *EmailNotificationChannel) DeepCopy() *EmailNotificationChannel
- func (in *EmailNotificationChannel) DeepCopyInto(out *EmailNotificationChannel)
- func (in *EmailNotificationChannel) DeepCopyObject() runtime.Object
- func (channel EmailNotificationChannel) GetPolicySelector() labels.Selector
- func (channel EmailNotificationChannel) NewChannel(policies AlertPolicyList) *domain.NotificationChannel
- type EmailNotificationChannelList
- func (in *EmailNotificationChannelList) DeepCopy() *EmailNotificationChannelList
- func (in *EmailNotificationChannelList) DeepCopyInto(out *EmailNotificationChannelList)
- func (in *EmailNotificationChannelList) DeepCopyObject() runtime.Object
- func (list EmailNotificationChannelList) GetNamespacedNames() []types.NamespacedName
- func (list EmailNotificationChannelList) Size() int
- type EmailNotificationChannelSpec
- type Expiration
- type InfraCondition
- type InfraThreshold
- type NotificationChannel
- type NotificationChannelList
- type NotificationChannelStatus
- type NrqlCondition
- type OpsgenieNotificationChannel
- func (in *OpsgenieNotificationChannel) DeepCopy() *OpsgenieNotificationChannel
- func (in *OpsgenieNotificationChannel) DeepCopyInto(out *OpsgenieNotificationChannel)
- func (in *OpsgenieNotificationChannel) DeepCopyObject() runtime.Object
- func (channel OpsgenieNotificationChannel) GetPolicySelector() labels.Selector
- func (channel OpsgenieNotificationChannel) NewChannel(policies AlertPolicyList) *domain.NotificationChannel
- type OpsgenieNotificationChannelList
- func (in *OpsgenieNotificationChannelList) DeepCopy() *OpsgenieNotificationChannelList
- func (in *OpsgenieNotificationChannelList) DeepCopyInto(out *OpsgenieNotificationChannelList)
- func (in *OpsgenieNotificationChannelList) DeepCopyObject() runtime.Object
- func (list OpsgenieNotificationChannelList) GetNamespacedNames() []types.NamespacedName
- func (list OpsgenieNotificationChannelList) Size() int
- type OpsgenieNotificationChannelSpec
- type Signal
- type SlackNotificationChannel
- func (in *SlackNotificationChannel) DeepCopy() *SlackNotificationChannel
- func (in *SlackNotificationChannel) DeepCopyInto(out *SlackNotificationChannel)
- func (in *SlackNotificationChannel) DeepCopyObject() runtime.Object
- func (channel SlackNotificationChannel) GetPolicySelector() labels.Selector
- func (channel SlackNotificationChannel) NewChannel(policies AlertPolicyList) *domain.NotificationChannel
- type SlackNotificationChannelList
- func (in *SlackNotificationChannelList) DeepCopy() *SlackNotificationChannelList
- func (in *SlackNotificationChannelList) DeepCopyInto(out *SlackNotificationChannelList)
- func (in *SlackNotificationChannelList) DeepCopyObject() runtime.Object
- func (list SlackNotificationChannelList) GetNamespacedNames() []types.NamespacedName
- func (list SlackNotificationChannelList) Size() int
- type SlackNotificationChannelSpec
- type Threshold
- type UserDefined
Constants ¶
This section is empty.
Variables ¶
var ( // SchemeGroupVersion is group version used to register these objects SchemeGroupVersion = schema.GroupVersion{Group: "alerts.newrelic.io", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} )
Functions ¶
func GetNamespacedName ¶ added in v1.0.1
func GetNamespacedName(channel metav1.Object) types.NamespacedName
Types ¶
type AbstractNotificationChannel ¶ added in v1.0.1
type AbstractNotificationChannel struct {
Status NotificationChannelStatus `json:"status,omitempty"`
}
func (*AbstractNotificationChannel) DeepCopy ¶ added in v1.0.1
func (in *AbstractNotificationChannel) DeepCopy() *AbstractNotificationChannel
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AbstractNotificationChannel.
func (*AbstractNotificationChannel) DeepCopyInto ¶ added in v1.0.1
func (in *AbstractNotificationChannel) DeepCopyInto(out *AbstractNotificationChannel)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (AbstractNotificationChannel) GetStatus ¶ added in v1.0.1
func (channel AbstractNotificationChannel) GetStatus() NotificationChannelStatus
func (*AbstractNotificationChannel) SetStatus ¶ added in v1.0.1
func (channel *AbstractNotificationChannel) SetStatus(status NotificationChannelStatus)
type AlertPolicy ¶
type AlertPolicy struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec AlertPolicySpec `json:"spec,omitempty"` Status v1alpha1.Status `json:"status,omitempty"` }
AlertPolicy is the Schema for the newrelicalertpolicies API +kubebuilder:subresource:status +kubebuilder:resource:path=alertpolicies,scope=Namespaced +kubebuilder:printcolumn:name="NR Name",type="string",JSONPath=".spec.name",description="The New Relic name this policy" +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.status",description="The status of this policy" +kubebuilder:printcolumn:name="Newrelic ID",type="string",JSONPath=".status.newrelicId",description="The New Relic ID of this policy" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="The age of this policy"
func (*AlertPolicy) DeepCopy ¶
func (in *AlertPolicy) DeepCopy() *AlertPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertPolicy.
func (*AlertPolicy) DeepCopyInto ¶
func (in *AlertPolicy) DeepCopyInto(out *AlertPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AlertPolicy) DeepCopyObject ¶
func (in *AlertPolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AlertPolicyList ¶
type AlertPolicyList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []AlertPolicy `json:"items"` }
+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*AlertPolicyList) DeepCopy ¶
func (in *AlertPolicyList) DeepCopy() *AlertPolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertPolicyList.
func (*AlertPolicyList) DeepCopyInto ¶
func (in *AlertPolicyList) DeepCopyInto(out *AlertPolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AlertPolicyList) DeepCopyObject ¶
func (in *AlertPolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AlertPolicySpec ¶
type AlertPolicySpec struct { // The name of the alert policy that will be created in New Relic Name string `json:"name"` // The incident preference defines when incident should be created. \ // Can be one of: \ // - `per_policy` \ // - `per_condition` \ // - `per_condition_and_target` \ // +kubebuilder:validation:Enum=per_policy;per_condition;per_condition_and_target IncidentPreference string `json:"incident_preference"` // A list of APM alert conditions to attach to the policy // +optional ApmConditions []ApmCondition `json:"apmConditions,omitempty"` // A list of NRQL alert conditions to attach to the policy // +optional NrqlConditions []NrqlCondition `json:"nrqlConditions,omitempty"` // A list of Infrastructure alert conditions to attach to the policy // +optional InfraConditions []InfraCondition `json:"infraConditions,omitempty"` }
AlertPolicySpec defines the desired state of AlertPolicy. Detailed parameter description can be found on the official [New Relic documentation](https://docs.newrelic.com/docs/alerts/rest-api-alerts/new-relic-alerts-rest-api/rest-api-calls-new-relic-alerts#policies)
func (*AlertPolicySpec) DeepCopy ¶
func (in *AlertPolicySpec) DeepCopy() *AlertPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertPolicySpec.
func (*AlertPolicySpec) DeepCopyInto ¶
func (in *AlertPolicySpec) DeepCopyInto(out *AlertPolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ApmCondition ¶
type ApmCondition struct { // The name of the alert condition that will be created in New Relic Name string `json:"name"` // +kubebuilder:validation:Enum=apm_app_metric;apm_kt_metric;apm_jvm_metric;browser_metric;mobile_metric // The type of the metric to monitor. Should be one of: \ // - `apm_app_metric` \ // - `apm_kt_metric` \ // - `apm_jvm_metric` \ // - `browser_metric` \ // - `mobile_metric` \ // Please refer to the Alerts conditions section in the [New Relic documentation](https://docs.newrelic.com/docs/alerts/rest-api-alerts/new-relic-alerts-rest-api/alerts-conditions-api-field-names#type) for more details Type string `json:"type"` // +optional // +default=true Enabled *bool `json:"enabled,omitempty"` // +kubebuilder:validation:Enum=instance;application // +optional ConditionScope *string `json:"conditionScope,omitempty"` // A list of application names from APM to monitor Entities []string `json:"entities"` // +optional ViolationCloseTimer int `json:"violationCloseTimer,omitempty"` // +optional RunbookUrl string `json:"runbookUrl,omitempty"` // The APM metric to monitor. Different metrics can be applied depending on the condition type. \ // An example of a valid (type, metric) combination is (apm_app_metric, apdex). \ // Please refer to the Alerts conditions section in the [New Relic documentation](https://docs.newrelic.com/docs/alerts/rest-api-alerts/new-relic-alerts-rest-api/alerts-conditions-api-field-names#metric) for more details Metric string `json:"metric"` // Once the alertThreshold is breached, a critical incident will be generated CriticalThreshold Threshold `json:"alertThreshold"` // Once the warningThreshold is breached, a warning will be generated // +optional WarningThreshold *Threshold `json:"warningThreshold,omitempty"` // Used for tracking a user defined custom metric \ // For more information, please refer to the [New Relic documentation](https://docs.newrelic.com/docs/alerts/rest-api-alerts/new-relic-alerts-rest-api/alerts-conditions-api-field-names#user_defined_metric) // +optional UserDefined *UserDefined `json:"userDefined,omitempty"` }
func (*ApmCondition) DeepCopy ¶
func (in *ApmCondition) DeepCopy() *ApmCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApmCondition.
func (*ApmCondition) DeepCopyInto ¶
func (in *ApmCondition) DeepCopyInto(out *ApmCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ChannelFactory ¶
type ChannelFactory interface { NewChannel() NotificationChannel NewList() NotificationChannelList }
func NewEmailNotificationChannelFactory ¶
func NewEmailNotificationChannelFactory() ChannelFactory
func NewOpsgenieNotificationChannelFactory ¶ added in v1.0.1
func NewOpsgenieNotificationChannelFactory() ChannelFactory
func NewSlackNotificationChannelFactory ¶
func NewSlackNotificationChannelFactory() ChannelFactory
type EmailNotificationChannel ¶
type EmailNotificationChannel struct { AbstractNotificationChannel `json:",inline"` metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec EmailNotificationChannelSpec `json:"spec,omitempty"` }
+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object EmailNotificationChannel is the Schema for the EmailNotificationChannels API +kubebuilder:subresource:status +kubebuilder:resource:path=emailnotificationchannels,scope=Namespaced +kubebuilder:printcolumn:name="NR Name",type="string",JSONPath=".spec.name",description="The New Relic name this channel" +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.status",description="The status of this channel" +kubebuilder:printcolumn:name="Newrelic ID",type="string",JSONPath=".status.newrelicId",description="The New Relic ID of this channel" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="The age of this channel"
func (*EmailNotificationChannel) DeepCopy ¶
func (in *EmailNotificationChannel) DeepCopy() *EmailNotificationChannel
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EmailNotificationChannel.
func (*EmailNotificationChannel) DeepCopyInto ¶
func (in *EmailNotificationChannel) DeepCopyInto(out *EmailNotificationChannel)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EmailNotificationChannel) DeepCopyObject ¶
func (in *EmailNotificationChannel) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (EmailNotificationChannel) GetPolicySelector ¶
func (channel EmailNotificationChannel) GetPolicySelector() labels.Selector
func (EmailNotificationChannel) NewChannel ¶
func (channel EmailNotificationChannel) NewChannel(policies AlertPolicyList) *domain.NotificationChannel
type EmailNotificationChannelList ¶
type EmailNotificationChannelList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []EmailNotificationChannel `json:"items"` }
+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object NotificationChannelList contains a list of NotificationChannel
func (*EmailNotificationChannelList) DeepCopy ¶
func (in *EmailNotificationChannelList) DeepCopy() *EmailNotificationChannelList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EmailNotificationChannelList.
func (*EmailNotificationChannelList) DeepCopyInto ¶
func (in *EmailNotificationChannelList) DeepCopyInto(out *EmailNotificationChannelList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EmailNotificationChannelList) DeepCopyObject ¶
func (in *EmailNotificationChannelList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (EmailNotificationChannelList) GetNamespacedNames ¶
func (list EmailNotificationChannelList) GetNamespacedNames() []types.NamespacedName
func (EmailNotificationChannelList) Size ¶
func (list EmailNotificationChannelList) Size() int
type EmailNotificationChannelSpec ¶
type EmailNotificationChannelSpec struct { // The name of the notification channel created in New Relic Name string `json:"name"` // A comma-separated value of emails Recipients string `json:"recipients"` // Include JSON attachment with the notification // +optional // +default=false IncludeJsonAttachments bool `json:"includeJsonAttachment,omitempty"` // A label selector defining the alert policies covered by the notification channel PolicySelector labels.Set `json:"policySelector,omitempty"` }
EmailNotificationChannelSpec defines the desired state of EmailNotificationChannel
func (*EmailNotificationChannelSpec) DeepCopy ¶
func (in *EmailNotificationChannelSpec) DeepCopy() *EmailNotificationChannelSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EmailNotificationChannelSpec.
func (*EmailNotificationChannelSpec) DeepCopyInto ¶
func (in *EmailNotificationChannelSpec) DeepCopyInto(out *EmailNotificationChannelSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Expiration ¶ added in v1.3.0
type Expiration struct { // How long to wait, in seconds, after the last data point is received by our platform before considering the signal as lost. // For more information, please refer to the official [New Relic documentation](https://docs.newrelic.com/docs/alerts-applied-intelligence/new-relic-alerts/rest-api-alerts/alerts-conditions-api-field-names#evaluation_duration) // +kubebuilder:validation:Maximum=172800 // +kubebuilder:validation:Minimum=30 // +optional ExpirationDuration *int `json:"expirationDurationSeconds,omitempty"` // When true, this closes all currently open violations when no signal is heard within the expiration_duration time. // For more information, please refer to the official [New Relic documentation](https://docs.newrelic.com/docs/alerts-applied-intelligence/new-relic-alerts/rest-api-alerts/alerts-conditions-api-field-names#open_violation_on_expiration) // +optional OpenViolationOnExpiration *bool `json:"openViolationOnExpiration,omitempty"` // When true, this opens a loss of signal violation when no signal within the expiration_duration time. // For more information, please refer to the official [New Relic documentation](https://docs.newrelic.com/docs/alerts-applied-intelligence/new-relic-alerts/rest-api-alerts/alerts-conditions-api-field-names#close_violations_on_expiration) // +optional CloseViolationsOnExpiration *bool `json:"closeViolationsOnExpiration,omitempty"` }
func (*Expiration) DeepCopy ¶ added in v1.3.0
func (in *Expiration) DeepCopy() *Expiration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Expiration.
func (*Expiration) DeepCopyInto ¶ added in v1.3.0
func (in *Expiration) DeepCopyInto(out *Expiration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InfraCondition ¶
type InfraCondition struct { // The name of the infra condition that will be created in New Relic Name string `json:"name"` // Available options are: \ // - `above` \ // - `below` \ // - `equal` \ // +kubebuilder:validation:Enum=equal;above;bellow Comparison string `json:"comparison"` // Once the alertThreshold is breached, a critical incident will be generated CriticalThreshold InfraThreshold `json:"alertThreshold"` // Once the warningThreshold is breached, a warning will be generated // +optional WarningThreshold *InfraThreshold `json:"warningThreshold,omitempty"` // +optional // +default=true Enabled *bool `json:"enabled,omitempty"` // Leave this parameter empty when creating conditions based on data from an integration provider // For more information, please refer to the `event_type` field in the official [New Relic documentation](https://docs.newrelic.com/docs/infrastructure/new-relic-infrastructure/infrastructure-alert-conditions/rest-api-calls-new-relic-infrastructure-alerts#definitions) // +optional EventType string `json:"eventType,omitempty"` // When setting up alerts on integrations, specify the corresponding integration provider. \ // Examples can include SqsQueue, Kubernetes, RdsDbInstance etc. \ // For more information, please refer to the `integration_provider` field in the official [New Relic documentation](https://docs.newrelic.com/docs/infrastructure/new-relic-infrastructure/infrastructure-alert-conditions/rest-api-calls-new-relic-infrastructure-alerts#definitions) IntegrationProvider string `json:"integrationProvider"` // +optional RunbookUrl string `json:"runbookUrl,omitempty"` // The attribute name from the Event sample or Integration provider which identifies the metric to be tracked. // Examples for Sqs include `provider.approximateAgeOfOldestMessage.Average` and `provider.numberOfEmptyReceives.Average`. // For more information, please refer to the `select_value` field in the official [New Relic documentation](https://docs.newrelic.com/docs/infrastructure/new-relic-infrastructure/infrastructure-alert-conditions/rest-api-calls-new-relic-infrastructure-alerts#definitions) SelectValue string `json:"selectValue"` // +optional ViolationCloseTimer int `json:"violationCloseTimer,omitempty"` // An expression used for filtering data from the IntegrationProvider WhereClause string `json:"whereClause,omitempty"` }
func (*InfraCondition) DeepCopy ¶
func (in *InfraCondition) DeepCopy() *InfraCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InfraCondition.
func (*InfraCondition) DeepCopyInto ¶
func (in *InfraCondition) DeepCopyInto(out *InfraCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InfraThreshold ¶
type InfraThreshold struct { // Defines when the threshold should be considered as breached. \ // Available options are: \ // - `all` - all data points are in violation within the given period \ // - `any` - at least one data point is in violation within the given period \ // +kubebuilder:validation:Enum=all;any TimeFunction string `json:"timeFunction"` Value int `json:"value"` // For how long the violation should be active before an incident is triggered \ DurationMinutes int `json:"durationMinutes"` }
func (*InfraThreshold) DeepCopy ¶
func (in *InfraThreshold) DeepCopy() *InfraThreshold
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InfraThreshold.
func (*InfraThreshold) DeepCopyInto ¶
func (in *InfraThreshold) DeepCopyInto(out *InfraThreshold)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NotificationChannel ¶
type NotificationChannel interface { runtime.Object metav1.Object GetPolicySelector() labels.Selector GetStatus() NotificationChannelStatus SetStatus(status NotificationChannelStatus) NewChannel(policies AlertPolicyList) *domain.NotificationChannel }
type NotificationChannelList ¶
type NotificationChannelList interface { runtime.Object Size() int GetNamespacedNames() []types.NamespacedName }
+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
type NotificationChannelStatus ¶
type NotificationChannelStatus struct { v1alpha1.Status `json:",inline"` NewrelicConfigVersion string `json:"newrelicConfigVersion,omitempty"` }
NotificationChannelStatus defines the observed state of NotificationChannel
func NewChannelError ¶
func NewChannelError(newrelicId *int64, err error) NotificationChannelStatus
func NewChannelPending ¶
func NewChannelPending(newrelicId *int64, configVersion string) NotificationChannelStatus
func NewChannelReady ¶
func NewChannelReady(newrelicId *int64, configVersion string) NotificationChannelStatus
func (*NotificationChannelStatus) DeepCopy ¶
func (in *NotificationChannelStatus) DeepCopy() *NotificationChannelStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotificationChannelStatus.
func (*NotificationChannelStatus) DeepCopyInto ¶
func (in *NotificationChannelStatus) DeepCopyInto(out *NotificationChannelStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NrqlCondition ¶
type NrqlCondition struct { // The name of the nrql policy that will be created in New Relic Name string `json:"name"` // +optional // +default=true Enabled *bool `json:"enabled,omitempty"` // The NRQL query associated with the condition Query string `json:"query"` // Defines the `SINCE` clause in the NRQL query // +optional // +kubebuilder:validation:Maximum=20 // +kubebuilder:validation:Minimum=1 Since *int `json:"sinceMinutes,omitempty"` // Available options are: \ // - `single_value` \ // - `sum` \ // For more information, please refer to the official [New Relic documentation](https://docs.newrelic.com/docs/alerts/rest-api-alerts/new-relic-alerts-rest-api/alerts-conditions-api-field-names#value_function) // +kubebuilder:validation:Enum=single_value;sum ValueFunction string `json:"valueFunction"` // Once the alertThreshold is breached, a critical incident will be generated AlertThreshold Threshold `json:"alertThreshold"` // Once the warningThreshold is breached, a warning will be generated // +optional WarningThreshold *Threshold `json:"warningThreshold,omitempty"` // +optional RunbookUrl string `json:"runbookUrl,omitempty"` // Used to specify signal properties for missing data // +optional Signal *Signal `json:"signal,omitempty"` // Used to define actions on signal expiration // +optional Expiration *Expiration `json:"expiration,omitempty"` }
func (*NrqlCondition) DeepCopy ¶
func (in *NrqlCondition) DeepCopy() *NrqlCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NrqlCondition.
func (*NrqlCondition) DeepCopyInto ¶
func (in *NrqlCondition) DeepCopyInto(out *NrqlCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OpsgenieNotificationChannel ¶ added in v1.0.1
type OpsgenieNotificationChannel struct { AbstractNotificationChannel `json:",inline"` metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec OpsgenieNotificationChannelSpec `json:"spec,omitempty"` }
NotificationChannel is the Schema for the OpsgenieNotificationChannels API +kubebuilder:subresource:status +kubebuilder:resource:path=opsgenienotificationchannels,scope=Namespaced +kubebuilder:printcolumn:name="NR Name",type="string",JSONPath=".spec.name",description="The New Relic name this channel" +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.status",description="The status of this channel" +kubebuilder:printcolumn:name="Newrelic ID",type="string",JSONPath=".status.newrelicId",description="The New Relic ID of this channel" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="The age of this channel"
func (*OpsgenieNotificationChannel) DeepCopy ¶ added in v1.0.1
func (in *OpsgenieNotificationChannel) DeepCopy() *OpsgenieNotificationChannel
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpsgenieNotificationChannel.
func (*OpsgenieNotificationChannel) DeepCopyInto ¶ added in v1.0.1
func (in *OpsgenieNotificationChannel) DeepCopyInto(out *OpsgenieNotificationChannel)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*OpsgenieNotificationChannel) DeepCopyObject ¶ added in v1.0.1
func (in *OpsgenieNotificationChannel) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (OpsgenieNotificationChannel) GetPolicySelector ¶ added in v1.0.1
func (channel OpsgenieNotificationChannel) GetPolicySelector() labels.Selector
func (OpsgenieNotificationChannel) NewChannel ¶ added in v1.0.1
func (channel OpsgenieNotificationChannel) NewChannel(policies AlertPolicyList) *domain.NotificationChannel
type OpsgenieNotificationChannelList ¶ added in v1.0.1
type OpsgenieNotificationChannelList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []OpsgenieNotificationChannel `json:"items"` }
+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object NotificationChannelList contains a list of NotificationChannel
func (*OpsgenieNotificationChannelList) DeepCopy ¶ added in v1.0.1
func (in *OpsgenieNotificationChannelList) DeepCopy() *OpsgenieNotificationChannelList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpsgenieNotificationChannelList.
func (*OpsgenieNotificationChannelList) DeepCopyInto ¶ added in v1.0.1
func (in *OpsgenieNotificationChannelList) DeepCopyInto(out *OpsgenieNotificationChannelList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*OpsgenieNotificationChannelList) DeepCopyObject ¶ added in v1.0.1
func (in *OpsgenieNotificationChannelList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (OpsgenieNotificationChannelList) GetNamespacedNames ¶ added in v1.0.1
func (list OpsgenieNotificationChannelList) GetNamespacedNames() []types.NamespacedName
func (OpsgenieNotificationChannelList) Size ¶ added in v1.0.1
func (list OpsgenieNotificationChannelList) Size() int
type OpsgenieNotificationChannelSpec ¶ added in v1.0.1
type OpsgenieNotificationChannelSpec struct { // The name of the notification channel created in New Relic Name string `json:"name"` // The Opsgenie API Key. // If left empty, the default API key specified when deploying the operator will be used // +optional ApiKey string `json:"api_key,omitempty"` // A list of teams // +optional Teams []string `json:"teams,omitempty"` // A list of tags // +optional Tags []string `json:"tags,omitempty"` // A comma-separated value of emails // +optional Recipients []string `json:"recipients,omitempty"` // A label selector defining the alert policies covered by the notification channel PolicySelector labels.Set `json:"policySelector,omitempty"` }
OpsgenieNotificationChannelSpec defines the desired state of NotificationChannel
func (*OpsgenieNotificationChannelSpec) DeepCopy ¶ added in v1.0.1
func (in *OpsgenieNotificationChannelSpec) DeepCopy() *OpsgenieNotificationChannelSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpsgenieNotificationChannelSpec.
func (*OpsgenieNotificationChannelSpec) DeepCopyInto ¶ added in v1.0.1
func (in *OpsgenieNotificationChannelSpec) DeepCopyInto(out *OpsgenieNotificationChannelSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Signal ¶ added in v1.3.0
type Signal struct { // Please refer to the official [New Relic documentation](https://docs.newrelic.com/docs/alerts-applied-intelligence/new-relic-alerts/rest-api-alerts/alerts-conditions-api-field-names#aggregation_window) // +kubebuilder:validation:Maximum=900 // +kubebuilder:validation:Minimum=30 // +optional AggregationWindow *int `json:"aggregationWindowSeconds,omitempty"` // The offset is how long we wait for late data before evaluating each aggregation window // For additional information, please refer to the official [New Relic documentation](https://docs.newrelic.com/docs/alerts-applied-intelligence/new-relic-alerts/rest-api-alerts/alerts-conditions-api-field-names#evaluation_offset) // +kubebuilder:validation:Maximum=20 // +kubebuilder:validation:Minimum=1 // +optional EvaluationOffset *int `json:"evaluationOffset,omitempty"` // For sporadic data, you can avoid false alerts by filling the gaps (empty windows) with synthetic data. The default is None. // For additional information, please refer to the official [New Relic documentation](https://docs.newrelic.com/docs/alerts-applied-intelligence/new-relic-alerts/rest-api-alerts/alerts-conditions-api-field-names#fill_option) // +kubebuilder:validation:Enum=none;static;last_value // +optional FillOption *string `json:"fillOption,omitempty"` // This is the value used by the fill_option custom value. The default is 0. // For additional information, please refer to the official [New Relic documentation](https://docs.newrelic.com/docs/alerts-applied-intelligence/new-relic-alerts/rest-api-alerts/alerts-conditions-api-field-names#fill_value) // +optional FillValue *string `json:"fillValue,omitempty"` }
func (*Signal) DeepCopy ¶ added in v1.3.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Signal.
func (*Signal) DeepCopyInto ¶ added in v1.3.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SlackNotificationChannel ¶
type SlackNotificationChannel struct { AbstractNotificationChannel `json:",inline"` metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec SlackNotificationChannelSpec `json:"spec,omitempty"` }
NotificationChannel is the Schema for the slacknotificationchannels API +kubebuilder:subresource:status +kubebuilder:resource:path=slacknotificationchannels,scope=Namespaced +kubebuilder:printcolumn:name="NR Name",type="string",JSONPath=".spec.name",description="The New Relic name this channel" +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.status",description="The status of this channel" +kubebuilder:printcolumn:name="Newrelic ID",type="string",JSONPath=".status.newrelicId",description="The New Relic ID of this channel" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="The age of this channel"
func (*SlackNotificationChannel) DeepCopy ¶
func (in *SlackNotificationChannel) DeepCopy() *SlackNotificationChannel
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SlackNotificationChannel.
func (*SlackNotificationChannel) DeepCopyInto ¶
func (in *SlackNotificationChannel) DeepCopyInto(out *SlackNotificationChannel)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SlackNotificationChannel) DeepCopyObject ¶
func (in *SlackNotificationChannel) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (SlackNotificationChannel) GetPolicySelector ¶
func (channel SlackNotificationChannel) GetPolicySelector() labels.Selector
func (SlackNotificationChannel) NewChannel ¶
func (channel SlackNotificationChannel) NewChannel(policies AlertPolicyList) *domain.NotificationChannel
type SlackNotificationChannelList ¶
type SlackNotificationChannelList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []SlackNotificationChannel `json:"items"` }
+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object NotificationChannelList contains a list of NotificationChannel
func (*SlackNotificationChannelList) DeepCopy ¶
func (in *SlackNotificationChannelList) DeepCopy() *SlackNotificationChannelList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SlackNotificationChannelList.
func (*SlackNotificationChannelList) DeepCopyInto ¶
func (in *SlackNotificationChannelList) DeepCopyInto(out *SlackNotificationChannelList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SlackNotificationChannelList) DeepCopyObject ¶
func (in *SlackNotificationChannelList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (SlackNotificationChannelList) GetNamespacedNames ¶
func (list SlackNotificationChannelList) GetNamespacedNames() []types.NamespacedName
func (SlackNotificationChannelList) Size ¶
func (list SlackNotificationChannelList) Size() int
type SlackNotificationChannelSpec ¶
type SlackNotificationChannelSpec struct { // The name of the notification channel created in New Relic Name string `json:"name"` // The Slack webhook URL. // If left empty, the default URL specified when deploying the operator will be used // +optional Url string `json:"url,omitempty"` // Name of the Slack channel. Should start with `#` Channel string `json:"channel"` // A label selector defining the alert policies covered by the notification channel PolicySelector labels.Set `json:"policySelector,omitempty"` }
SlackNotificationChannelSpec defines the desired state of NotificationChannel
func (*SlackNotificationChannelSpec) DeepCopy ¶
func (in *SlackNotificationChannelSpec) DeepCopy() *SlackNotificationChannelSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SlackNotificationChannelSpec.
func (*SlackNotificationChannelSpec) DeepCopyInto ¶
func (in *SlackNotificationChannelSpec) DeepCopyInto(out *SlackNotificationChannelSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Threshold ¶
type Threshold struct { // Defines when the threshold should be considered as breached. \ // Available options are: \ // * all - all data points are in violation within the given period \ // * any - at least one data point is in violation within the given period \ // For more information, please refer to the official [New Relic documentation](https://docs.newrelic.com/docs/alerts/rest-api-alerts/new-relic-alerts-rest-api/alerts-conditions-api-field-names#terms_time_function) // +kubebuilder:validation:Enum=all;any TimeFunction string `json:"timeFunction"` // Available options are: \ // - `above` \ // - `below` \ // - `equal` \ // +kubebuilder:validation:Enum=above;below;equal Operator string `json:"operator,omitempty"` Value string `json:"value"` // For how long the violation should be active before an incident is triggered \ // For more information, please refer to the official [New Relic documentation](https://docs.newrelic.com/docs/alerts/rest-api-alerts/new-relic-alerts-rest-api/alerts-conditions-api-field-names#terms_duration_minutes) DurationMinutes int `json:"durationMinutes"` }
func (*Threshold) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Threshold.
func (*Threshold) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UserDefined ¶
type UserDefined struct { // The name of the user defined custom metric Metric string `json:"metric"` // Available options are: \ // - `average` \ // - `min` \ // - `max` \ // - `total` \ // - `sample_size` \ // For more information, please refer to the official [New Relic documentation](https://docs.newrelic.com/docs/alerts/rest-api-alerts/new-relic-alerts-rest-api/alerts-conditions-api-field-names#user_defined_value_function) // +kubebuilder:validation:Enum=average;min;max;total;sample_size ValueFunction string `json:"value_function"` }
func (*UserDefined) DeepCopy ¶
func (in *UserDefined) DeepCopy() *UserDefined
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserDefined.
func (*UserDefined) DeepCopyInto ¶
func (in *UserDefined) DeepCopyInto(out *UserDefined)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
Source Files ¶
- alert_policy_types.go
- apm_alert_condition.go
- doc.go
- infra_alert_condition.go
- notification_channel.go
- notification_channel_status.go
- nrql_alert_condition.go
- ops_genie_notification_channel_types.go
- register.go
- slack_notification_channel_types.go
- user_notificationchannel_types.go
- zz_generated.deepcopy.go