v1alpha1

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Aug 5, 2020 License: MIT Imports: 10 Imported by: 0

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

Constants

This section is empty.

Variables

View Source
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

func IsDeleted added in v1.0.1

func IsDeleted(channel metav1.Object) bool

Types

type AbstractNotificationChannel added in v1.0.1

type AbstractNotificationChannel struct {
	Status NotificationChannelStatus `json:"status,omitempty"`
}

func (*AbstractNotificationChannel) DeepCopy added in v1.0.1

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

func (*AbstractNotificationChannel) DeepCopyInto added in v1.0.1

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 (*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

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

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

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

func (*EmailNotificationChannelList) DeepCopyInto

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

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

func (*EmailNotificationChannelSpec) DeepCopyInto

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

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

func (*NotificationChannelStatus) DeepCopyInto

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
	Since int `json:"sinceMinutes"`
	// 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"`
}

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

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

func (*OpsgenieNotificationChannel) DeepCopyInto added in v1.0.1

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

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

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

func (*OpsgenieNotificationChannelList) DeepCopyInto added in v1.0.1

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

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

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

func (*OpsgenieNotificationChannelSpec) DeepCopyInto added in v1.0.1

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

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

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

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

func (*SlackNotificationChannelList) DeepCopyInto

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

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

func (*SlackNotificationChannelSpec) DeepCopyInto

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

func (in *Threshold) DeepCopy() *Threshold

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

func (*Threshold) DeepCopyInto

func (in *Threshold) DeepCopyInto(out *Threshold)

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.

Jump to

Keyboard shortcuts

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