v1alpha1

package
v0.0.0-...-30237b5 Latest Latest
Warning

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

Go to latest
Published: Nov 20, 2023 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Overview

+kubebuilder:object:generate=true +groupName=alert.mongodbatlas.crossplane.io +versionName=v1alpha1

Index

Constants

View Source
const (
	CRDGroup   = "alert.mongodbatlas.crossplane.io"
	CRDVersion = "v1alpha1"
)

Package type metadata.

Variables

View Source
var (
	Configuration_Kind             = "Configuration"
	Configuration_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Configuration_Kind}.String()
	Configuration_KindAPIVersion   = Configuration_Kind + "." + CRDGroupVersion.String()
	Configuration_GroupVersionKind = CRDGroupVersion.WithKind(Configuration_Kind)
)

Repository type metadata.

View Source
var (
	// CRDGroupVersion is the API Group Version used to register the objects
	CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type Configuration

type Configuration struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.eventType)",message="eventType is a required parameter"
	// +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.notification)",message="notification is a required parameter"
	// +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.projectId)",message="projectId is a required parameter"
	Spec   ConfigurationSpec   `json:"spec"`
	Status ConfigurationStatus `json:"status,omitempty"`
}

Configuration is the Schema for the Configurations API. Provides an Alert Configuration resource. +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,mongodbatlas}

func (*Configuration) DeepCopy

func (in *Configuration) DeepCopy() *Configuration

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

func (*Configuration) DeepCopyInto

func (in *Configuration) DeepCopyInto(out *Configuration)

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

func (*Configuration) DeepCopyObject

func (in *Configuration) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Configuration) GetCondition

func (mg *Configuration) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this Configuration.

func (*Configuration) GetConnectionDetailsMapping

func (tr *Configuration) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Configuration

func (*Configuration) GetDeletionPolicy

func (mg *Configuration) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this Configuration.

func (*Configuration) GetID

func (tr *Configuration) GetID() string

GetID returns ID of underlying Terraform resource of this Configuration

func (*Configuration) GetManagementPolicy

func (mg *Configuration) GetManagementPolicy() xpv1.ManagementPolicy

GetManagementPolicy of this Configuration.

func (*Configuration) GetObservation

func (tr *Configuration) GetObservation() (map[string]any, error)

GetObservation of this Configuration

func (*Configuration) GetParameters

func (tr *Configuration) GetParameters() (map[string]any, error)

GetParameters of this Configuration

func (*Configuration) GetProviderConfigReference

func (mg *Configuration) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this Configuration.

func (*Configuration) GetProviderReference

func (mg *Configuration) GetProviderReference() *xpv1.Reference

GetProviderReference of this Configuration. Deprecated: Use GetProviderConfigReference.

func (*Configuration) GetPublishConnectionDetailsTo

func (mg *Configuration) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Configuration.

func (*Configuration) GetTerraformResourceType

func (mg *Configuration) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Configuration

func (*Configuration) GetTerraformSchemaVersion

func (tr *Configuration) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Configuration) GetWriteConnectionSecretToReference

func (mg *Configuration) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this Configuration.

func (*Configuration) LateInitialize

func (tr *Configuration) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Configuration using its observed tfState. returns True if there are any spec changes for the resource.

func (*Configuration) SetConditions

func (mg *Configuration) SetConditions(c ...xpv1.Condition)

SetConditions of this Configuration.

func (*Configuration) SetDeletionPolicy

func (mg *Configuration) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this Configuration.

func (*Configuration) SetManagementPolicy

func (mg *Configuration) SetManagementPolicy(r xpv1.ManagementPolicy)

SetManagementPolicy of this Configuration.

func (*Configuration) SetObservation

func (tr *Configuration) SetObservation(obs map[string]any) error

SetObservation for this Configuration

func (*Configuration) SetParameters

func (tr *Configuration) SetParameters(params map[string]any) error

SetParameters for this Configuration

func (*Configuration) SetProviderConfigReference

func (mg *Configuration) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this Configuration.

func (*Configuration) SetProviderReference

func (mg *Configuration) SetProviderReference(r *xpv1.Reference)

SetProviderReference of this Configuration. Deprecated: Use SetProviderConfigReference.

func (*Configuration) SetPublishConnectionDetailsTo

func (mg *Configuration) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Configuration.

func (*Configuration) SetWriteConnectionSecretToReference

func (mg *Configuration) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this Configuration.

type ConfigurationList

type ConfigurationList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Configuration `json:"items"`
}

ConfigurationList contains a list of Configurations

func (*ConfigurationList) DeepCopy

func (in *ConfigurationList) DeepCopy() *ConfigurationList

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

func (*ConfigurationList) DeepCopyInto

func (in *ConfigurationList) DeepCopyInto(out *ConfigurationList)

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

func (*ConfigurationList) DeepCopyObject

func (in *ConfigurationList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*ConfigurationList) GetItems

func (l *ConfigurationList) GetItems() []resource.Managed

GetItems of this ConfigurationList.

type ConfigurationObservation

type ConfigurationObservation struct {

	// Unique identifier for the alert configuration.
	AlertConfigurationID *string `json:"alertConfigurationId,omitempty" tf:"alert_configuration_id,omitempty"`

	// Timestamp in ISO 8601 date and time format in UTC when this alert configuration was created.
	Created *string `json:"created,omitempty" tf:"created,omitempty"`

	// It is not required, but If the attribute is omitted, by default will be false, and the configuration would be disabled. You must set true to enable the configuration.
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`

	// The type of event that will trigger an alert.
	EventType *string `json:"eventType,omitempty" tf:"event_type,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	Matcher []MatcherObservation `json:"matcher,omitempty" tf:"matcher,omitempty"`

	// Threshold value outside of which an alert will be triggered.
	MetricThreshold map[string]*string `json:"metricThreshold,omitempty" tf:"metric_threshold,omitempty"`

	MetricThresholdConfig []MetricThresholdConfigObservation `json:"metricThresholdConfig,omitempty" tf:"metric_threshold_config,omitempty"`

	Notification []NotificationObservation `json:"notification,omitempty" tf:"notification,omitempty"`

	// The ID of the project where the alert configuration will create.
	ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// Threshold value outside of which an alert will be triggered.
	Threshold map[string]*string `json:"threshold,omitempty" tf:"threshold,omitempty"`

	ThresholdConfig []ThresholdConfigObservation `json:"thresholdConfig,omitempty" tf:"threshold_config,omitempty"`

	// Timestamp in ISO 8601 date and time format in UTC when this alert configuration was last updated.
	Updated *string `json:"updated,omitempty" tf:"updated,omitempty"`
}

func (*ConfigurationObservation) DeepCopy

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

func (*ConfigurationObservation) DeepCopyInto

func (in *ConfigurationObservation) DeepCopyInto(out *ConfigurationObservation)

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

type ConfigurationParameters

type ConfigurationParameters struct {

	// It is not required, but If the attribute is omitted, by default will be false, and the configuration would be disabled. You must set true to enable the configuration.
	// +kubebuilder:validation:Optional
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`

	// The type of event that will trigger an alert.
	// +kubebuilder:validation:Optional
	EventType *string `json:"eventType,omitempty" tf:"event_type,omitempty"`

	// +kubebuilder:validation:Optional
	Matcher []MatcherParameters `json:"matcher,omitempty" tf:"matcher,omitempty"`

	// Threshold value outside of which an alert will be triggered.
	// +kubebuilder:validation:Optional
	MetricThreshold map[string]*string `json:"metricThreshold,omitempty" tf:"metric_threshold,omitempty"`

	// +kubebuilder:validation:Optional
	MetricThresholdConfig []MetricThresholdConfigParameters `json:"metricThresholdConfig,omitempty" tf:"metric_threshold_config,omitempty"`

	// +kubebuilder:validation:Optional
	Notification []NotificationParameters `json:"notification,omitempty" tf:"notification,omitempty"`

	// The ID of the project where the alert configuration will create.
	// +kubebuilder:validation:Optional
	ProjectID *string `json:"projectId,omitempty" tf:"project_id,omitempty"`

	// Threshold value outside of which an alert will be triggered.
	// +kubebuilder:validation:Optional
	Threshold map[string]*string `json:"threshold,omitempty" tf:"threshold,omitempty"`

	// +kubebuilder:validation:Optional
	ThresholdConfig []ThresholdConfigParameters `json:"thresholdConfig,omitempty" tf:"threshold_config,omitempty"`
}

func (*ConfigurationParameters) DeepCopy

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

func (*ConfigurationParameters) DeepCopyInto

func (in *ConfigurationParameters) DeepCopyInto(out *ConfigurationParameters)

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

type ConfigurationSpec

type ConfigurationSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     ConfigurationParameters `json:"forProvider"`
}

ConfigurationSpec defines the desired state of Configuration

func (*ConfigurationSpec) DeepCopy

func (in *ConfigurationSpec) DeepCopy() *ConfigurationSpec

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

func (*ConfigurationSpec) DeepCopyInto

func (in *ConfigurationSpec) DeepCopyInto(out *ConfigurationSpec)

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

type ConfigurationStatus

type ConfigurationStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        ConfigurationObservation `json:"atProvider,omitempty"`
}

ConfigurationStatus defines the observed state of Configuration.

func (*ConfigurationStatus) DeepCopy

func (in *ConfigurationStatus) DeepCopy() *ConfigurationStatus

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

func (*ConfigurationStatus) DeepCopyInto

func (in *ConfigurationStatus) DeepCopyInto(out *ConfigurationStatus)

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

type MatcherObservation

type MatcherObservation struct {

	// Name of the field in the target object to match on.
	FieldName *string `json:"fieldName,omitempty" tf:"field_name,omitempty"`

	// If omitted, the configuration is disabled.
	Operator *string `json:"operator,omitempty" tf:"operator,omitempty"`

	// If omitted, the configuration is disabled.
	Value *string `json:"value,omitempty" tf:"value,omitempty"`
}

func (*MatcherObservation) DeepCopy

func (in *MatcherObservation) DeepCopy() *MatcherObservation

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

func (*MatcherObservation) DeepCopyInto

func (in *MatcherObservation) DeepCopyInto(out *MatcherObservation)

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

type MatcherParameters

type MatcherParameters struct {

	// Name of the field in the target object to match on.
	// +kubebuilder:validation:Optional
	FieldName *string `json:"fieldName,omitempty" tf:"field_name,omitempty"`

	// If omitted, the configuration is disabled.
	// +kubebuilder:validation:Optional
	Operator *string `json:"operator,omitempty" tf:"operator,omitempty"`

	// If omitted, the configuration is disabled.
	// +kubebuilder:validation:Optional
	Value *string `json:"value,omitempty" tf:"value,omitempty"`
}

func (*MatcherParameters) DeepCopy

func (in *MatcherParameters) DeepCopy() *MatcherParameters

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

func (*MatcherParameters) DeepCopyInto

func (in *MatcherParameters) DeepCopyInto(out *MatcherParameters)

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

type MetricThresholdConfigObservation

type MetricThresholdConfigObservation struct {

	// Name of the metric to check. The full list being quite large, please refer to atlas docs here for general metrics and here for serverless metrics
	MetricName *string `json:"metricName,omitempty" tf:"metric_name,omitempty"`

	// This must be set to AVERAGE. Atlas computes the current metric value as an average.
	Mode *string `json:"mode,omitempty" tf:"mode,omitempty"`

	// If omitted, the configuration is disabled.
	Operator *string `json:"operator,omitempty" tf:"operator,omitempty"`

	// Threshold value outside of which an alert will be triggered.
	Threshold *float64 `json:"threshold,omitempty" tf:"threshold,omitempty"`

	// The units for the threshold value. Depends on the type of metric.
	// Refer to the MongoDB API Alert Configuration documentation for a list of accepted values.
	Units *string `json:"units,omitempty" tf:"units,omitempty"`
}

func (*MetricThresholdConfigObservation) DeepCopy

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

func (*MetricThresholdConfigObservation) DeepCopyInto

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

type MetricThresholdConfigParameters

type MetricThresholdConfigParameters struct {

	// Name of the metric to check. The full list being quite large, please refer to atlas docs here for general metrics and here for serverless metrics
	// +kubebuilder:validation:Optional
	MetricName *string `json:"metricName,omitempty" tf:"metric_name,omitempty"`

	// This must be set to AVERAGE. Atlas computes the current metric value as an average.
	// +kubebuilder:validation:Optional
	Mode *string `json:"mode,omitempty" tf:"mode,omitempty"`

	// If omitted, the configuration is disabled.
	// +kubebuilder:validation:Optional
	Operator *string `json:"operator,omitempty" tf:"operator,omitempty"`

	// Threshold value outside of which an alert will be triggered.
	// +kubebuilder:validation:Optional
	Threshold *float64 `json:"threshold,omitempty" tf:"threshold,omitempty"`

	// The units for the threshold value. Depends on the type of metric.
	// Refer to the MongoDB API Alert Configuration documentation for a list of accepted values.
	// +kubebuilder:validation:Optional
	Units *string `json:"units,omitempty" tf:"units,omitempty"`
}

func (*MetricThresholdConfigParameters) DeepCopy

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

func (*MetricThresholdConfigParameters) DeepCopyInto

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

type NotificationObservation

type NotificationObservation struct {

	// Slack channel name. Required for the SLACK notifications type.
	ChannelName *string `json:"channelName,omitempty" tf:"channel_name,omitempty"`

	// Region that indicates which API URL to use. Accepted regions are: US, EU. The default Datadog region is US.
	DatadogRegion *string `json:"datadogRegion,omitempty" tf:"datadog_region,omitempty"`

	// Number of minutes to wait after an alert condition is detected before sending out the first notification.
	DelayMin *float64 `json:"delayMin,omitempty" tf:"delay_min,omitempty"`

	// Email address to which alert notifications are sent. Required for the EMAIL notifications type.
	EmailAddress *string `json:"emailAddress,omitempty" tf:"email_address,omitempty"`

	// Flag indicating email notifications should be sent. This flag is only valid if type_name is set to ORG, GROUP, or USER.
	EmailEnabled *bool `json:"emailEnabled,omitempty" tf:"email_enabled,omitempty"`

	// Number of minutes to wait between successive notifications for unacknowledged alerts that are not resolved. The minimum value is 5. NOTE PAGER_DUTY, VICTOR_OPS, and OPS_GENIE notifications do not return this value. The notification interval must be configured and managed within each external service.
	IntervalMin *float64 `json:"intervalMin,omitempty" tf:"interval_min,omitempty"`

	// Mobile number to which alert notifications are sent. Required for the SMS notifications type.
	MobileNumber *string `json:"mobileNumber,omitempty" tf:"mobile_number,omitempty"`

	// Region that indicates which API URL to use. Accepted regions are: US ,EU. The default Opsgenie region is US.
	OpsGenieRegion *string `json:"opsGenieRegion,omitempty" tf:"ops_genie_region,omitempty"`

	// Optional. One or more roles that receive the configured alert. If you include this field, Atlas sends alerts only to users assigned the roles you specify in the array. If you omit this field, Atlas sends alerts to users assigned any role. This parameter is only valid if type_name is set to ORG, GROUP, or USER.
	// Accepted values are:
	Roles []*string `json:"roles,omitempty" tf:"roles,omitempty"`

	// Flag indicating if text message notifications should be sent to this user's mobile phone. This flag is only valid if type_name is set to ORG, GROUP, or USER.
	SMSEnabled *bool `json:"smsEnabled,omitempty" tf:"sms_enabled,omitempty"`

	// Unique identifier of a team.
	TeamID *string `json:"teamId,omitempty" tf:"team_id,omitempty"`

	// Label for the team that receives this notification.
	TeamName *string `json:"teamName,omitempty" tf:"team_name,omitempty"`

	// Type of alert notification.
	// Accepted values are:
	TypeName *string `json:"typeName,omitempty" tf:"type_name,omitempty"`

	// Name of the Atlas user to which to send notifications. Only a user in the project that owns the alert configuration is allowed here. Required for the USER notifications type.
	Username *string `json:"username,omitempty" tf:"username,omitempty"`
}

func (*NotificationObservation) DeepCopy

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

func (*NotificationObservation) DeepCopyInto

func (in *NotificationObservation) DeepCopyInto(out *NotificationObservation)

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

type NotificationParameters

type NotificationParameters struct {

	// Slack API token. Required for the SLACK notifications type. If the token later becomes invalid, Atlas sends an email to the project owner and eventually removes the token.
	// +kubebuilder:validation:Optional
	APITokenSecretRef *v1.SecretKeySelector `json:"apiTokenSecretRef,omitempty" tf:"-"`

	// Slack channel name. Required for the SLACK notifications type.
	// +kubebuilder:validation:Optional
	ChannelName *string `json:"channelName,omitempty" tf:"channel_name,omitempty"`

	// Datadog API Key. Found in the Datadog dashboard. Required for the DATADOG notifications type.
	// +kubebuilder:validation:Optional
	DatadogAPIKeySecretRef *v1.SecretKeySelector `json:"datadogApiKeySecretRef,omitempty" tf:"-"`

	// Region that indicates which API URL to use. Accepted regions are: US, EU. The default Datadog region is US.
	// +kubebuilder:validation:Optional
	DatadogRegion *string `json:"datadogRegion,omitempty" tf:"datadog_region,omitempty"`

	// Number of minutes to wait after an alert condition is detected before sending out the first notification.
	// +kubebuilder:validation:Optional
	DelayMin *float64 `json:"delayMin,omitempty" tf:"delay_min,omitempty"`

	// Email address to which alert notifications are sent. Required for the EMAIL notifications type.
	// +kubebuilder:validation:Optional
	EmailAddress *string `json:"emailAddress,omitempty" tf:"email_address,omitempty"`

	// Flag indicating email notifications should be sent. This flag is only valid if type_name is set to ORG, GROUP, or USER.
	// +kubebuilder:validation:Optional
	EmailEnabled *bool `json:"emailEnabled,omitempty" tf:"email_enabled,omitempty"`

	// Number of minutes to wait between successive notifications for unacknowledged alerts that are not resolved. The minimum value is 5. NOTE PAGER_DUTY, VICTOR_OPS, and OPS_GENIE notifications do not return this value. The notification interval must be configured and managed within each external service.
	// +kubebuilder:validation:Optional
	IntervalMin *float64 `json:"intervalMin,omitempty" tf:"interval_min,omitempty"`

	// Microsoft Teams Webhook Uniform Resource Locator (URL) that MongoDB Cloud needs to send this notification via Microsoft Teams. Required if type_name is MICROSOFT_TEAMS. If the URL later becomes invalid, MongoDB Cloud sends an email to the project owners. If the key remains invalid, MongoDB Cloud removes it.
	// +kubebuilder:validation:Optional
	MicrosoftTeamsWebhookURLSecretRef *v1.SecretKeySelector `json:"microsoftTeamsWebhookUrlSecretRef,omitempty" tf:"-"`

	// Mobile number to which alert notifications are sent. Required for the SMS notifications type.
	// +kubebuilder:validation:Optional
	MobileNumber *string `json:"mobileNumber,omitempty" tf:"mobile_number,omitempty"`

	// Opsgenie API Key. Required for the OPS_GENIE notifications type. If the key later becomes invalid, Atlas sends an email to the project owner and eventually removes the token.
	// +kubebuilder:validation:Optional
	OpsGenieAPIKeySecretRef *v1.SecretKeySelector `json:"opsGenieApiKeySecretRef,omitempty" tf:"-"`

	// Region that indicates which API URL to use. Accepted regions are: US ,EU. The default Opsgenie region is US.
	// +kubebuilder:validation:Optional
	OpsGenieRegion *string `json:"opsGenieRegion,omitempty" tf:"ops_genie_region,omitempty"`

	// Optional. One or more roles that receive the configured alert. If you include this field, Atlas sends alerts only to users assigned the roles you specify in the array. If you omit this field, Atlas sends alerts to users assigned any role. This parameter is only valid if type_name is set to ORG, GROUP, or USER.
	// Accepted values are:
	// +kubebuilder:validation:Optional
	Roles []*string `json:"roles,omitempty" tf:"roles,omitempty"`

	// Flag indicating if text message notifications should be sent to this user's mobile phone. This flag is only valid if type_name is set to ORG, GROUP, or USER.
	// +kubebuilder:validation:Optional
	SMSEnabled *bool `json:"smsEnabled,omitempty" tf:"sms_enabled,omitempty"`

	// PagerDuty service key. Required for the PAGER_DUTY notifications type. If the key later becomes invalid, Atlas sends an email to the project owner and eventually removes the key.
	// +kubebuilder:validation:Optional
	ServiceKeySecretRef *v1.SecretKeySelector `json:"serviceKeySecretRef,omitempty" tf:"-"`

	// Unique identifier of a team.
	// +kubebuilder:validation:Optional
	TeamID *string `json:"teamId,omitempty" tf:"team_id,omitempty"`

	// Type of alert notification.
	// Accepted values are:
	// +kubebuilder:validation:Optional
	TypeName *string `json:"typeName,omitempty" tf:"type_name,omitempty"`

	// Name of the Atlas user to which to send notifications. Only a user in the project that owns the alert configuration is allowed here. Required for the USER notifications type.
	// +kubebuilder:validation:Optional
	Username *string `json:"username,omitempty" tf:"username,omitempty"`

	// VictorOps API key. Required for the VICTOR_OPS notifications type. If the key later becomes invalid, Atlas sends an email to the project owner and eventually removes the key.
	// +kubebuilder:validation:Optional
	VictorOpsAPIKeySecretRef *v1.SecretKeySelector `json:"victorOpsApiKeySecretRef,omitempty" tf:"-"`

	// VictorOps routing key. Optional for the VICTOR_OPS notifications type. If the key later becomes invalid, Atlas sends an email to the project owner and eventually removes the key.
	// +kubebuilder:validation:Optional
	VictorOpsRoutingKeySecretRef *v1.SecretKeySelector `json:"victorOpsRoutingKeySecretRef,omitempty" tf:"-"`

	// Optional authentication secret for the WEBHOOK notifications type.
	// +kubebuilder:validation:Optional
	WebhookSecretSecretRef *v1.SecretKeySelector `json:"webhookSecretSecretRef,omitempty" tf:"-"`

	// Target URL  for the WEBHOOK notifications type.
	// +kubebuilder:validation:Optional
	WebhookURLSecretRef *v1.SecretKeySelector `json:"webhookUrlSecretRef,omitempty" tf:"-"`
}

func (*NotificationParameters) DeepCopy

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

func (*NotificationParameters) DeepCopyInto

func (in *NotificationParameters) DeepCopyInto(out *NotificationParameters)

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

type ThresholdConfigObservation

type ThresholdConfigObservation struct {

	// If omitted, the configuration is disabled.
	Operator *string `json:"operator,omitempty" tf:"operator,omitempty"`

	// Threshold value outside of which an alert will be triggered.
	Threshold *float64 `json:"threshold,omitempty" tf:"threshold,omitempty"`

	// The units for the threshold value. Depends on the type of metric.
	// Refer to the MongoDB API Alert Configuration documentation for a list of accepted values.
	Units *string `json:"units,omitempty" tf:"units,omitempty"`
}

func (*ThresholdConfigObservation) DeepCopy

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

func (*ThresholdConfigObservation) DeepCopyInto

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

type ThresholdConfigParameters

type ThresholdConfigParameters struct {

	// If omitted, the configuration is disabled.
	// +kubebuilder:validation:Optional
	Operator *string `json:"operator,omitempty" tf:"operator,omitempty"`

	// Threshold value outside of which an alert will be triggered.
	// +kubebuilder:validation:Optional
	Threshold *float64 `json:"threshold,omitempty" tf:"threshold,omitempty"`

	// The units for the threshold value. Depends on the type of metric.
	// Refer to the MongoDB API Alert Configuration documentation for a list of accepted values.
	// +kubebuilder:validation:Optional
	Units *string `json:"units,omitempty" tf:"units,omitempty"`
}

func (*ThresholdConfigParameters) DeepCopy

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

func (*ThresholdConfigParameters) DeepCopyInto

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