v1

package
v1.9.3 Latest Latest
Warning

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

Go to latest
Published: Feb 5, 2024 License: Apache-2.0 Imports: 24 Imported by: 3

Documentation

Overview

Package v1 contains API Schema definitions for the mongodb.com v1 API group +kubebuilder:object:generate=true +groupName=mongodb.com

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "atlas.mongodb.com", Version: "v1"}

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

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var TrailingZerosRegex = regexp.MustCompile(`\.[0]*$`)

Functions

func LessAD added in v1.7.2

func LessAD(a, b interface{}) bool

Types

type AWSProviderConfig added in v1.8.0

type AWSProviderConfig struct {
	RoleID       string `json:"roleId,omitempty"`
	TestS3Bucket string `json:"testS3Bucket,omitempty"`
}

func (*AWSProviderConfig) DeepCopy added in v1.8.0

func (in *AWSProviderConfig) DeepCopy() *AWSProviderConfig

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

func (*AWSProviderConfig) DeepCopyInto added in v1.8.0

func (in *AWSProviderConfig) DeepCopyInto(out *AWSProviderConfig)

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

type Action added in v1.4.1

type Action struct {
	// Human-readable label that identifies the privilege action.
	Name string `json:"name"`
	// List of resources on which you grant the action.
	Resources []Resource `json:"resources"`
}

func (*Action) DeepCopy added in v1.4.1

func (in *Action) DeepCopy() *Action

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

func (*Action) DeepCopyInto added in v1.4.1

func (in *Action) DeepCopyInto(out *Action)

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

type AdvancedAutoScalingSpec added in v1.2.0

type AdvancedAutoScalingSpec struct {
	// Flag that indicates whether disk auto-scaling is enabled. The default is true.
	// +optional
	DiskGB *DiskGB `json:"diskGB,omitempty"`

	// Collection of settings that configure how a deployment might scale its deployment tier and whether the deployment can scale down.
	// +optional
	Compute *ComputeSpec `json:"compute,omitempty"`
}

AdvancedAutoScalingSpec configures your deployment to automatically scale its storage

func (*AdvancedAutoScalingSpec) DeepCopy added in v1.2.0

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

func (*AdvancedAutoScalingSpec) DeepCopyInto added in v1.2.0

func (in *AdvancedAutoScalingSpec) DeepCopyInto(out *AdvancedAutoScalingSpec)

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

type AdvancedDeploymentSpec added in v1.0.0

type AdvancedDeploymentSpec struct {
	BackupEnabled            *bool              `json:"backupEnabled,omitempty"`
	BiConnector              *BiConnectorSpec   `json:"biConnector,omitempty"`
	ClusterType              string             `json:"clusterType,omitempty"`
	DiskSizeGB               *int               `json:"diskSizeGB,omitempty"`
	EncryptionAtRestProvider string             `json:"encryptionAtRestProvider,omitempty"`
	Labels                   []common.LabelSpec `json:"labels,omitempty"`
	MongoDBMajorVersion      string             `json:"mongoDBMajorVersion,omitempty"`
	MongoDBVersion           string             `json:"mongoDBVersion,omitempty"`
	// Name of the advanced deployment as it appears in Atlas.
	// After Atlas creates the deployment, you can't change its name.
	// Can only contain ASCII letters, numbers, and hyphens.
	// +kubebuilder:validation:Pattern:=^[a-zA-Z0-9][a-zA-Z0-9-]*$
	Name             string                     `json:"name,omitempty"`
	Paused           *bool                      `json:"paused,omitempty"`
	PitEnabled       *bool                      `json:"pitEnabled,omitempty"`
	ReplicationSpecs []*AdvancedReplicationSpec `json:"replicationSpecs,omitempty"`
	RootCertType     string                     `json:"rootCertType,omitempty"`
	// Key-value pairs for resource tagging.
	// +kubebuilder:validation:MaxItems=50
	// +optional
	Tags                 []*TagSpec `json:"tags,omitempty"`
	VersionReleaseSystem string     `json:"versionReleaseSystem,omitempty"`
	// +optional
	CustomZoneMapping []CustomZoneMapping `json:"customZoneMapping,omitempty"`
	// +optional
	ManagedNamespaces []ManagedNamespace `json:"managedNamespaces,omitempty"`
}

func (*AdvancedDeploymentSpec) DeepCopy added in v1.0.0

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

func (*AdvancedDeploymentSpec) DeepCopyInto added in v1.0.0

func (in *AdvancedDeploymentSpec) DeepCopyInto(out *AdvancedDeploymentSpec)

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

func (*AdvancedDeploymentSpec) ToAtlas added in v1.2.0

ToAtlas converts the AdvancedDeploymentSpec to native Atlas client ToAtlas format.

type AdvancedRegionConfig added in v0.8.0

type AdvancedRegionConfig struct {
	AnalyticsSpecs      *Specs                   `json:"analyticsSpecs,omitempty"`
	ElectableSpecs      *Specs                   `json:"electableSpecs,omitempty"`
	ReadOnlySpecs       *Specs                   `json:"readOnlySpecs,omitempty"`
	AutoScaling         *AdvancedAutoScalingSpec `json:"autoScaling,omitempty"`
	BackingProviderName string                   `json:"backingProviderName,omitempty"`
	Priority            *int                     `json:"priority,omitempty"`
	ProviderName        string                   `json:"providerName,omitempty"`
	RegionName          string                   `json:"regionName,omitempty"`
}

func (*AdvancedRegionConfig) DeepCopy added in v0.8.0

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

func (*AdvancedRegionConfig) DeepCopyInto added in v0.8.0

func (in *AdvancedRegionConfig) DeepCopyInto(out *AdvancedRegionConfig)

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

type AdvancedReplicationSpec added in v0.8.0

type AdvancedReplicationSpec struct {
	NumShards     int                     `json:"numShards,omitempty"`
	ZoneName      string                  `json:"zoneName,omitempty"`
	RegionConfigs []*AdvancedRegionConfig `json:"regionConfigs,omitempty"`
}

func (*AdvancedReplicationSpec) DeepCopy added in v0.8.0

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

func (*AdvancedReplicationSpec) DeepCopyInto added in v0.8.0

func (in *AdvancedReplicationSpec) DeepCopyInto(out *AdvancedReplicationSpec)

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

type AlertConfiguration added in v1.4.0

type AlertConfiguration struct {
	// If omitted, the configuration is disabled.
	Enabled bool `json:"enabled,omitempty"`
	// The type of event that will trigger an alert.
	EventTypeName string `json:"eventTypeName,omitempty"`
	// You can filter using the matchers array only when the EventTypeName specifies an event for a host, replica set, or sharded cluster.
	Matchers []Matcher `json:"matchers,omitempty"`
	// Threshold  causes an alert to be triggered.
	Threshold *Threshold `json:"threshold,omitempty"`
	// Notifications are sending when an alert condition is detected.
	Notifications []Notification `json:"notifications,omitempty"`
	// MetricThreshold  causes an alert to be triggered.
	MetricThreshold *MetricThreshold `json:"metricThreshold,omitempty"`
}

func (*AlertConfiguration) DeepCopy added in v1.4.0

func (in *AlertConfiguration) DeepCopy() *AlertConfiguration

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

func (*AlertConfiguration) DeepCopyInto added in v1.4.0

func (in *AlertConfiguration) DeepCopyInto(out *AlertConfiguration)

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

func (*AlertConfiguration) ToAtlas added in v1.4.0

type AtlasBackupExportSpec added in v1.0.0

type AtlasBackupExportSpec struct {
	// Unique Atlas identifier of the AWS bucket which was granted access to export backup snapshot
	ExportBucketID string `json:"exportBucketId"`
	// +kubebuilder:validation:Enum:=monthly
	// +kubebuilder:default:=monthly
	FrequencyType string `json:"frequencyType"`
}

func (*AtlasBackupExportSpec) DeepCopy added in v1.0.0

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

func (*AtlasBackupExportSpec) DeepCopyInto added in v1.0.0

func (in *AtlasBackupExportSpec) DeepCopyInto(out *AtlasBackupExportSpec)

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

type AtlasBackupPolicy added in v1.0.0

type AtlasBackupPolicy struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   AtlasBackupPolicySpec     `json:"spec,omitempty"`
	Status status.BackupPolicyStatus `json:"status,omitempty"`
}

AtlasBackupPolicy is the Schema for the atlasbackuppolicies API +kubebuilder:object:root=true +kubebuilder:subresource:status

func (*AtlasBackupPolicy) DeepCopy added in v1.0.0

func (in *AtlasBackupPolicy) DeepCopy() *AtlasBackupPolicy

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

func (*AtlasBackupPolicy) DeepCopyInto added in v1.0.0

func (in *AtlasBackupPolicy) DeepCopyInto(out *AtlasBackupPolicy)

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

func (*AtlasBackupPolicy) DeepCopyObject added in v1.0.0

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

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

func (*AtlasBackupPolicy) GetStatus added in v1.6.0

func (in *AtlasBackupPolicy) GetStatus() status.Status

func (*AtlasBackupPolicy) UpdateStatus added in v1.6.0

func (in *AtlasBackupPolicy) UpdateStatus(conditions []status.Condition, options ...status.Option)

type AtlasBackupPolicyItem added in v1.0.0

type AtlasBackupPolicyItem struct {
	// Frequency associated with the backup policy item. One of the following values: hourly, daily, weekly or monthly. You cannot specify multiple hourly and daily backup policy items.
	// +kubebuilder:validation:Enum:=hourly;daily;weekly;monthly
	FrequencyType string `json:"frequencyType"`

	// Desired frequency of the new backup policy item specified by FrequencyType. A value of 1 specifies the first instance of the corresponding FrequencyType.
	// The only accepted value you can set for frequency interval with NVMe clusters is 12.
	// +kubebuilder:validation:Enum:=1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;21;22;23;24;25;26;27;28;40
	FrequencyInterval int `json:"frequencyInterval"`

	// Scope of the backup policy item: days, weeks, or months
	// +kubebuilder:validation:Enum:=days;weeks;months
	RetentionUnit string `json:"retentionUnit"`

	// Value to associate with RetentionUnit
	RetentionValue int `json:"retentionValue"`
}

func (*AtlasBackupPolicyItem) DeepCopy added in v1.0.0

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

func (*AtlasBackupPolicyItem) DeepCopyInto added in v1.0.0

func (in *AtlasBackupPolicyItem) DeepCopyInto(out *AtlasBackupPolicyItem)

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

type AtlasBackupPolicyList added in v1.0.0

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

AtlasBackupPolicyList contains a list of AtlasBackupPolicy

func (*AtlasBackupPolicyList) DeepCopy added in v1.0.0

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

func (*AtlasBackupPolicyList) DeepCopyInto added in v1.0.0

func (in *AtlasBackupPolicyList) DeepCopyInto(out *AtlasBackupPolicyList)

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

func (*AtlasBackupPolicyList) DeepCopyObject added in v1.0.0

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

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

type AtlasBackupPolicySpec added in v1.0.0

type AtlasBackupPolicySpec struct {
	// A list of BackupPolicy items
	Items []AtlasBackupPolicyItem `json:"items"`
}

AtlasBackupPolicySpec defines the desired state of AtlasBackupPolicy

func (*AtlasBackupPolicySpec) DeepCopy added in v1.0.0

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

func (*AtlasBackupPolicySpec) DeepCopyInto added in v1.0.0

func (in *AtlasBackupPolicySpec) DeepCopyInto(out *AtlasBackupPolicySpec)

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

type AtlasBackupSchedule added in v1.0.0

type AtlasBackupSchedule struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec AtlasBackupScheduleSpec `json:"spec,omitempty"`

	Status status.BackupScheduleStatus `json:"status,omitempty"`
}

AtlasBackupSchedule is the Schema for the atlasbackupschedules API +kubebuilder:object:root=true +kubebuilder:subresource:status

func (*AtlasBackupSchedule) DeepCopy added in v1.0.0

func (in *AtlasBackupSchedule) DeepCopy() *AtlasBackupSchedule

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

func (*AtlasBackupSchedule) DeepCopyInto added in v1.0.0

func (in *AtlasBackupSchedule) DeepCopyInto(out *AtlasBackupSchedule)

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

func (*AtlasBackupSchedule) DeepCopyObject added in v1.0.0

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

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

func (*AtlasBackupSchedule) GetStatus added in v1.6.0

func (in *AtlasBackupSchedule) GetStatus() status.Status

func (*AtlasBackupSchedule) ToAtlas added in v1.9.0

func (in *AtlasBackupSchedule) ToAtlas(clusterID, clusterName string, policy *AtlasBackupPolicy) *mongodbatlas.CloudProviderSnapshotBackupPolicy

func (*AtlasBackupSchedule) UpdateStatus added in v1.6.0

func (in *AtlasBackupSchedule) UpdateStatus(conditions []status.Condition, options ...status.Option)

type AtlasBackupScheduleList added in v1.0.0

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

AtlasBackupScheduleList contains a list of AtlasBackupSchedule

func (*AtlasBackupScheduleList) DeepCopy added in v1.0.0

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

func (*AtlasBackupScheduleList) DeepCopyInto added in v1.0.0

func (in *AtlasBackupScheduleList) DeepCopyInto(out *AtlasBackupScheduleList)

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

func (*AtlasBackupScheduleList) DeepCopyObject added in v1.0.0

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

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

type AtlasBackupScheduleSpec added in v1.0.0

type AtlasBackupScheduleSpec struct {
	// Specify true to enable automatic export of cloud backup snapshots to the AWS bucket. You must also define the export policy using export. If omitted, defaults to false.
	// +optional
	// +kubebuilder:default:=false
	AutoExportEnabled bool `json:"autoExportEnabled,omitempty"`

	// Export policy for automatically exporting cloud backup snapshots to AWS bucket.
	// +optional
	Export *AtlasBackupExportSpec `json:"export,omitempty"`

	// A reference (name & namespace) for backup policy in the desired updated backup policy.
	PolicyRef common.ResourceRefNamespaced `json:"policy"`

	// UTC Hour of day between 0 and 23, inclusive, representing which hour of the day that Atlas takes snapshots for backup policy items
	// +kubebuilder:validation:Minimum:=0
	// +kubebuilder:validation:Maximum:=23
	// +optional
	ReferenceHourOfDay int64 `json:"referenceHourOfDay,omitempty"`

	// UTC Minutes after ReferenceHourOfDay that Atlas takes snapshots for backup policy items. Must be between 0 and 59, inclusive.
	// +kubebuilder:validation:Minimum:=0
	// +kubebuilder:validation:Maximum:=59
	// +optional
	ReferenceMinuteOfHour int64 `json:"referenceMinuteOfHour,omitempty"`

	// Number of days back in time you can restore to with Continuous Cloud Backup accuracy. Must be a positive, non-zero integer. Applies to continuous cloud backups only.
	// +optional
	// +kubebuilder:default:=1
	RestoreWindowDays int64 `json:"restoreWindowDays,omitempty"`

	// Specify true to apply the retention changes in the updated backup policy to snapshots that Atlas took previously.
	// +optional
	UpdateSnapshots bool `json:"updateSnapshots,omitempty"`

	// Specify true to use organization and project names instead of organization and project UUIDs in the path for the metadata files that Atlas uploads to your S3 bucket after it finishes exporting the snapshots
	// +optional
	UseOrgAndGroupNamesInExportPrefix bool `json:"useOrgAndGroupNamesInExportPrefix,omitempty"`

	// Copy backups to other regions for increased resiliency and faster restores.
	// +optional
	CopySettings []CopySetting `json:"copySettings,omitempty"`
}

AtlasBackupScheduleSpec defines the desired state of AtlasBackupSchedule

func (*AtlasBackupScheduleSpec) DeepCopy added in v1.0.0

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

func (*AtlasBackupScheduleSpec) DeepCopyInto added in v1.0.0

func (in *AtlasBackupScheduleSpec) DeepCopyInto(out *AtlasBackupScheduleSpec)

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

type AtlasCustomResource

type AtlasCustomResource interface {
	metav1.Object
	runtime.Object
	status.Reader
	status.Writer
}

AtlasCustomResource is the interface common for all Atlas entities

type AtlasDataFederation added in v1.8.0

type AtlasDataFederation struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   DataFederationSpec          `json:"spec,omitempty"`
	Status status.DataFederationStatus `json:"status,omitempty"`
}

AtlasDataFederation is the Schema for the Atlas Data Federation API

func NewDataFederationInstance added in v1.8.0

func NewDataFederationInstance(projectName, instanceName, namespace string) *AtlasDataFederation

func (AtlasDataFederation) AtlasProjectObjectKey added in v1.8.0

func (c AtlasDataFederation) AtlasProjectObjectKey() client.ObjectKey

func (*AtlasDataFederation) DeepCopy added in v1.8.0

func (in *AtlasDataFederation) DeepCopy() *AtlasDataFederation

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

func (*AtlasDataFederation) DeepCopyInto added in v1.8.0

func (in *AtlasDataFederation) DeepCopyInto(out *AtlasDataFederation)

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

func (*AtlasDataFederation) DeepCopyObject added in v1.8.0

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

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

func (*AtlasDataFederation) GetStatus added in v1.8.0

func (c *AtlasDataFederation) GetStatus() status.Status

func (*AtlasDataFederation) ToAtlas added in v1.8.0

func (*AtlasDataFederation) UpdateStatus added in v1.8.0

func (c *AtlasDataFederation) UpdateStatus(conditions []status.Condition, options ...status.Option)

func (*AtlasDataFederation) WithAWSCloudProviderConfig added in v1.8.0

func (c *AtlasDataFederation) WithAWSCloudProviderConfig(AWSRoleID, S3Bucket string) *AtlasDataFederation

func (*AtlasDataFederation) WithAnnotations added in v1.8.2

func (c *AtlasDataFederation) WithAnnotations(annotations map[string]string) *AtlasDataFederation

func (*AtlasDataFederation) WithDataProcessingRegion added in v1.8.0

func (c *AtlasDataFederation) WithDataProcessingRegion(AWSRegion string) *AtlasDataFederation

func (*AtlasDataFederation) WithPrivateEndpoint added in v1.8.0

func (c *AtlasDataFederation) WithPrivateEndpoint(endpointID, provider, endpointType string) *AtlasDataFederation

func (*AtlasDataFederation) WithStorage added in v1.8.0

func (c *AtlasDataFederation) WithStorage(storage *Storage) *AtlasDataFederation

type AtlasDataFederationList added in v1.8.0

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

AtlasDataFederationList contains a list of AtlasDataFederationList

func (*AtlasDataFederationList) DeepCopy added in v1.8.0

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

func (*AtlasDataFederationList) DeepCopyInto added in v1.8.0

func (in *AtlasDataFederationList) DeepCopyInto(out *AtlasDataFederationList)

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

func (*AtlasDataFederationList) DeepCopyObject added in v1.8.0

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

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

type AtlasDatabaseUser

type AtlasDatabaseUser struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   AtlasDatabaseUserSpec          `json:"spec,omitempty"`
	Status status.AtlasDatabaseUserStatus `json:"status,omitempty"`
}

AtlasDatabaseUser is the Schema for the Atlas Database User API

func DefaultDBUser

func DefaultDBUser(namespace, username, projectName string) *AtlasDatabaseUser

func NewDBUser

func NewDBUser(namespace, name, dbUserName, projectName string) *AtlasDatabaseUser

func (AtlasDatabaseUser) AtlasProjectObjectKey

func (p AtlasDatabaseUser) AtlasProjectObjectKey() client.ObjectKey

func (*AtlasDatabaseUser) ClearScopes added in v0.5.0

func (p *AtlasDatabaseUser) ClearScopes() *AtlasDatabaseUser

func (*AtlasDatabaseUser) DeepCopy

func (in *AtlasDatabaseUser) DeepCopy() *AtlasDatabaseUser

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

func (*AtlasDatabaseUser) DeepCopyInto

func (in *AtlasDatabaseUser) DeepCopyInto(out *AtlasDatabaseUser)

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

func (*AtlasDatabaseUser) DeepCopyObject

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

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

func (AtlasDatabaseUser) GetScopes

func (p AtlasDatabaseUser) GetScopes(scopeType ScopeType) []string

func (*AtlasDatabaseUser) GetStatus

func (p *AtlasDatabaseUser) GetStatus() status.Status

func (AtlasDatabaseUser) PasswordSecretObjectKey added in v0.5.0

func (p AtlasDatabaseUser) PasswordSecretObjectKey() *client.ObjectKey

func (*AtlasDatabaseUser) ReadPassword

func (p *AtlasDatabaseUser) ReadPassword(kubeClient client.Client) (string, error)

func (AtlasDatabaseUser) ToAtlas

func (p AtlasDatabaseUser) ToAtlas(kubeClient client.Client) (*mongodbatlas.DatabaseUser, error)

ToAtlas converts the AtlasDatabaseUser to native Atlas client format. Reads the password from the Secret

func (*AtlasDatabaseUser) UpdateStatus

func (p *AtlasDatabaseUser) UpdateStatus(conditions []status.Condition, options ...status.Option)

func (*AtlasDatabaseUser) WithAtlasUserName

func (p *AtlasDatabaseUser) WithAtlasUserName(name string) *AtlasDatabaseUser

func (*AtlasDatabaseUser) WithDeleteAfterDate added in v0.5.0

func (p *AtlasDatabaseUser) WithDeleteAfterDate(date string) *AtlasDatabaseUser

func (*AtlasDatabaseUser) WithName

func (p *AtlasDatabaseUser) WithName(name string) *AtlasDatabaseUser

func (*AtlasDatabaseUser) WithPasswordSecret

func (p *AtlasDatabaseUser) WithPasswordSecret(name string) *AtlasDatabaseUser

func (*AtlasDatabaseUser) WithRole

func (p *AtlasDatabaseUser) WithRole(roleName, databaseName, collectionName string) *AtlasDatabaseUser

func (*AtlasDatabaseUser) WithScope

func (p *AtlasDatabaseUser) WithScope(scopeType ScopeType, name string) *AtlasDatabaseUser

type AtlasDatabaseUserList

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

AtlasDatabaseUserList contains a list of AtlasDatabaseUser

func (*AtlasDatabaseUserList) DeepCopy

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

func (*AtlasDatabaseUserList) DeepCopyInto

func (in *AtlasDatabaseUserList) DeepCopyInto(out *AtlasDatabaseUserList)

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

func (*AtlasDatabaseUserList) DeepCopyObject

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

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

type AtlasDatabaseUserSpec

type AtlasDatabaseUserSpec struct {
	// Project is a reference to AtlasProject resource the user belongs to
	Project common.ResourceRefNamespaced `json:"projectRef"`

	// DatabaseName is a Database against which Atlas authenticates the user. Default value is 'admin'.
	// +kubebuilder:default=admin
	DatabaseName string `json:"databaseName,omitempty"`

	// DeleteAfterDate is a timestamp in ISO 8601 date and time format in UTC after which Atlas deletes the user.
	// The specified date must be in the future and within one week.
	DeleteAfterDate string `json:"deleteAfterDate,omitempty"`

	// Labels is an array containing key-value pairs that tag and categorize the database user.
	// Each key and value has a maximum length of 255 characters.
	Labels []common.LabelSpec `json:"labels,omitempty"`

	// Roles is an array of this user's roles and the databases / collections on which the roles apply. A role allows
	// the user to perform particular actions on the specified database.
	// +kubebuilder:validation:MinItems=1
	Roles []RoleSpec `json:"roles"`

	// Scopes is an array of clusters and Atlas Data Lakes that this user has access to.
	Scopes []ScopeSpec `json:"scopes,omitempty"`

	// PasswordSecret is a reference to the Secret keeping the user password.
	PasswordSecret *common.ResourceRef `json:"passwordSecretRef,omitempty"`

	// Username is a username for authenticating to MongoDB.
	Username string `json:"username"`

	// X509Type is X.509 method by which the database authenticates the provided username
	X509Type string `json:"x509Type,omitempty"`
}

AtlasDatabaseUserSpec defines the desired state of Database User in Atlas

func (*AtlasDatabaseUserSpec) DeepCopy

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

func (*AtlasDatabaseUserSpec) DeepCopyInto

func (in *AtlasDatabaseUserSpec) DeepCopyInto(out *AtlasDatabaseUserSpec)

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

type AtlasDeployment added in v1.0.0

type AtlasDeployment struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   AtlasDeploymentSpec          `json:"spec,omitempty"`
	Status status.AtlasDeploymentStatus `json:"status,omitempty"`
}

AtlasDeployment is the Schema for the atlasdeployments API

func DefaultAWSDeployment added in v1.1.0

func DefaultAWSDeployment(namespace, projectName string) *AtlasDeployment

func DefaultAwsAdvancedDeployment added in v1.0.0

func DefaultAwsAdvancedDeployment(namespace, projectName string) *AtlasDeployment

func DefaultAzureDeployment added in v1.1.0

func DefaultAzureDeployment(namespace, projectName string) *AtlasDeployment

func DefaultGCPDeployment added in v1.1.0

func DefaultGCPDeployment(namespace, projectName string) *AtlasDeployment

func NewAwsAdvancedDeployment added in v1.0.0

func NewAwsAdvancedDeployment(namespace, name, nameInAtlas string) *AtlasDeployment

func NewDefaultAWSServerlessInstance added in v1.0.0

func NewDefaultAWSServerlessInstance(namespace, projectName string) *AtlasDeployment

func NewDeployment added in v1.1.0

func NewDeployment(namespace, name, nameInAtlas string) *AtlasDeployment

func (*AtlasDeployment) AtlasName added in v1.4.0

func (c *AtlasDeployment) AtlasName() string

func (AtlasDeployment) AtlasProjectObjectKey added in v1.0.0

func (c AtlasDeployment) AtlasProjectObjectKey() client.ObjectKey

func (*AtlasDeployment) DeepCopy added in v1.0.0

func (in *AtlasDeployment) DeepCopy() *AtlasDeployment

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

func (*AtlasDeployment) DeepCopyInto added in v1.0.0

func (in *AtlasDeployment) DeepCopyInto(out *AtlasDeployment)

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

func (*AtlasDeployment) DeepCopyObject added in v1.0.0

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

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

func (*AtlasDeployment) GetDeploymentName added in v1.1.0

func (c *AtlasDeployment) GetDeploymentName() string

func (*AtlasDeployment) GetStatus added in v1.0.0

func (c *AtlasDeployment) GetStatus() status.Status

func (*AtlasDeployment) IsAdvancedDeployment added in v1.0.0

func (c *AtlasDeployment) IsAdvancedDeployment() bool

IsAdvancedDeployment returns true if the AtlasDeployment is configured to be an advanced deployment.

func (*AtlasDeployment) IsLegacyDeployment added in v1.7.2

func (c *AtlasDeployment) IsLegacyDeployment() bool

IsLegacyDeployment returns true if the AtlasDeployment is configured to be an legacy deployment.

func (*AtlasDeployment) IsServerless added in v1.0.0

func (c *AtlasDeployment) IsServerless() bool

IsServerless returns true if the AtlasDeployment is configured to be a serverless instance

func (*AtlasDeployment) Lightweight added in v1.0.0

func (c *AtlasDeployment) Lightweight() *AtlasDeployment

Lightweight makes the deployment work with small shared instance M2. This is useful for non-deployment tests (e.g. database users) and saves some money for the company.

func (*AtlasDeployment) UpdateStatus added in v1.0.0

func (c *AtlasDeployment) UpdateStatus(conditions []status.Condition, options ...status.Option)

func (*AtlasDeployment) WithAtlasName added in v1.0.0

func (c *AtlasDeployment) WithAtlasName(name string) *AtlasDeployment

func (*AtlasDeployment) WithAutoscalingDisabled added in v1.2.0

func (c *AtlasDeployment) WithAutoscalingDisabled() *AtlasDeployment

func (*AtlasDeployment) WithBackingProvider added in v1.0.0

func (c *AtlasDeployment) WithBackingProvider(name string) *AtlasDeployment

func (*AtlasDeployment) WithBackupScheduleRef added in v1.0.0

func (c *AtlasDeployment) WithBackupScheduleRef(ref common.ResourceRefNamespaced) *AtlasDeployment

func (*AtlasDeployment) WithDiskSizeGB added in v1.2.0

func (c *AtlasDeployment) WithDiskSizeGB(size int) *AtlasDeployment

func (*AtlasDeployment) WithInstanceSize added in v1.0.0

func (c *AtlasDeployment) WithInstanceSize(name string) *AtlasDeployment

func (*AtlasDeployment) WithName added in v1.0.0

func (c *AtlasDeployment) WithName(name string) *AtlasDeployment

func (*AtlasDeployment) WithProjectName added in v1.0.0

func (c *AtlasDeployment) WithProjectName(projectName string) *AtlasDeployment

func (*AtlasDeployment) WithProviderName added in v1.0.0

func (c *AtlasDeployment) WithProviderName(name provider.ProviderName) *AtlasDeployment

func (*AtlasDeployment) WithRegionName added in v1.0.0

func (c *AtlasDeployment) WithRegionName(name string) *AtlasDeployment

type AtlasDeploymentList added in v1.0.0

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

AtlasDeploymentList contains a list of AtlasDeployment

func (*AtlasDeploymentList) DeepCopy added in v1.0.0

func (in *AtlasDeploymentList) DeepCopy() *AtlasDeploymentList

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

func (*AtlasDeploymentList) DeepCopyInto added in v1.0.0

func (in *AtlasDeploymentList) DeepCopyInto(out *AtlasDeploymentList)

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

func (*AtlasDeploymentList) DeepCopyObject added in v1.0.0

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

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

type AtlasDeploymentSpec added in v1.0.0

type AtlasDeploymentSpec struct {
	// Project is a reference to AtlasProject resource the deployment belongs to
	Project common.ResourceRefNamespaced `json:"projectRef"`

	// Configuration for the normal (v1) deployment API https://www.mongodb.com/docs/atlas/reference/api/clusters/
	// +optional
	DeploymentSpec *DeploymentSpec `json:"deploymentSpec,omitempty"`

	// Configuration for the advanced (v1.5) deployment API https://www.mongodb.com/docs/atlas/reference/api/clusters-advanced/
	// +optional
	AdvancedDeploymentSpec *AdvancedDeploymentSpec `json:"advancedDeploymentSpec,omitempty"`

	// Backup schedule for the AtlasDeployment
	// +optional
	BackupScheduleRef common.ResourceRefNamespaced `json:"backupRef"`

	// Configuration for the serverless deployment API. https://www.mongodb.com/docs/atlas/reference/api/serverless-instances/
	// +optional
	ServerlessSpec *ServerlessSpec `json:"serverlessSpec,omitempty"`

	// ProcessArgs allows to modify Advanced Configuration Options
	// +optional
	ProcessArgs *ProcessArgs `json:"processArgs,omitempty"`
}

AtlasDeploymentSpec defines the desired state of AtlasDeployment Only one of DeploymentSpec, AdvancedDeploymentSpec and ServerlessSpec should be defined

func (*AtlasDeploymentSpec) DeepCopy added in v1.0.0

func (in *AtlasDeploymentSpec) DeepCopy() *AtlasDeploymentSpec

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

func (*AtlasDeploymentSpec) DeepCopyInto added in v1.0.0

func (in *AtlasDeploymentSpec) DeepCopyInto(out *AtlasDeploymentSpec)

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

func (*AtlasDeploymentSpec) Deployment added in v1.1.0

func (spec *AtlasDeploymentSpec) Deployment() (*mongodbatlas.AdvancedCluster, error)

Deployment converts the Spec to native Atlas client format.

func (*AtlasDeploymentSpec) LegacyDeployment added in v1.7.2

func (spec *AtlasDeploymentSpec) LegacyDeployment() (*mongodbatlas.Cluster, error)

LegacyDeployment converts the Spec to native Atlas client format.

type AtlasFederatedAuth added in v1.9.0

type AtlasFederatedAuth struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   AtlasFederatedAuthSpec          `json:"spec,omitempty"`
	Status status.AtlasFederatedAuthStatus `json:"status,omitempty"`
}

AtlasFederatedAuth is the Schema for the Atlasfederatedauth API +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:subresource:status

func (*AtlasFederatedAuth) ConnectionSecretObjectKey added in v1.9.0

func (f *AtlasFederatedAuth) ConnectionSecretObjectKey() *client.ObjectKey

func (*AtlasFederatedAuth) DeepCopy added in v1.9.0

func (in *AtlasFederatedAuth) DeepCopy() *AtlasFederatedAuth

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

func (*AtlasFederatedAuth) DeepCopyInto added in v1.9.0

func (in *AtlasFederatedAuth) DeepCopyInto(out *AtlasFederatedAuth)

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

func (*AtlasFederatedAuth) DeepCopyObject added in v1.9.0

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

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

func (*AtlasFederatedAuth) GetStatus added in v1.9.0

func (f *AtlasFederatedAuth) GetStatus() status.Status

func (*AtlasFederatedAuth) UpdateStatus added in v1.9.0

func (f *AtlasFederatedAuth) UpdateStatus(conditions []status.Condition, options ...status.Option)

type AtlasFederatedAuthList added in v1.9.0

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

AtlasFederatedAuthList contains a list of AtlasFederatedAuth +kubebuilder:object:root=true

func (*AtlasFederatedAuthList) DeepCopy added in v1.9.0

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

func (*AtlasFederatedAuthList) DeepCopyInto added in v1.9.0

func (in *AtlasFederatedAuthList) DeepCopyInto(out *AtlasFederatedAuthList)

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

func (*AtlasFederatedAuthList) DeepCopyObject added in v1.9.0

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

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

type AtlasFederatedAuthSpec added in v1.9.0

type AtlasFederatedAuthSpec struct {
	// +kubebuilder:default:=false
	Enabled bool `json:"enabled,omitempty"`
	// Connection secret with API credentials for configuring the federation.
	// These credentials must have OrganizationOwner permissions.
	ConnectionSecretRef common.ResourceRefNamespaced `json:"connectionSecretRef,omitempty"`
	// Approved domains that restrict users who can join the organization based on their email address.
	// +optional
	DomainAllowList []string `json:"domainAllowList,omitempty"`
	// Prevent users in the federation from accessing organizations outside of the federation, and creating new organizations.
	// This option applies to the entire federation.
	// See more information at https://www.mongodb.com/docs/atlas/security/federation-advanced-options/#restrict-user-membership-to-the-federation
	// +kubebuilder:default:=false
	DomainRestrictionEnabled *bool `json:"domainRestrictionEnabled,omitempty"`
	// +kubebuilder:default:=false
	// +optional
	SSODebugEnabled *bool `json:"ssoDebugEnabled,omitempty"`
	// Atlas roles that are granted to a user in this organization after authenticating.
	// +optional
	PostAuthRoleGrants []string `json:"postAuthRoleGrants,omitempty"`
	// Map IDP groups to Atlas roles.
	// +optional
	RoleMappings []RoleMapping `json:"roleMappings,omitempty"`
}

func (*AtlasFederatedAuthSpec) DeepCopy added in v1.9.0

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

func (*AtlasFederatedAuthSpec) DeepCopyInto added in v1.9.0

func (in *AtlasFederatedAuthSpec) DeepCopyInto(out *AtlasFederatedAuthSpec)

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

func (*AtlasFederatedAuthSpec) ToAtlas added in v1.9.0

func (f *AtlasFederatedAuthSpec) ToAtlas(orgID, idpID string, projectNameToID map[string]string) (*mongodbatlas.FederatedSettingsConnectedOrganization, error)

type AtlasProject

type AtlasProject struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   AtlasProjectSpec          `json:"spec,omitempty"`
	Status status.AtlasProjectStatus `json:"status,omitempty"`
}

AtlasProject is the Schema for the atlasprojects API

func DefaultProject

func DefaultProject(namespace, connectionSecretName string) *AtlasProject

func NewProject

func NewProject(namespace, name, nameInAtlas string) *AtlasProject

func (*AtlasProject) ConnectionSecretObjectKey

func (p *AtlasProject) ConnectionSecretObjectKey() *client.ObjectKey

func (*AtlasProject) DeepCopy

func (in *AtlasProject) DeepCopy() *AtlasProject

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

func (*AtlasProject) DeepCopyInto

func (in *AtlasProject) DeepCopyInto(out *AtlasProject)

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

func (*AtlasProject) DeepCopyObject

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

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

func (*AtlasProject) GetStatus

func (p *AtlasProject) GetStatus() status.Status

func (AtlasProject) ID

func (p AtlasProject) ID() string

ID is just a shortcut for ID from the status

func (*AtlasProject) UpdateStatus

func (p *AtlasProject) UpdateStatus(conditions []status.Condition, options ...status.Option)

func (*AtlasProject) WithAnnotations added in v1.6.0

func (p *AtlasProject) WithAnnotations(annotations map[string]string) *AtlasProject

func (*AtlasProject) WithAtlasName

func (p *AtlasProject) WithAtlasName(name string) *AtlasProject

func (*AtlasProject) WithConnectionSecret

func (p *AtlasProject) WithConnectionSecret(name string) *AtlasProject

func (*AtlasProject) WithConnectionSecretNamespaced added in v1.7.0

func (p *AtlasProject) WithConnectionSecretNamespaced(name, namespace string) *AtlasProject

func (*AtlasProject) WithIPAccessList

func (p *AtlasProject) WithIPAccessList(ipAccess project.IPAccessList) *AtlasProject

func (*AtlasProject) WithLabels added in v1.6.0

func (p *AtlasProject) WithLabels(labels map[string]string) *AtlasProject

func (*AtlasProject) WithMaintenanceWindow added in v1.1.0

func (p *AtlasProject) WithMaintenanceWindow(window project.MaintenanceWindow) *AtlasProject

func (*AtlasProject) WithName

func (p *AtlasProject) WithName(name string) *AtlasProject

func (*AtlasProject) X509SecretObjectKey added in v0.8.0

func (p *AtlasProject) X509SecretObjectKey() *client.ObjectKey

type AtlasProjectList

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

AtlasProjectList contains a list of AtlasProject

func (*AtlasProjectList) DeepCopy

func (in *AtlasProjectList) DeepCopy() *AtlasProjectList

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

func (*AtlasProjectList) DeepCopyInto

func (in *AtlasProjectList) DeepCopyInto(out *AtlasProjectList)

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

func (*AtlasProjectList) DeepCopyObject

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

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

type AtlasProjectSpec

type AtlasProjectSpec struct {

	// Name is the name of the Project that is created in Atlas by the Operator if it doesn't exist yet.
	Name string `json:"name"`

	// RegionUsageRestrictions designate the project's AWS region when using Atlas for Government.
	// This parameter should not be used with commercial Atlas.
	// In Atlas for Government, not setting this field (defaulting to NONE) means the project is restricted to COMMERCIAL_FEDRAMP_REGIONS_ONLY
	// +kubebuilder:validation:Enum=NONE;GOV_REGIONS_ONLY;COMMERCIAL_FEDRAMP_REGIONS_ONLY
	// +kubebuilder:default:=NONE
	// +optional
	RegionUsageRestrictions string `json:"regionUsageRestrictions,omitempty"`

	// ConnectionSecret is the name of the Kubernetes Secret which contains the information about the way to connect to
	// Atlas (organization ID, API keys). The default Operator connection configuration will be used if not provided.
	// +optional
	ConnectionSecret *common.ResourceRefNamespaced `json:"connectionSecretRef,omitempty"`

	// ProjectIPAccessList allows to enable the IP Access List for the Project. See more information at
	// https://docs.atlas.mongodb.com/reference/api/ip-access-list/add-entries-to-access-list/
	// +optional
	ProjectIPAccessList []project.IPAccessList `json:"projectIpAccessList,omitempty"`

	// MaintenanceWindow allows to specify a preferred time in the week to run maintenance operations. See more
	// information at https://www.mongodb.com/docs/atlas/reference/api/maintenance-windows/
	// +optional
	MaintenanceWindow project.MaintenanceWindow `json:"maintenanceWindow,omitempty"`

	// PrivateEndpoints is a list of Private Endpoints configured for the current Project.
	PrivateEndpoints []PrivateEndpoint `json:"privateEndpoints,omitempty"`
	// CloudProviderAccessRoles is a list of Cloud Provider Access Roles configured for the current Project.
	CloudProviderAccessRoles []CloudProviderAccessRole `json:"cloudProviderAccessRoles,omitempty"`

	// AlertConfiguration is a list of Alert Configurations configured for the current Project.
	AlertConfigurations []AlertConfiguration `json:"alertConfigurations,omitempty"`

	// AlertConfigurationSyncEnabled is a flag that enables/disables Alert Configurations sync for the current Project.
	// If true - project alert configurations will be synced according to AlertConfigurations.
	// If not - alert configurations will not be modified by the operator. They can be managed through API, cli, UI.
	//kubebuilder:default:=false
	// +optional
	AlertConfigurationSyncEnabled bool `json:"alertConfigurationSyncEnabled,omitempty"`

	// NetworkPeers is a list of Network Peers configured for the current Project.
	NetworkPeers []NetworkPeer `json:"networkPeers,omitempty"`

	// Flag that indicates whether to create the new project with the default alert settings enabled. This parameter defaults to true
	// +kubebuilder:default:=true
	// +optional
	WithDefaultAlertsSettings bool `json:"withDefaultAlertsSettings,omitempty"`

	// X509CertRef is the name of the Kubernetes Secret which contains PEM-encoded CA certificate
	X509CertRef *common.ResourceRefNamespaced `json:"x509CertRef,omitempty"`

	// Integrations is a list of MongoDB Atlas integrations for the project
	// +optional
	Integrations []project.Integration `json:"integrations,omitempty"`

	// EncryptionAtRest allows to set encryption for AWS, Azure and GCP providers
	// +optional
	EncryptionAtRest *EncryptionAtRest `json:"encryptionAtRest,omitempty"`

	// Auditing represents MongoDB Maintenance Windows
	// +optional
	Auditing *Auditing `json:"auditing,omitempty"`

	// Settings allow to set Project Settings for the project
	// +optional
	Settings *ProjectSettings `json:"settings,omitempty"`

	// The customRoles lets you create, and change custom roles in your cluster. Use custom roles to specify custom sets of actions that the Atlas built-in roles can't describe.
	// +optional
	CustomRoles []CustomRole `json:"customRoles,omitempty"`

	// Teams enable you to grant project access roles to multiple users.
	// +optional
	Teams []Team `json:"teams,omitempty"`
}

AtlasProjectSpec defines the desired state of Project in Atlas

func (*AtlasProjectSpec) DeepCopy

func (in *AtlasProjectSpec) DeepCopy() *AtlasProjectSpec

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

func (*AtlasProjectSpec) DeepCopyInto

func (in *AtlasProjectSpec) DeepCopyInto(out *AtlasProjectSpec)

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

func (AtlasProjectSpec) MarshalLogObject added in v1.7.1

func (p AtlasProjectSpec) MarshalLogObject(e zapcore.ObjectEncoder) error

type AtlasTeam added in v1.5.0

type AtlasTeam struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   TeamSpec          `json:"spec"`
	Status status.TeamStatus `json:"status,omitempty"`
}

AtlasTeam is the Schema for the Atlas Teams API

func (*AtlasTeam) DeepCopy added in v1.5.0

func (in *AtlasTeam) DeepCopy() *AtlasTeam

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

func (*AtlasTeam) DeepCopyInto added in v1.5.0

func (in *AtlasTeam) DeepCopyInto(out *AtlasTeam)

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

func (*AtlasTeam) DeepCopyObject added in v1.5.0

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

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

func (*AtlasTeam) GetStatus added in v1.5.0

func (in *AtlasTeam) GetStatus() status.Status

func (*AtlasTeam) Identifier added in v1.5.0

func (in *AtlasTeam) Identifier() interface{}

func (*AtlasTeam) ToAtlas added in v1.5.0

func (in *AtlasTeam) ToAtlas() (*mongodbatlas.Team, error)

func (*AtlasTeam) UpdateStatus added in v1.5.0

func (in *AtlasTeam) UpdateStatus(conditions []status.Condition, options ...status.Option)

type AtlasTeamList added in v1.5.0

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

AtlasTeamList contains a list of AtlasTeam

func (*AtlasTeamList) DeepCopy added in v1.5.0

func (in *AtlasTeamList) DeepCopy() *AtlasTeamList

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

func (*AtlasTeamList) DeepCopyInto added in v1.5.0

func (in *AtlasTeamList) DeepCopyInto(out *AtlasTeamList)

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

func (*AtlasTeamList) DeepCopyObject added in v1.5.0

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

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

type Auditing added in v1.4.0

type Auditing struct {
	// Indicates whether the auditing system captures successful authentication attempts for audit filters using the "atype" : "authCheck" auditing event. For more information, see auditAuthorizationSuccess
	// +optional
	AuditAuthorizationSuccess bool `json:"auditAuthorizationSuccess,omitempty"`
	// JSON-formatted audit filter used by the project
	// +optional
	AuditFilter string `json:"auditFilter,omitempty"`
	// Denotes whether or not the project associated with the {GROUP-ID} has database auditing enabled.
	// +optional
	Enabled bool `json:"enabled,omitempty"`
}

Auditing represents MongoDB Maintenance Windows

func (*Auditing) DeepCopy added in v1.4.0

func (in *Auditing) DeepCopy() *Auditing

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

func (*Auditing) DeepCopyInto added in v1.4.0

func (in *Auditing) DeepCopyInto(out *Auditing)

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

func (Auditing) ToAtlas added in v1.4.0

func (a Auditing) ToAtlas() *mongodbatlas.Auditing

type AutoScalingSpec

type AutoScalingSpec struct {
	// Deprecated: This flag is not supported anymore.
	// Flag that indicates whether autopilot mode for Performance Advisor is enabled.
	// The default is false.
	AutoIndexingEnabled *bool `json:"autoIndexingEnabled,omitempty"`
	// Flag that indicates whether disk auto-scaling is enabled. The default is true.
	// +optional
	DiskGBEnabled *bool `json:"diskGBEnabled,omitempty"`

	// Collection of settings that configure how a deployment might scale its deployment tier and whether the deployment can scale down.
	// +optional
	Compute *ComputeSpec `json:"compute,omitempty"`
}

AutoScalingSpec configures your deployment to automatically scale its storage

func (*AutoScalingSpec) DeepCopy

func (in *AutoScalingSpec) DeepCopy() *AutoScalingSpec

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

func (*AutoScalingSpec) DeepCopyInto

func (in *AutoScalingSpec) DeepCopyInto(out *AutoScalingSpec)

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

type AwsKms added in v1.3.0

type AwsKms struct {
	Enabled             *bool  `json:"enabled,omitempty"`             // Specifies whether Encryption at Rest is enabled for an Atlas project, To disable Encryption at Rest, pass only this parameter with a value of false, When you disable Encryption at Rest, Atlas also removes the configuration details.
	AccessKeyID         string `json:"accessKeyID,omitempty"`         // The IAM access key ID with permissions to access the customer master key specified by customerMasterKeyID.
	SecretAccessKey     string `json:"secretAccessKey,omitempty"`     // The IAM secret access key with permissions to access the customer master key specified by customerMasterKeyID.
	CustomerMasterKeyID string `json:"customerMasterKeyID,omitempty"` // The AWS customer master key used to encrypt and decrypt the MongoDB master keys.
	Region              string `json:"region,omitempty"`              // The AWS region in which the AWS customer master key exists: CA_CENTRAL_1, US_EAST_1, US_EAST_2, US_WEST_1, US_WEST_2, SA_EAST_1
	RoleID              string `json:"roleId,omitempty"`              // ID of an AWS IAM role authorized to manage an AWS customer master key.
	Valid               *bool  `json:"valid,omitempty"`               // Specifies whether the encryption key set for the provider is valid and may be used to encrypt and decrypt data.
	// A reference to as Secret containing the AccessKeyID, SecretAccessKey, CustomerMasterKey and RoleID fields
	// +optional
	SecretRef common.ResourceRefNamespaced `json:"secretRef,omitempty"`
}

AwsKms specifies AWS KMS configuration details and whether Encryption at Rest is enabled for an Atlas project.

func (*AwsKms) DeepCopy added in v1.3.0

func (in *AwsKms) DeepCopy() *AwsKms

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

func (*AwsKms) DeepCopyInto added in v1.3.0

func (in *AwsKms) DeepCopyInto(out *AwsKms)

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

func (AwsKms) ToAtlas added in v1.8.1

func (a AwsKms) ToAtlas() mongodbatlas.AwsKms

type AzureKeyVault added in v1.3.0

type AzureKeyVault struct {
	Enabled           *bool  `json:"enabled,omitempty"`           // Specifies whether Encryption at Rest is enabled for an Atlas project. To disable Encryption at Rest, pass only this parameter with a value of false. When you disable Encryption at Rest, Atlas also removes the configuration details.
	ClientID          string `json:"clientID,omitempty"`          // The Client ID, also known as the application ID, for an Azure application associated with the Azure AD tenant.
	AzureEnvironment  string `json:"azureEnvironment,omitempty"`  // The Azure environment where the Azure account credentials reside. Valid values are the following: AZURE, AZURE_CHINA, AZURE_GERMANY
	SubscriptionID    string `json:"subscriptionID,omitempty"`    // The unique identifier associated with an Azure subscription.
	ResourceGroupName string `json:"resourceGroupName,omitempty"` // The name of the Azure Resource group that contains an Azure Key Vault.
	KeyVaultName      string `json:"keyVaultName,omitempty"`      // The name of an Azure Key Vault containing your key.
	KeyIdentifier     string `json:"keyIdentifier,omitempty"`     // The unique identifier of a key in an Azure Key Vault.
	Secret            string `json:"secret,omitempty"`            // The secret associated with the Azure Key Vault specified by azureKeyVault.tenantID.
	TenantID          string `json:"tenantID,omitempty"`          // The unique identifier for an Azure AD tenant within an Azure subscription.
	// A reference to as Secret containing the SubscriptionID, KeyVaultName, KeyIdentifier, Secret fields
	// +optional
	SecretRef common.ResourceRefNamespaced `json:"secretRef,omitempty"`
}

AzureKeyVault specifies Azure Key Vault configuration details and whether Encryption at Rest is enabled for an Atlas project.

func (*AzureKeyVault) DeepCopy added in v1.3.0

func (in *AzureKeyVault) DeepCopy() *AzureKeyVault

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

func (*AzureKeyVault) DeepCopyInto added in v1.3.0

func (in *AzureKeyVault) DeepCopyInto(out *AzureKeyVault)

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

func (AzureKeyVault) ToAtlas added in v1.8.1

type BiConnector added in v0.8.0

type BiConnector struct {
	Enabled        *bool  `json:"enabled,omitempty"`
	ReadPreference string `json:"readPreference,omitempty"`
}

BiConnector specifies BI Connector for Atlas configuration on this deployment.

func (*BiConnector) DeepCopy added in v0.8.0

func (in *BiConnector) DeepCopy() *BiConnector

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

func (*BiConnector) DeepCopyInto added in v0.8.0

func (in *BiConnector) DeepCopyInto(out *BiConnector)

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

type BiConnectorSpec

type BiConnectorSpec struct {
	// Flag that indicates whether or not BI Connector for Atlas is enabled on the deployment.
	// +optional
	Enabled *bool `json:"enabled,omitempty"`

	// Source from which the BI Connector for Atlas reads data. Each BI Connector for Atlas read preference contains a distinct combination of readPreference and readPreferenceTags options.
	// +optional
	ReadPreference string `json:"readPreference,omitempty"`
}

BiConnectorSpec specifies BI Connector for Atlas configuration on this deployment

func (*BiConnectorSpec) DeepCopy

func (in *BiConnectorSpec) DeepCopy() *BiConnectorSpec

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

func (*BiConnectorSpec) DeepCopyInto

func (in *BiConnectorSpec) DeepCopyInto(out *BiConnectorSpec)

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

type CloudProviderAccessRole added in v1.3.0

type CloudProviderAccessRole struct {
	// ProviderName is the name of the cloud provider. Currently only AWS is supported.
	ProviderName string `json:"providerName"`
	// IamAssumedRoleArn is the ARN of the IAM role that is assumed by the Atlas cluster.
	// +optional
	IamAssumedRoleArn string `json:"iamAssumedRoleArn"`
}

func (*CloudProviderAccessRole) DeepCopy added in v1.3.0

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

func (*CloudProviderAccessRole) DeepCopyInto added in v1.3.0

func (in *CloudProviderAccessRole) DeepCopyInto(out *CloudProviderAccessRole)

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

type CloudProviderConfig added in v1.8.0

type CloudProviderConfig struct {
	AWS *AWSProviderConfig `json:"aws,omitempty"`
}

func (*CloudProviderConfig) DeepCopy added in v1.8.0

func (in *CloudProviderConfig) DeepCopy() *CloudProviderConfig

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

func (*CloudProviderConfig) DeepCopyInto added in v1.8.0

func (in *CloudProviderConfig) DeepCopyInto(out *CloudProviderConfig)

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

type Collection added in v1.8.0

type Collection struct {
	DataSources []DataSource `json:"dataSources,omitempty"`
	Name        string       `json:"name,omitempty"`
}

func (*Collection) DeepCopy added in v1.8.0

func (in *Collection) DeepCopy() *Collection

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

func (*Collection) DeepCopyInto added in v1.8.0

func (in *Collection) DeepCopyInto(out *Collection)

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

type ComputeSpec

type ComputeSpec struct {
	// Flag that indicates whether deployment tier auto-scaling is enabled. The default is false.
	// +optional
	Enabled *bool `json:"enabled,omitempty"`

	// Flag that indicates whether the deployment tier may scale down. Atlas requires this parameter if "autoScaling.compute.enabled" : true.
	// +optional
	ScaleDownEnabled *bool `json:"scaleDownEnabled,omitempty"`

	// Minimum instance size to which your deployment can automatically scale (such as M10). Atlas requires this parameter if "autoScaling.compute.scaleDownEnabled" : true.
	// +optional
	MinInstanceSize string `json:"minInstanceSize,omitempty"`

	// Maximum instance size to which your deployment can automatically scale (such as M40). Atlas requires this parameter if "autoScaling.compute.enabled" : true.
	// +optional
	MaxInstanceSize string `json:"maxInstanceSize,omitempty"`
}

ComputeSpec Specifies whether the deployment automatically scales its deployment tier and whether the deployment can scale down.

func (*ComputeSpec) DeepCopy

func (in *ComputeSpec) DeepCopy() *ComputeSpec

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

func (*ComputeSpec) DeepCopyInto

func (in *ComputeSpec) DeepCopyInto(out *ComputeSpec)

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

type ConnectionStrings added in v0.8.0

type ConnectionStrings struct {
	Standard          string                `json:"standard,omitempty"`
	StandardSrv       string                `json:"standardSrv,omitempty"`
	PrivateEndpoint   []PrivateEndpointSpec `json:"privateEndpoint,omitempty"`
	AwsPrivateLink    map[string]string     `json:"awsPrivateLink,omitempty"`
	AwsPrivateLinkSrv map[string]string     `json:"awsPrivateLinkSrv,omitempty"`
	Private           string                `json:"private,omitempty"`
	PrivateSrv        string                `json:"privateSrv,omitempty"`
}

ConnectionStrings configuration for applications use to connect to this deployment.

func (*ConnectionStrings) DeepCopy added in v0.8.0

func (in *ConnectionStrings) DeepCopy() *ConnectionStrings

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

func (*ConnectionStrings) DeepCopyInto added in v0.8.0

func (in *ConnectionStrings) DeepCopyInto(out *ConnectionStrings)

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

type CopySetting added in v1.7.0

type CopySetting struct {
	// Identifies the cloud provider that stores the snapshot copy.
	// +kubebuilder:validation:Enum:=AWS;GCP;AZURE
	// +kubebuilder:default:=AWS
	CloudProvider *string `json:"cloudProvider,omitempty"`
	// Target region to copy snapshots belonging to replicationSpecId to.
	RegionName *string `json:"regionName,omitempty"`
	// Unique identifier that identifies the replication object for a zone in a cluster.
	ReplicationSpecID *string `json:"replicationSpecId,omitempty"`
	// Flag that indicates whether to copy the oplogs to the target region.
	ShouldCopyOplogs *bool `json:"shouldCopyOplogs,omitempty"`
	// List that describes which types of snapshots to copy.
	// +kubebuilder:validation:MinItems=1
	Frequencies []string `json:"frequencies,omitempty"`
}

func (*CopySetting) DeepCopy added in v1.7.0

func (in *CopySetting) DeepCopy() *CopySetting

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

func (*CopySetting) DeepCopyInto added in v1.7.0

func (in *CopySetting) DeepCopyInto(out *CopySetting)

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

type CustomRole added in v1.4.1

type CustomRole struct {
	// Human-readable label that identifies the role. This name must be unique for this custom role in this project.
	Name string `json:"name"`
	// List of the built-in roles that this custom role inherits.
	// +optional
	InheritedRoles []Role `json:"inheritedRoles,omitempty"`
	// List of the individual privilege actions that the role grants.
	// +optional
	Actions []Action `json:"actions,omitempty"`
}

func (*CustomRole) DeepCopy added in v1.4.1

func (in *CustomRole) DeepCopy() *CustomRole

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

func (*CustomRole) DeepCopyInto added in v1.4.1

func (in *CustomRole) DeepCopyInto(out *CustomRole)

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

func (*CustomRole) ToAtlas added in v1.4.1

func (in *CustomRole) ToAtlas() *mongodbatlas.CustomDBRole

type CustomZoneMapping added in v1.6.0

type CustomZoneMapping struct {
	Location string `json:"location"`
	Zone     string `json:"zone"`
}

func (*CustomZoneMapping) DeepCopy added in v1.6.0

func (in *CustomZoneMapping) DeepCopy() *CustomZoneMapping

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

func (*CustomZoneMapping) DeepCopyInto added in v1.6.0

func (in *CustomZoneMapping) DeepCopyInto(out *CustomZoneMapping)

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

func (*CustomZoneMapping) ToAtlas added in v1.6.0

type DataFederationPE added in v1.8.0

type DataFederationPE struct {
	EndpointID string `json:"endpointId,omitempty"`
	Provider   string `json:"provider,omitempty"`
	Type       string `json:"type,omitempty"`
}

func (*DataFederationPE) DeepCopy added in v1.8.0

func (in *DataFederationPE) DeepCopy() *DataFederationPE

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

func (*DataFederationPE) DeepCopyInto added in v1.8.0

func (in *DataFederationPE) DeepCopyInto(out *DataFederationPE)

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

func (DataFederationPE) Identifier added in v1.8.0

func (pe DataFederationPE) Identifier() interface{}

type DataFederationSpec added in v1.8.0

type DataFederationSpec struct {
	// Project is a reference to AtlasProject resource the deployment belongs to
	Project common.ResourceRefNamespaced `json:"projectRef"`
	Name    string                       `json:"name"`

	// +optional
	CloudProviderConfig *CloudProviderConfig `json:"cloudProviderConfig,omitempty"`

	// +optional
	DataProcessRegion *DataProcessRegion `json:"dataProcessRegion,omitempty"`

	// +optional
	Storage *Storage `json:"storage,omitempty"`

	// +optional
	PrivateEndpoints []DataFederationPE `json:"privateEndpoints,omitempty"`
}

func (*DataFederationSpec) DeepCopy added in v1.8.0

func (in *DataFederationSpec) DeepCopy() *DataFederationSpec

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

func (*DataFederationSpec) DeepCopyInto added in v1.8.0

func (in *DataFederationSpec) DeepCopyInto(out *DataFederationSpec)

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

type DataProcessRegion added in v1.8.0

type DataProcessRegion struct {
	// +kubebuilder:validation:Enum:=AWS
	CloudProvider string `json:"cloudProvider,omitempty"`
	// +kubebuilder:validation:Enum:=SYDNEY_AUS;MUMBAI_IND;FRANKFURT_DEU;DUBLIN_IRL;LONDON_GBR;VIRGINIA_USA;OREGON_USA;SAOPAULO_BRA;SINGAPORE_SGP
	Region string `json:"region,omitempty"`
}

func (*DataProcessRegion) DeepCopy added in v1.8.0

func (in *DataProcessRegion) DeepCopy() *DataProcessRegion

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

func (*DataProcessRegion) DeepCopyInto added in v1.8.0

func (in *DataProcessRegion) DeepCopyInto(out *DataProcessRegion)

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

type DataSource added in v1.8.0

type DataSource struct {
	AllowInsecure   bool   `json:"allowInsecure,omitempty"`
	Collection      string `json:"collection,omitempty"`
	CollectionRegex string `json:"collectionRegex,omitempty"`
	Database        string `json:"database,omitempty"`
	DatabaseRegex   string `json:"databaseRegex,omitempty"`
	// +kubebuilder:validation:Enum:=.avro;.avro.bz2;.avro.gz;.bson;.bson.bz2;.bson.gz;.bsonx;.csv;.csv.bz2;.csv.gz;.json;.json.bz2;.json.gz;.orc;.parquet;.tsv;.tsv.bz2;.tsv.gz
	DefaultFormat       string   `json:"defaultFormat,omitempty"`
	Path                string   `json:"path,omitempty"`
	ProvenanceFieldName string   `json:"provenanceFieldName,omitempty"`
	StoreName           string   `json:"storeName,omitempty"`
	Urls                []string `json:"urls,omitempty"`
}

func (*DataSource) DeepCopy added in v1.8.0

func (in *DataSource) DeepCopy() *DataSource

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

func (*DataSource) DeepCopyInto added in v1.8.0

func (in *DataSource) DeepCopyInto(out *DataSource)

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

type Database added in v1.8.0

type Database struct {
	Collections            []Collection `json:"collections,omitempty"`
	MaxWildcardCollections int          `json:"maxWildcardCollections,omitempty"`
	Name                   string       `json:"name,omitempty"`
	Views                  []View       `json:"views,omitempty"`
}

func (*Database) DeepCopy added in v1.8.0

func (in *Database) DeepCopy() *Database

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

func (*Database) DeepCopyInto added in v1.8.0

func (in *Database) DeepCopyInto(out *Database)

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

type DeploymentSpec added in v1.0.0

type DeploymentSpec struct {
	// Collection of settings that configures auto-scaling information for the deployment.
	// If you specify the autoScaling object, you must also specify the providerSettings.autoScaling object.
	// +optional
	AutoScaling *AutoScalingSpec `json:"autoScaling,omitempty"`

	// Configuration of BI Connector for Atlas on this deployment.
	// The MongoDB Connector for Business Intelligence for Atlas (BI Connector) is only available for M10 and larger deployments.
	// +optional
	BIConnector *BiConnectorSpec `json:"biConnector,omitempty"`

	// Type of the deployment that you want to create.
	// The parameter is required if replicationSpecs are set or if Global Deployments are deployed.
	// +kubebuilder:validation:Enum=REPLICASET;SHARDED;GEOSHARDED
	// +optional
	ClusterType DeploymentType `json:"clusterType,omitempty"`

	// Capacity, in gigabytes, of the host's root volume.
	// Increase this number to add capacity, up to a maximum possible value of 4096 (i.e., 4 TB).
	// This value must be a positive integer.
	// The parameter is required if replicationSpecs are configured.
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=4096
	// +optional
	DiskSizeGB *int `json:"diskSizeGB,omitempty"` // TODO: may cause issues due to mongodb/go-client-mongodb-atlas#140

	// Cloud service provider that offers Encryption at Rest.
	// +kubebuilder:validation:Enum=AWS;GCP;AZURE;NONE
	// +optional
	EncryptionAtRestProvider string `json:"encryptionAtRestProvider,omitempty"`

	// Collection of key-value pairs that tag and categorize the deployment.
	// Each key and value has a maximum length of 255 characters.
	// +optional
	Labels []common.LabelSpec `json:"labels,omitempty"`

	// Version of the deployment to deploy.
	MongoDBMajorVersion string `json:"mongoDBMajorVersion,omitempty"`

	// Name of the deployment as it appears in Atlas.
	// After Atlas creates the deployment, you can't change its name.
	// Can only contain ASCII letters, numbers, and hyphens.
	// +kubebuilder:validation:Pattern:=^[a-zA-Z0-9][a-zA-Z0-9-]*$
	Name string `json:"name"`

	// Key-value pairs for resource tagging.
	// +kubebuilder:validation:MaxItems=50
	// +optional
	Tags []*TagSpec `json:"tags,omitempty"`

	// Positive integer that specifies the number of shards to deploy for a sharded deployment.
	// The parameter is required if replicationSpecs are configured
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=50
	// +optional
	NumShards *int `json:"numShards,omitempty"`

	// Flag that indicates whether the deployment should be paused.
	Paused *bool `json:"paused,omitempty"`

	// Flag that indicates the deployment uses continuous cloud backups.
	// +optional
	PitEnabled *bool `json:"pitEnabled,omitempty"`

	// Applicable only for M10+ deployments.
	// Flag that indicates if the deployment uses Cloud Backups for backups.
	// +optional
	ProviderBackupEnabled *bool `json:"providerBackupEnabled,omitempty"`

	// Configuration for the provisioned hosts on which MongoDB runs. The available options are specific to the cloud service provider.
	ProviderSettings *ProviderSettingsSpec `json:"providerSettings"`

	// Configuration for deployment regions.
	// +optional
	ReplicationSpecs []ReplicationSpec `json:"replicationSpecs,omitempty"`
	// +optional
	CustomZoneMapping []CustomZoneMapping `json:"customZoneMapping,omitempty"`
	// +optional
	ManagedNamespaces []ManagedNamespace `json:"managedNamespaces,omitempty"`
}

func (*DeploymentSpec) DeepCopy added in v1.0.0

func (in *DeploymentSpec) DeepCopy() *DeploymentSpec

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

func (*DeploymentSpec) DeepCopyInto added in v1.0.0

func (in *DeploymentSpec) DeepCopyInto(out *DeploymentSpec)

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

type DeploymentType added in v1.1.0

type DeploymentType string
const (
	TypeReplicaSet DeploymentType = "REPLICASET"
	TypeSharded    DeploymentType = "SHARDED"
	TypeGeoSharded DeploymentType = "GEOSHARDED"
)

type DiskGB added in v1.2.0

type DiskGB struct {
	Enabled *bool `json:"enabled,omitempty"`
}

DiskGB specifies whether disk auto-scaling is enabled. The default is true.

func (*DiskGB) DeepCopy added in v1.2.0

func (in *DiskGB) DeepCopy() *DiskGB

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

func (*DiskGB) DeepCopyInto added in v1.2.0

func (in *DiskGB) DeepCopyInto(out *DiskGB)

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

type EncryptionAtRest added in v1.3.0

type EncryptionAtRest struct {
	AwsKms         AwsKms         `json:"awsKms,omitempty"`         // AwsKms specifies AWS KMS configuration details and whether Encryption at Rest is enabled for an Atlas project.
	AzureKeyVault  AzureKeyVault  `json:"azureKeyVault,omitempty"`  // AzureKeyVault specifies Azure Key Vault configuration details and whether Encryption at Rest is enabled for an Atlas project.
	GoogleCloudKms GoogleCloudKms `json:"googleCloudKms,omitempty"` // Specifies GCP KMS configuration details and whether Encryption at Rest is enabled for an Atlas project.
}

EncryptionAtRest allows to specify the Encryption at Rest for AWS, Azure and GCP providers

func (*EncryptionAtRest) DeepCopy added in v1.3.0

func (in *EncryptionAtRest) DeepCopy() *EncryptionAtRest

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

func (*EncryptionAtRest) DeepCopyInto added in v1.3.0

func (in *EncryptionAtRest) DeepCopyInto(out *EncryptionAtRest)

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

func (EncryptionAtRest) ToAtlas added in v1.3.0

func (e EncryptionAtRest) ToAtlas(projectID string) (*mongodbatlas.EncryptionAtRest, error)

type EndpointSpec added in v0.8.0

type EndpointSpec struct {
	EndpointID   string `json:"endpointId,omitempty"`
	ProviderName string `json:"providerName,omitempty"`
	Region       string `json:"region,omitempty"`
}

EndpointSpec through which you connect to Atlas.

func (*EndpointSpec) DeepCopy added in v0.8.0

func (in *EndpointSpec) DeepCopy() *EndpointSpec

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

func (*EndpointSpec) DeepCopyInto added in v0.8.0

func (in *EndpointSpec) DeepCopyInto(out *EndpointSpec)

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

type GCPEndpoint added in v1.0.0

type GCPEndpoint struct {
	// Forwarding rule that corresponds to the endpoint you created in Google Cloud.
	EndpointName string `json:"endpointName,omitempty"`
	// Private IP address of the endpoint you created in Google Cloud.
	IPAddress string `json:"ipAddress,omitempty"`
}

func (*GCPEndpoint) DeepCopy added in v1.0.0

func (in *GCPEndpoint) DeepCopy() *GCPEndpoint

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

func (*GCPEndpoint) DeepCopyInto added in v1.0.0

func (in *GCPEndpoint) DeepCopyInto(out *GCPEndpoint)

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

type GCPEndpoints added in v1.0.0

type GCPEndpoints []GCPEndpoint

func (GCPEndpoints) ConvertToAtlas added in v1.0.0

func (endpoints GCPEndpoints) ConvertToAtlas() ([]*mongodbatlas.GCPEndpoint, error)

func (GCPEndpoints) DeepCopy added in v1.0.0

func (in GCPEndpoints) DeepCopy() GCPEndpoints

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

func (GCPEndpoints) DeepCopyInto added in v1.0.0

func (in GCPEndpoints) DeepCopyInto(out *GCPEndpoints)

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

type GoogleCloudKms added in v1.3.0

type GoogleCloudKms struct {
	Enabled              *bool  `json:"enabled,omitempty"`              // Specifies whether Encryption at Rest is enabled for an Atlas project. To disable Encryption at Rest, pass only this parameter with a value of false. When you disable Encryption at Rest, Atlas also removes the configuration details.
	ServiceAccountKey    string `json:"serviceAccountKey,omitempty"`    // String-formatted JSON object containing GCP KMS credentials from your GCP account.
	KeyVersionResourceID string `json:"keyVersionResourceID,omitempty"` // 	The Key Version Resource ID from your GCP account.
	// A reference to as Secret containing the ServiceAccountKey, KeyVersionResourceID fields
	// +optional
	SecretRef common.ResourceRefNamespaced `json:"secretRef,omitempty"`
}

GoogleCloudKms specifies GCP KMS configuration details and whether Encryption at Rest is enabled for an Atlas project.

func (*GoogleCloudKms) DeepCopy added in v1.3.0

func (in *GoogleCloudKms) DeepCopy() *GoogleCloudKms

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

func (*GoogleCloudKms) DeepCopyInto added in v1.3.0

func (in *GoogleCloudKms) DeepCopyInto(out *GoogleCloudKms)

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

func (GoogleCloudKms) ToAtlas added in v1.8.1

type ManagedNamespace added in v1.6.0

type ManagedNamespace struct {
	Db                     string `json:"db"` //nolint:stylecheck // not changing this as is a breaking change
	Collection             string `json:"collection"`
	CustomShardKey         string `json:"customShardKey,omitempty"`
	NumInitialChunks       int    `json:"numInitialChunks,omitempty"`
	PresplitHashedZones    *bool  `json:"presplitHashedZones,omitempty"`
	IsCustomShardKeyHashed *bool  `json:"isCustomShardKeyHashed,omitempty"` // Flag that specifies whether the custom shard key for the collection is hashed.
	IsShardKeyUnique       *bool  `json:"isShardKeyUnique,omitempty"`       // Flag that specifies whether the underlying index enforces a unique constraint.
}

ManagedNamespace represents the information about managed namespace configuration.

func (*ManagedNamespace) DeepCopy added in v1.6.0

func (in *ManagedNamespace) DeepCopy() *ManagedNamespace

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

func (*ManagedNamespace) DeepCopyInto added in v1.6.0

func (in *ManagedNamespace) DeepCopyInto(out *ManagedNamespace)

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

func (*ManagedNamespace) ToAtlas added in v1.6.0

type Matcher added in v1.4.0

type Matcher struct {
	// Name of the field in the target object to match on.
	FieldName string `json:"fieldName,omitempty"`
	// The operator to test the field’s value.
	Operator string `json:"operator,omitempty"`
	// Value to test with the specified operator.
	Value string `json:"value,omitempty"`
}

func (*Matcher) DeepCopy added in v1.4.0

func (in *Matcher) DeepCopy() *Matcher

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

func (*Matcher) DeepCopyInto added in v1.4.0

func (in *Matcher) DeepCopyInto(out *Matcher)

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

func (*Matcher) IsEqual added in v1.4.0

func (in *Matcher) IsEqual(matcher mongodbatlas.Matcher) bool

type MetricThreshold added in v1.4.0

type MetricThreshold struct {
	// Name of the metric to check.
	MetricName string `json:"metricName,omitempty"`
	// Operator to apply when checking the current metric value against the threshold value.
	Operator string `json:"operator,omitempty"`
	// Threshold value outside which an alert will be triggered.
	Threshold string `json:"threshold"`
	// The units for the threshold value.
	Units string `json:"units,omitempty"`
	// This must be set to AVERAGE. Atlas computes the current metric value as an average.
	Mode string `json:"mode,omitempty"`
}

MetricThreshold causes an alert to be triggered. Required if "eventTypeName" : "OUTSIDE_METRIC_THRESHOLD".

func (*MetricThreshold) DeepCopy added in v1.4.0

func (in *MetricThreshold) DeepCopy() *MetricThreshold

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

func (*MetricThreshold) DeepCopyInto added in v1.4.0

func (in *MetricThreshold) DeepCopyInto(out *MetricThreshold)

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

func (*MetricThreshold) IsEqual added in v1.4.0

func (in *MetricThreshold) IsEqual(threshold *mongodbatlas.MetricThreshold) bool

func (*MetricThreshold) ToAtlas added in v1.4.0

type NetworkPeer added in v1.3.0

type NetworkPeer struct {
	//AccepterRegionName is the provider region name of user's vpc.
	// +optional
	AccepterRegionName string `json:"accepterRegionName"`
	// ContainerRegion is the provider region name of Atlas network peer container. If not set, AccepterRegionName is used.
	// +optional
	ContainerRegion string `json:"containerRegion"`
	// AccountID of the user's vpc.
	// +optional
	AWSAccountID string `json:"awsAccountId,omitempty"`
	// ID of the network peer container. If not set, operator will create a new container with ContainerRegion and AtlasCIDRBlock input.
	// +optional
	ContainerID string `json:"containerId"`
	//ProviderName is the name of the provider. If not set, it will be set to "AWS".
	// +optional
	ProviderName provider.ProviderName `json:"providerName,omitempty"`
	//User VPC CIDR.
	// +optional
	RouteTableCIDRBlock string `json:"routeTableCidrBlock,omitempty"`
	//AWS VPC ID.
	// +optional
	VpcID string `json:"vpcId,omitempty"`
	//Atlas CIDR. It needs to be set if ContainerID is not set.
	// +optional
	AtlasCIDRBlock string `json:"atlasCidrBlock"`
	//AzureDirectoryID is the unique identifier for an Azure AD directory.
	// +optional
	AzureDirectoryID string `json:"azureDirectoryId,omitempty"`
	// AzureSubscriptionID is the unique identifier of the Azure subscription in which the VNet resides.
	// +optional
	AzureSubscriptionID string `json:"azureSubscriptionId,omitempty"`
	//ResourceGroupName is the name of your Azure resource group.
	// +optional
	ResourceGroupName string `json:"resourceGroupName,omitempty"`
	// VNetName is name of your Azure VNet. Its applicable only for Azure.
	// +optional
	VNetName string `json:"vnetName,omitempty"`
	// +optional
	// User GCP Project ID. Its applicable only for GCP.
	GCPProjectID string `json:"gcpProjectId,omitempty"`
	// GCP Network Peer Name. Its applicable only for GCP.
	// +optional
	NetworkName string `json:"networkName,omitempty"`
}

func (*NetworkPeer) DeepCopy added in v1.3.0

func (in *NetworkPeer) DeepCopy() *NetworkPeer

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

func (*NetworkPeer) DeepCopyInto added in v1.3.0

func (in *NetworkPeer) DeepCopyInto(out *NetworkPeer)

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

func (*NetworkPeer) GetContainerRegion added in v1.3.0

func (in *NetworkPeer) GetContainerRegion() string

func (*NetworkPeer) ToAtlas added in v1.3.0

func (in *NetworkPeer) ToAtlas() (*mongodbatlas.Peer, error)

func (*NetworkPeer) ToAtlasPeer added in v1.8.0

func (in *NetworkPeer) ToAtlasPeer() *mongodbatlas.Peer

type Notification added in v1.4.0

type Notification struct {
	// Slack API token or Bot token. Populated for the SLACK notifications type. If the token later becomes invalid, Atlas sends an email to the project owner and eventually removes the token.
	APIToken string `json:"apiToken,omitempty"`
	// +optional
	APITokenRef common.ResourceRefNamespaced `json:"apiTokenRef,omitempty"`
	// Slack channel name. Populated for the SLACK notifications type.
	ChannelName string `json:"channelName,omitempty"`
	// Datadog API Key. Found in the Datadog dashboard. Populated for the DATADOG notifications type.
	DatadogAPIKey string `json:"datadogApiKey,omitempty"`
	// +optional
	DatadogAPIKeyRef common.ResourceRefNamespaced `json:"datadogAPIKeyRef,omitempty"`
	// Region that indicates which API URL to use
	DatadogRegion string `json:"datadogRegion,omitempty"`
	// Number of minutes to wait after an alert condition is detected before sending out the first notification.
	DelayMin *int `json:"delayMin,omitempty"`
	// Email address to which alert notifications are sent. Populated for the EMAIL notifications type.
	EmailAddress string `json:"emailAddress,omitempty"`
	// Flag indicating if email notifications should be sent. Populated for ORG, GROUP, and USER notifications types.
	EmailEnabled *bool `json:"emailEnabled,omitempty"`
	// The Flowdock personal API token. Populated for the FLOWDOCK notifications type. If the token later becomes invalid, Atlas sends an email to the project owner and eventually removes the token.
	FlowdockAPIToken string `json:"flowdockApiToken,omitempty"`
	// +optional
	FlowdockAPITokenRef common.ResourceRefNamespaced `json:"flowdockApiTokenRef,omitempty"`
	// Flowdock flow namse in lower-case letters.
	FlowName string `json:"flowName,omitempty"`
	// Number of minutes to wait between successive notifications for unacknowledged alerts that are not resolved.
	IntervalMin int `json:"intervalMin,omitempty"`
	// Mobile number to which alert notifications are sent. Populated for the SMS notifications type.
	MobileNumber string `json:"mobileNumber,omitempty"`
	// Opsgenie API Key. Populated 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.
	OpsGenieAPIKey string `json:"opsGenieApiKey,omitempty"`
	// +optional
	OpsGenieAPIKeyRef common.ResourceRefNamespaced `json:"opsGenieApiKeyRef,omitempty"`
	// Region that indicates which API URL to use.
	OpsGenieRegion string `json:"opsGenieRegion,omitempty"`
	// Flowdock organization name in lower-case letters. This is the name that appears after www.flowdock.com/app/ in the URL string. Populated for the FLOWDOCK notifications type.
	OrgName string `json:"orgName,omitempty"`
	// PagerDuty service key. Populated 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.
	ServiceKey string `json:"serviceKey,omitempty"`
	// +optinal
	ServiceKeyRef common.ResourceRefNamespaced `json:"serviceKeyRef,omitempty"`
	// Flag indicating if text message notifications should be sent. Populated for ORG, GROUP, and USER notifications types.
	SMSEnabled *bool `json:"smsEnabled,omitempty"`
	// Unique identifier of a team.
	TeamID string `json:"teamId,omitempty"`
	// Label for the team that receives this notification.
	TeamName string `json:"teamName,omitempty"`
	// Type of alert notification.
	TypeName string `json:"typeName,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. Populated for the USER notifications type.
	Username string `json:"username,omitempty"`
	// VictorOps API key. Populated 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.
	VictorOpsAPIKey string `json:"victorOpsApiKey,omitempty"`
	// +optional
	// Secret for VictorOps should contain both APIKey and RoutingKey values
	VictorOpsSecretRef common.ResourceRefNamespaced `json:"victorOpsSecretRef,omitempty"`
	// VictorOps routing key. Populated 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.
	VictorOpsRoutingKey string `json:"victorOpsRoutingKey,omitempty"`
	// The following roles grant privileges within a project.
	Roles []string `json:"roles,omitempty"`
}

func (*Notification) DeepCopy added in v1.4.0

func (in *Notification) DeepCopy() *Notification

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

func (*Notification) DeepCopyInto added in v1.4.0

func (in *Notification) DeepCopyInto(out *Notification)

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

func (*Notification) IsEqual added in v1.4.0

func (in *Notification) IsEqual(notification mongodbatlas.Notification) bool

type PrivateEndpoint added in v1.0.0

type PrivateEndpoint struct {
	// Cloud provider for which you want to retrieve a private endpoint service. Atlas accepts AWS or AZURE.
	// +kubebuilder:validation:Enum=AWS;GCP;AZURE;TENANT
	Provider provider.ProviderName `json:"provider"`
	// Cloud provider region for which you want to create the private endpoint service.
	Region string `json:"region"`
	// Unique identifier of the private endpoint you created in your AWS VPC or Azure Vnet.
	// +optional
	ID string `json:"id,omitempty"`
	// Private IP address of the private endpoint network interface you created in your Azure VNet.
	// +optional
	IP string `json:"ip,omitempty"`
	// Unique identifier of the Google Cloud project in which you created your endpoints.
	// +optional
	GCPProjectID string `json:"gcpProjectId,omitempty"`
	// Unique identifier of the endpoint group. The endpoint group encompasses all of the endpoints that you created in Google Cloud.
	// +optional
	EndpointGroupName string `json:"endpointGroupName,omitempty"`
	// Collection of individual private endpoints that comprise your endpoint group.
	// +optional
	Endpoints GCPEndpoints `json:"endpoints,omitempty"`
}

func (*PrivateEndpoint) DeepCopy added in v1.0.0

func (in *PrivateEndpoint) DeepCopy() *PrivateEndpoint

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

func (*PrivateEndpoint) DeepCopyInto added in v1.0.0

func (in *PrivateEndpoint) DeepCopyInto(out *PrivateEndpoint)

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

func (PrivateEndpoint) Identifier added in v1.0.0

func (i PrivateEndpoint) Identifier() interface{}

Identifier is required to satisfy "Identifiable" iterface

func (PrivateEndpoint) ToAtlas added in v1.0.0

ToAtlas converts the PrivateEndpoint to native Atlas client format.

type PrivateEndpointSpec added in v0.8.0

type PrivateEndpointSpec struct {
	ConnectionString    string         `json:"connectionString,omitempty"`
	Endpoints           []EndpointSpec `json:"endpoints,omitempty"`
	SRVConnectionString string         `json:"srvConnectionString,omitempty"`
	Type                string         `json:"type,omitempty"`
}

PrivateEndpointSpec connection strings. Each object describes the connection strings you can use to connect to this deployment through a private endpoint. Atlas returns this parameter only if you deployed a private endpoint to all regions to which you deployed this deployment's nodes.

func (*PrivateEndpointSpec) DeepCopy added in v0.8.0

func (in *PrivateEndpointSpec) DeepCopy() *PrivateEndpointSpec

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

func (*PrivateEndpointSpec) DeepCopyInto added in v0.8.0

func (in *PrivateEndpointSpec) DeepCopyInto(out *PrivateEndpointSpec)

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

type ProcessArgs added in v1.0.0

type ProcessArgs struct {
	DefaultReadConcern               string `json:"defaultReadConcern,omitempty"`
	DefaultWriteConcern              string `json:"defaultWriteConcern,omitempty"`
	MinimumEnabledTLSProtocol        string `json:"minimumEnabledTlsProtocol,omitempty"`
	FailIndexKeyTooLong              *bool  `json:"failIndexKeyTooLong,omitempty"`
	JavascriptEnabled                *bool  `json:"javascriptEnabled,omitempty"`
	NoTableScan                      *bool  `json:"noTableScan,omitempty"`
	OplogSizeMB                      *int64 `json:"oplogSizeMB,omitempty"`
	SampleSizeBIConnector            *int64 `json:"sampleSizeBIConnector,omitempty"`
	SampleRefreshIntervalBIConnector *int64 `json:"sampleRefreshIntervalBIConnector,omitempty"`
	OplogMinRetentionHours           string `json:"oplogMinRetentionHours,omitempty"`
}

func (*ProcessArgs) DeepCopy added in v1.0.0

func (in *ProcessArgs) DeepCopy() *ProcessArgs

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

func (*ProcessArgs) DeepCopyInto added in v1.0.0

func (in *ProcessArgs) DeepCopyInto(out *ProcessArgs)

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

func (ProcessArgs) IsEqual added in v1.0.0

func (specArgs ProcessArgs) IsEqual(newArgs interface{}) bool

func (ProcessArgs) ToAtlas added in v1.4.0

func (specArgs ProcessArgs) ToAtlas() (*mongodbatlas.ProcessArgs, error)

type ProjectSettings added in v1.4.0

type ProjectSettings struct {
	IsCollectDatabaseSpecificsStatisticsEnabled *bool `json:"isCollectDatabaseSpecificsStatisticsEnabled,omitempty"`
	IsDataExplorerEnabled                       *bool `json:"isDataExplorerEnabled,omitempty"`
	IsExtendedStorageSizesEnabled               *bool `json:"isExtendedStorageSizesEnabled,omitempty"`
	IsPerformanceAdvisorEnabled                 *bool `json:"isPerformanceAdvisorEnabled,omitempty"`
	IsRealtimePerformancePanelEnabled           *bool `json:"isRealtimePerformancePanelEnabled,omitempty"`
	IsSchemaAdvisorEnabled                      *bool `json:"isSchemaAdvisorEnabled,omitempty"`
}

func (*ProjectSettings) DeepCopy added in v1.4.0

func (in *ProjectSettings) DeepCopy() *ProjectSettings

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

func (*ProjectSettings) DeepCopyInto added in v1.4.0

func (in *ProjectSettings) DeepCopyInto(out *ProjectSettings)

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

func (ProjectSettings) ToAtlas added in v1.4.0

type ProviderSettingsSpec

type ProviderSettingsSpec struct {
	// Cloud service provider on which the host for a multi-tenant deployment is provisioned.
	// This setting only works when "providerSetting.providerName" : "TENANT" and "providerSetting.instanceSizeName" : M2 or M5.
	// +kubebuilder:validation:Enum=AWS;GCP;AZURE
	// +optional
	BackingProviderName string `json:"backingProviderName,omitempty"`

	// Disk IOPS setting for AWS storage.
	// Set only if you selected AWS as your cloud service provider.
	// +optional
	DiskIOPS *int64 `json:"diskIOPS,omitempty"`

	// Type of disk if you selected Azure as your cloud service provider.
	// +optional
	DiskTypeName string `json:"diskTypeName,omitempty"`

	// Flag that indicates whether the Amazon EBS encryption feature encrypts the host's root volume for both data at rest within the volume and for data moving between the volume and the deployment.
	// +optional
	EncryptEBSVolume *bool `json:"encryptEBSVolume,omitempty"`

	// Atlas provides different deployment tiers, each with a default storage capacity and RAM size. The deployment you select is used for all the data-bearing hosts in your deployment tier.
	// +optional
	InstanceSizeName string `json:"instanceSizeName,omitempty"`

	// Cloud service provider on which Atlas provisions the hosts.
	// +kubebuilder:validation:Enum=AWS;GCP;AZURE;TENANT;SERVERLESS
	ProviderName provider.ProviderName `json:"providerName"`

	// Physical location of your MongoDB deployment.
	// The region you choose can affect network latency for clients accessing your databases.
	// +optional
	RegionName string `json:"regionName,omitempty"`

	// Disk IOPS setting for AWS storage.
	// Set only if you selected AWS as your cloud service provider.
	// +kubebuilder:validation:Enum=STANDARD;PROVISIONED
	VolumeType string `json:"volumeType,omitempty"`

	// Range of instance sizes to which your deployment can scale.
	AutoScaling *AutoScalingSpec `json:"autoScaling,omitempty"`
}

ProviderSettingsSpec configuration for the provisioned servers on which MongoDB runs. The available options are specific to the cloud service provider.

func (*ProviderSettingsSpec) DeepCopy

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

func (*ProviderSettingsSpec) DeepCopyInto

func (in *ProviderSettingsSpec) DeepCopyInto(out *ProviderSettingsSpec)

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

type RegionsConfig

type RegionsConfig struct {
	// The number of analytics nodes for Atlas to deploy to the region.
	// Analytics nodes are useful for handling analytic data such as reporting queries from BI Connector for Atlas.
	// Analytics nodes are read-only, and can never become the primary.
	// If you do not specify this option, no analytics nodes are deployed to the region.
	// +optional
	AnalyticsNodes *int64 `json:"analyticsNodes,omitempty"`

	// Number of electable nodes for Atlas to deploy to the region.
	// Electable nodes can become the primary and can facilitate local reads.
	// +optional
	ElectableNodes *int64 `json:"electableNodes,omitempty"`

	// Election priority of the region.
	// For regions with only replicationSpecs[n].regionsConfig.<region>.readOnlyNodes, set this value to 0.
	// +optional
	Priority *int64 `json:"priority,omitempty"`

	// Number of read-only nodes for Atlas to deploy to the region.
	// Read-only nodes can never become the primary, but can facilitate local-reads.
	// +optional
	ReadOnlyNodes *int64 `json:"readOnlyNodes,omitempty"`
}

RegionsConfig describes the region’s priority in elections and the number and type of MongoDB nodes Atlas deploys to the region.

func (*RegionsConfig) DeepCopy

func (in *RegionsConfig) DeepCopy() *RegionsConfig

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

func (*RegionsConfig) DeepCopyInto

func (in *RegionsConfig) DeepCopyInto(out *RegionsConfig)

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

type ReplicationSpec

type ReplicationSpec struct {
	// Number of shards to deploy in each specified zone.
	// The default value is 1.
	NumShards *int64 `json:"numShards,omitempty"`

	// Name for the zone in a Global Deployment.
	// Don't provide this value if deploymentType is not GEOSHARDED.
	// +optional
	ZoneName string `json:"zoneName,omitempty"`

	// Configuration for a region.
	// Each regionsConfig object describes the region's priority in elections and the number and type of MongoDB nodes that Atlas deploys to the region.
	// +optional
	RegionsConfig map[string]RegionsConfig `json:"regionsConfig,omitempty"`
}

ReplicationSpec represents a configuration for deployment regions

func (*ReplicationSpec) DeepCopy

func (in *ReplicationSpec) DeepCopy() *ReplicationSpec

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

func (*ReplicationSpec) DeepCopyInto

func (in *ReplicationSpec) DeepCopyInto(out *ReplicationSpec)

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

type Resource added in v1.4.1

type Resource struct {
	// Flag that indicates whether to grant the action on the cluster resource. If true, MongoDB Cloud ignores Database and Collection parameters.
	Cluster *bool `json:"cluster,omitempty"`
	// Human-readable label that identifies the database on which you grant the action to one MongoDB user.
	Database *string `json:"database,omitempty"`
	// Human-readable label that identifies the collection on which you grant the action to one MongoDB user.
	Collection *string `json:"collection,omitempty"`
}

func (*Resource) DeepCopy added in v1.4.1

func (in *Resource) DeepCopy() *Resource

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

func (*Resource) DeepCopyInto added in v1.4.1

func (in *Resource) DeepCopyInto(out *Resource)

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

type Role added in v1.4.1

type Role struct {
	// Human-readable label that identifies the role inherited.
	Name string `json:"name"`
	// Human-readable label that identifies the database on which someone grants the action to one MongoDB user.
	Database string `json:"database"`
}

func (*Role) DeepCopy added in v1.4.1

func (in *Role) DeepCopy() *Role

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

func (*Role) DeepCopyInto added in v1.4.1

func (in *Role) DeepCopyInto(out *Role)

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

type RoleAssignment added in v1.9.0

type RoleAssignment struct {
	// The Atlas project in the same org in which the role should be given.
	ProjectName string `json:"projectName,omitempty"`
	// The role in Atlas that should be given to group members.
	// +kubebuilder:validation:Enum=ORG_MEMBER;ORG_READ_ONLY;ORG_BILLING_ADMIN;ORG_GROUP_CREATOR;ORG_OWNER;ORG_BILLING_READ_ONLY;ORG_TEAM_MEMBERS_ADMIN;GROUP_AUTOMATION_ADMIN;GROUP_BACKUP_ADMIN;GROUP_MONITORING_ADMIN;GROUP_OWNER;GROUP_READ_ONLY;GROUP_USER_ADMIN;GROUP_BILLING_ADMIN;GROUP_DATA_ACCESS_ADMIN;GROUP_DATA_ACCESS_READ_ONLY;GROUP_DATA_ACCESS_READ_WRITE;GROUP_CHARTS_ADMIN;GROUP_CLUSTER_MANAGER;GROUP_SEARCH_INDEX_EDITOR
	Role string `json:"role,omitempty"`
}

func (*RoleAssignment) DeepCopy added in v1.9.0

func (in *RoleAssignment) DeepCopy() *RoleAssignment

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

func (*RoleAssignment) DeepCopyInto added in v1.9.0

func (in *RoleAssignment) DeepCopyInto(out *RoleAssignment)

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

type RoleMapping added in v1.9.0

type RoleMapping struct {
	// ExternalGroupName is the name of the IDP group to which this mapping applies.
	// +kubebuilder:validation:MinLength:=1
	// +kubebuilder:validation:MaxLength:=200
	ExternalGroupName string `json:"externalGroupName,omitempty"`
	// RoleAssignments define the roles within projects that should be given to members of the group.
	RoleAssignments []RoleAssignment `json:"roleAssignments,omitempty"`
}

RoleMapping maps an external group from an identity provider to roles within Atlas.

func (*RoleMapping) DeepCopy added in v1.9.0

func (in *RoleMapping) DeepCopy() *RoleMapping

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

func (*RoleMapping) DeepCopyInto added in v1.9.0

func (in *RoleMapping) DeepCopyInto(out *RoleMapping)

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

type RoleSpec

type RoleSpec struct {
	// RoleName is a name of the role. This value can either be a built-in role or a custom role.
	RoleName string `json:"roleName"`

	// DatabaseName is a database on which the user has the specified role. A role on the admin database can include
	// privileges that apply to the other databases.
	DatabaseName string `json:"databaseName"`

	// CollectionName is a collection for which the role applies.
	CollectionName string `json:"collectionName,omitempty"`
}

RoleSpec allows the user to perform particular actions on the specified database. A role on the admin database can include privileges that apply to the other databases as well.

func (*RoleSpec) DeepCopy

func (in *RoleSpec) DeepCopy() *RoleSpec

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

func (*RoleSpec) DeepCopyInto

func (in *RoleSpec) DeepCopyInto(out *RoleSpec)

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

type ScopeSpec

type ScopeSpec struct {
	// Name is a name of the cluster or Atlas Data Lake that the user has access to.
	Name string `json:"name"`
	// Type is a type of resource that the user has access to.
	// +kubebuilder:validation:Enum=CLUSTER;DATA_LAKE
	Type ScopeType `json:"type"`
}

ScopeSpec if present a database user only have access to the indicated resource (Cluster or Atlas Data Lake) if none is given then it has access to all. It's highly recommended to restrict the access of the database users only to a limited set of resources.

func (*ScopeSpec) DeepCopy

func (in *ScopeSpec) DeepCopy() *ScopeSpec

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

func (*ScopeSpec) DeepCopyInto

func (in *ScopeSpec) DeepCopyInto(out *ScopeSpec)

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

type ScopeType

type ScopeType string
const (
	DeploymentScopeType ScopeType = "CLUSTER" // todo: potentially rename to "DEPLOYMENT"
	DataLakeScopeType   ScopeType = "DATA_LAKE"
)

type ServerlessBackupOptions added in v1.9.0

type ServerlessBackupOptions struct {
	// ServerlessContinuousBackupEnabled
	// +kubebuilder:default:=true
	ServerlessContinuousBackupEnabled bool `json:"serverlessContinuousBackupEnabled,omitempty"`
}

func (*ServerlessBackupOptions) DeepCopy added in v1.9.0

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

func (*ServerlessBackupOptions) DeepCopyInto added in v1.9.0

func (in *ServerlessBackupOptions) DeepCopyInto(out *ServerlessBackupOptions)

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

type ServerlessPrivateEndpoint added in v1.5.0

type ServerlessPrivateEndpoint struct {
	// Name is the name of the Serverless PrivateLink Service. Should be unique.
	Name string `json:"name,omitempty"`
	// CloudProviderEndpointID is the identifier of the cloud provider endpoint.
	CloudProviderEndpointID string `json:"cloudProviderEndpointID,omitempty"`
	// PrivateEndpointIPAddress is the IPv4 address of the private endpoint in your Azure VNet that someone added to this private endpoint service.
	PrivateEndpointIPAddress string `json:"privateEndpointIpAddress,omitempty"`
}

func (*ServerlessPrivateEndpoint) DeepCopy added in v1.5.0

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

func (*ServerlessPrivateEndpoint) DeepCopyInto added in v1.5.0

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

func (*ServerlessPrivateEndpoint) IsInitialState added in v1.5.0

func (in *ServerlessPrivateEndpoint) IsInitialState() bool

IsInitialState pe initially should be empty except for comment

func (*ServerlessPrivateEndpoint) ToAtlas added in v1.5.0

type ServerlessSpec added in v1.0.0

type ServerlessSpec struct {
	// Name of the serverless deployment as it appears in Atlas.
	// After Atlas creates the deployment, you can't change its name.
	// Can only contain ASCII letters, numbers, and hyphens.
	// +kubebuilder:validation:Pattern:=^[a-zA-Z0-9][a-zA-Z0-9-]*$
	Name string `json:"name"`
	// Configuration for the provisioned hosts on which MongoDB runs. The available options are specific to the cloud service provider.
	ProviderSettings *ProviderSettingsSpec       `json:"providerSettings"`
	PrivateEndpoints []ServerlessPrivateEndpoint `json:"privateEndpoints,omitempty"`
	// Key-value pairs for resource tagging.
	// +kubebuilder:validation:MaxItems=50
	// +optional
	Tags []*TagSpec `json:"tags,omitempty"`

	// Serverless Backup Options
	BackupOptions ServerlessBackupOptions `json:"backupOptions,omitempty"`

	// TerminationProtectionEnabled flag
	// +kubebuilder:default:=false
	TerminationProtectionEnabled bool `json:"terminationProtectionEnabled,omitempty"`
}

ServerlessSpec defines the desired state of Atlas Serverless Instance

func (*ServerlessSpec) DeepCopy added in v1.0.0

func (in *ServerlessSpec) DeepCopy() *ServerlessSpec

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

func (*ServerlessSpec) DeepCopyInto added in v1.0.0

func (in *ServerlessSpec) DeepCopyInto(out *ServerlessSpec)

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

func (*ServerlessSpec) ToAtlas added in v1.8.2

func (s *ServerlessSpec) ToAtlas() (*mongodbatlas.Cluster, error)

ToAtlas converts the ServerlessSpec to native Atlas client Cluster format.

type Specs added in v0.8.0

type Specs struct {
	DiskIOPS      *int64 `json:"diskIOPS,omitempty"`
	EbsVolumeType string `json:"ebsVolumeType,omitempty"`
	InstanceSize  string `json:"instanceSize,omitempty"`
	NodeCount     *int   `json:"nodeCount,omitempty"`
}

func (*Specs) DeepCopy added in v0.8.0

func (in *Specs) DeepCopy() *Specs

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

func (*Specs) DeepCopyInto added in v0.8.0

func (in *Specs) DeepCopyInto(out *Specs)

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

type Storage added in v1.8.0

type Storage struct {
	Databases []Database `json:"databases,omitempty"`
	Stores    []Store    `json:"stores,omitempty"`
}

func (*Storage) DeepCopy added in v1.8.0

func (in *Storage) DeepCopy() *Storage

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

func (*Storage) DeepCopyInto added in v1.8.0

func (in *Storage) DeepCopyInto(out *Storage)

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

type Store added in v1.8.0

type Store struct {
	Name                     string   `json:"name,omitempty"`
	Provider                 string   `json:"provider,omitempty"`
	AdditionalStorageClasses []string `json:"additionalStorageClasses,omitempty"`
	Bucket                   string   `json:"bucket,omitempty"`
	Delimiter                string   `json:"delimiter,omitempty"`
	IncludeTags              bool     `json:"includeTags,omitempty"`
	Prefix                   string   `json:"prefix,omitempty"`
	Public                   bool     `json:"public,omitempty"`
	Region                   string   `json:"region,omitempty"`
}

func (*Store) DeepCopy added in v1.8.0

func (in *Store) DeepCopy() *Store

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

func (*Store) DeepCopyInto added in v1.8.0

func (in *Store) DeepCopyInto(out *Store)

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

type TagSpec added in v1.9.0

type TagSpec struct {
	// +kubebuilder:validation:MaxLength:=255
	// +kubebuilder:validation:MinLength:=1
	// +kubebuilder:validation:Pattern:=^[a-zA-Z0-9][a-zA-Z0-9 @_.+`;`-]*$
	Key string `json:"key"`
	// +kubebuilder:validation:MaxLength:=255
	// +kubebuilder:validation:MinLength:=1
	// +kubebuilder:validation:Pattern:=^[a-zA-Z0-9][a-zA-Z0-9@_.+`;`-]*$
	Value string `json:"value"`
}

TagSpec holds a key-value pair for resource tagging on this deployment.

func (*TagSpec) DeepCopy added in v1.9.0

func (in *TagSpec) DeepCopy() *TagSpec

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

func (*TagSpec) DeepCopyInto added in v1.9.0

func (in *TagSpec) DeepCopyInto(out *TagSpec)

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

type Team added in v1.5.0

type Team struct {
	// Reference to the team which will assigned to the project
	TeamRef common.ResourceRefNamespaced `json:"teamRef"`
	// +kubebuilder:validation:MinItems=1
	// Roles the users of the team has over the project
	Roles []TeamRole `json:"roles"`
}

func (*Team) DeepCopy added in v1.5.0

func (in *Team) DeepCopy() *Team

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

func (*Team) DeepCopyInto added in v1.5.0

func (in *Team) DeepCopyInto(out *Team)

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

func (*Team) ToAtlas added in v1.5.0

func (in *Team) ToAtlas(teamID string) *mongodbatlas.ProjectTeam

type TeamRole added in v1.5.0

type TeamRole string
const (
	TeamRoleOwner               TeamRole = "GROUP_OWNER"
	TeamRoleClusterManager      TeamRole = "GROUP_CLUSTER_MANAGER"
	TeamRoleDataAccessAdmin     TeamRole = "GROUP_DATA_ACCESS_ADMIN"
	TeamRoleDataAccessReadWrite TeamRole = "GROUP_DATA_ACCESS_READ_WRITE"
	TeamRoleDataAccessReadOnly  TeamRole = "GROUP_DATA_ACCESS_READ_ONLY"
	TeamRoleReadOnly            TeamRole = "GROUP_READ_ONLY"
)

type TeamSpec added in v1.5.0

type TeamSpec struct {
	// The name of the team you want to create.
	Name string `json:"name"`
	// Valid email addresses of users to add to the new team
	Usernames []TeamUser `json:"usernames"`
}

TeamSpec defines the desired state of a Team in Atlas

func (*TeamSpec) DeepCopy added in v1.5.0

func (in *TeamSpec) DeepCopy() *TeamSpec

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

func (*TeamSpec) DeepCopyInto added in v1.5.0

func (in *TeamSpec) DeepCopyInto(out *TeamSpec)

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

type TeamUser added in v1.5.0

type TeamUser string

type Threshold added in v1.4.0

type Threshold struct {
	// Operator to apply when checking the current metric value against the threshold value. it accepts the following values: GREATER_THAN, LESS_THAN
	Operator string `json:"operator,omitempty"`
	// The units for the threshold value
	Units string `json:"units,omitempty"`
	// Threshold value outside which an alert will be triggered.
	Threshold string `json:"threshold,omitempty"`
}

func (*Threshold) DeepCopy added in v1.4.0

func (in *Threshold) DeepCopy() *Threshold

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

func (*Threshold) DeepCopyInto added in v1.4.0

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

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

func (*Threshold) IsEqual added in v1.4.0

func (in *Threshold) IsEqual(threshold *mongodbatlas.Threshold) bool

func (*Threshold) ToAtlas added in v1.4.0

func (in *Threshold) ToAtlas() (*mongodbatlas.Threshold, error)

type View added in v1.8.0

type View struct {
	Name     string `json:"name,omitempty"`
	Pipeline string `json:"pipeline,omitempty"`
	Source   string `json:"source,omitempty"`
}

func (*View) DeepCopy added in v1.8.0

func (in *View) DeepCopy() *View

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

func (*View) DeepCopyInto added in v1.8.0

func (in *View) DeepCopyInto(out *View)

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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