v1

package
v2.2.2 Latest Latest
Warning

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

Go to latest
Published: Apr 24, 2024 License: Apache-2.0 Imports: 25 Imported by: 0

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

func LessAD(a, b interface{}) bool

Types

type AWSProviderConfig

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

func (*AWSProviderConfig) DeepCopy

func (in *AWSProviderConfig) DeepCopy() *AWSProviderConfig

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

func (*AWSProviderConfig) DeepCopyInto

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

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

func (in *Action) DeepCopy() *Action

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

func (*Action) DeepCopyInto

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

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

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

func (*AdvancedAutoScalingSpec) DeepCopyInto

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

type AdvancedDeploymentSpec struct {
	// Applicable only for M10+ deployments.
	// Flag that indicates if the deployment uses Cloud Backups for backups.
	// +optional
	BackupEnabled *bool `json:"backupEnabled,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 string `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"`
	// 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"`
	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:Required
	// +kubebuilder:validation:Pattern:=^[a-zA-Z0-9][a-zA-Z0-9-]*$
	Name string `json:"name,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"`
	// Configuration for deployment regions.
	// +optional
	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"`
	// Flag that indicates whether termination protection is enabled on the cluster. If set to true, MongoDB Cloud won't delete the cluster. If set to false, MongoDB Cloud will delete the cluster.
	// +kubebuilder:default:=false
	TerminationProtectionEnabled bool `json:"terminationProtectionEnabled,omitempty"`
}

func (*AdvancedDeploymentSpec) DeepCopy

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

func (*AdvancedDeploymentSpec) DeepCopyInto

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

ToAtlas converts the AdvancedDeploymentSpec to native Atlas client ToAtlas format.

type AdvancedRegionConfig

type AdvancedRegionConfig struct {
	AnalyticsSpecs *Specs                   `json:"analyticsSpecs,omitempty"`
	ElectableSpecs *Specs                   `json:"electableSpecs,omitempty"`
	ReadOnlySpecs  *Specs                   `json:"readOnlySpecs,omitempty"`
	AutoScaling    *AdvancedAutoScalingSpec `json:"autoScaling,omitempty"`
	// Cloud service provider on which the host for a multi-tenant deployment is provisioned.
	// This setting only works when "providerName" : "TENANT" and "providerSetting.instanceSizeName" : M2 or M5.
	// Otherwise it should be equal to "providerName" value
	// +kubebuilder:validation:Enum=AWS;GCP;AZURE
	BackingProviderName string `json:"backingProviderName,omitempty"`
	// Precedence is given to this region when a primary election occurs.
	// If your regionConfigs has only readOnlySpecs, analyticsSpecs, or both, set this value to 0.
	// If you have multiple regionConfigs objects (your cluster is multi-region or multi-cloud), they must have priorities in descending order.
	// The highest priority is 7
	Priority *int `json:"priority,omitempty"`
	// +kubebuilder:validation:Enum=AWS;GCP;AZURE;TENANT;SERVERLESS
	ProviderName string `json:"providerName,omitempty"`
	// Physical location of your MongoDB deployment.
	// The region you choose can affect network latency for clients accessing your databases.
	RegionName string `json:"regionName,omitempty"`
}

func (*AdvancedRegionConfig) DeepCopy

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

func (*AdvancedRegionConfig) DeepCopyInto

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

type AdvancedReplicationSpec struct {
	// Positive integer that specifies the number of shards to deploy in each specified zone.
	// If you set this value to 1 and clusterType is SHARDED, MongoDB Cloud deploys a single-shard sharded cluster.
	// Don't create a sharded cluster with a single shard for production environments.
	// Single-shard sharded clusters don't provide the same benefits as multi-shard configurations
	NumShards int `json:"numShards,omitempty"`
	// Human-readable label that identifies the zone in a Global Cluster.
	ZoneName string `json:"zoneName,omitempty"`
	// Hardware specifications for nodes set for a given region.
	// Each regionConfigs object describes the region's priority in elections and the number and type of MongoDB nodes that MongoDB Cloud deploys to the region.
	// Each regionConfigs object must have either an analyticsSpecs object, electableSpecs object, or readOnlySpecs object.
	// Tenant clusters only require electableSpecs. Dedicated clusters can specify any of these specifications, but must have at least one electableSpecs object within a replicationSpec.
	// Every hardware specification must use the same instanceSize.
	RegionConfigs []*AdvancedRegionConfig `json:"regionConfigs,omitempty"`
}

func (*AdvancedReplicationSpec) DeepCopy

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

func (*AdvancedReplicationSpec) DeepCopyInto

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

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

func (in *AlertConfiguration) DeepCopy() *AlertConfiguration

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

func (*AlertConfiguration) DeepCopyInto

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

func (in *AlertConfiguration) ToAtlas() (*admin.GroupAlertsConfig, error)

type AtlasBackupExportSpec

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

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

func (*AtlasBackupExportSpec) DeepCopyInto

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

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

func (in *AtlasBackupPolicy) DeepCopy() *AtlasBackupPolicy

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

func (*AtlasBackupPolicy) DeepCopyInto

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

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

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

func (*AtlasBackupPolicy) GetStatus

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

func (*AtlasBackupPolicy) UpdateStatus

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

type AtlasBackupPolicyItem

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;yearly
	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;years
	RetentionUnit string `json:"retentionUnit"`

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

func (*AtlasBackupPolicyItem) DeepCopy

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

func (*AtlasBackupPolicyItem) DeepCopyInto

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

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

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

func (*AtlasBackupPolicyList) DeepCopyInto

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

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

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

type AtlasBackupPolicySpec

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

AtlasBackupPolicySpec defines the desired state of AtlasBackupPolicy

func (*AtlasBackupPolicySpec) DeepCopy

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

func (*AtlasBackupPolicySpec) DeepCopyInto

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

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

func (in *AtlasBackupSchedule) DeepCopy() *AtlasBackupSchedule

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

func (*AtlasBackupSchedule) DeepCopyInto

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

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

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

func (*AtlasBackupSchedule) GetStatus

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

func (*AtlasBackupSchedule) ToAtlas

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

func (*AtlasBackupSchedule) UpdateStatus

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

type AtlasBackupScheduleList

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

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

func (*AtlasBackupScheduleList) DeepCopyInto

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

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

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

type AtlasBackupScheduleSpec

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

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

func (*AtlasBackupScheduleSpec) DeepCopyInto

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

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

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

func (AtlasDataFederation) AtlasProjectObjectKey

func (c AtlasDataFederation) AtlasProjectObjectKey() client.ObjectKey

func (*AtlasDataFederation) DeepCopy

func (in *AtlasDataFederation) DeepCopy() *AtlasDataFederation

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

func (*AtlasDataFederation) DeepCopyInto

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

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

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

func (*AtlasDataFederation) GetStatus

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

func (*AtlasDataFederation) ToAtlas

func (*AtlasDataFederation) UpdateStatus

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

func (*AtlasDataFederation) WithAWSCloudProviderConfig

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

func (*AtlasDataFederation) WithAnnotations

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

func (*AtlasDataFederation) WithDataProcessingRegion

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

func (*AtlasDataFederation) WithPrivateEndpoint

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

func (*AtlasDataFederation) WithStorage

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

type AtlasDataFederationList

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

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

func (*AtlasDataFederationList) DeepCopyInto

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

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

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

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

func (*AtlasDatabaseUser) ReadPassword

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

func (AtlasDatabaseUser) ToAtlas

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

func (AtlasDatabaseUser) ToAtlasSDK added in v2.1.0

func (p AtlasDatabaseUser) ToAtlasSDK(ctx context.Context, kubeClient client.Client) (*admin.CloudDatabaseUser, error)

ToAtlasSDK is clone of ToAtlas used temporarily for test migrations

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

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
	// Human-readable label that represents the user that authenticates to MongoDB. The format of this label depends on the method of authentication:
	// In case of AWS IAM: the value should be AWS ARN for the IAM User/Role;
	// In case of OIDC: the value should be the Identity Provider ID;
	// In case of Plain text auth: the value can be anything
	// +kubebuilder:validation:MaxLength:=1024
	Username string `json:"username"`

	// Human-readable label that indicates whether the new database Username
	// with OIDC federated authentication.
	// To create a federated authentication user, specify the value
	// of IDP_GROUP for this field
	// +kubebuilder:default:=NONE
	// +kubebuilder:validation:Enum:=NONE;IDP_GROUP
	// +optional
	OIDCAuthType string `json:"oidcAuthType,omitempty"`

	// Human-readable label that indicates whether the new database
	// user authenticates with the Amazon Web Services (AWS)
	// Identity and Access Management (IAM) credentials associated with
	// the user or the user's role
	// +kubebuilder:default:=NONE
	// +kubebuilder:validation:Enum:=NONE;USER;ROLE
	// +optional
	AWSIAMType string `json:"awsIamType,omitempty"`

	// 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

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

func DefaultAWSDeployment(namespace, projectName string) *AtlasDeployment

func DefaultAwsAdvancedDeployment

func DefaultAwsAdvancedDeployment(namespace, projectName string) *AtlasDeployment

func DefaultAzureDeployment

func DefaultAzureDeployment(namespace, projectName string) *AtlasDeployment

func DefaultGCPDeployment

func DefaultGCPDeployment(namespace, projectName string) *AtlasDeployment

func NewDefaultAWSServerlessInstance

func NewDefaultAWSServerlessInstance(namespace, projectName string) *AtlasDeployment

func NewDeployment

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

func (*AtlasDeployment) AtlasName

func (c *AtlasDeployment) AtlasName() string

func (AtlasDeployment) AtlasProjectObjectKey

func (c AtlasDeployment) AtlasProjectObjectKey() client.ObjectKey

func (*AtlasDeployment) DeepCopy

func (in *AtlasDeployment) DeepCopy() *AtlasDeployment

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

func (*AtlasDeployment) DeepCopyInto

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

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

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

func (*AtlasDeployment) GetDeploymentName

func (c *AtlasDeployment) GetDeploymentName() string

func (*AtlasDeployment) GetReplicationSetID

func (c *AtlasDeployment) GetReplicationSetID() string

func (*AtlasDeployment) GetStatus

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

func (*AtlasDeployment) IsAdvancedDeployment

func (c *AtlasDeployment) IsAdvancedDeployment() bool

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

func (*AtlasDeployment) IsServerless

func (c *AtlasDeployment) IsServerless() bool

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

func (*AtlasDeployment) Lightweight

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

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

func (*AtlasDeployment) WithAtlasName

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

func (*AtlasDeployment) WithAutoscalingDisabled

func (c *AtlasDeployment) WithAutoscalingDisabled() *AtlasDeployment

func (*AtlasDeployment) WithBackingProvider

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

func (*AtlasDeployment) WithBackupScheduleRef

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

func (*AtlasDeployment) WithDiskSizeGB

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

func (*AtlasDeployment) WithInstanceSize

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

func (*AtlasDeployment) WithName

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

func (*AtlasDeployment) WithProjectName

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

func (*AtlasDeployment) WithProviderName

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

func (*AtlasDeployment) WithRegionName

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

type AtlasDeploymentList

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

func (in *AtlasDeploymentList) DeepCopy() *AtlasDeploymentList

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

func (*AtlasDeploymentList) DeepCopyInto

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

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

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

type AtlasDeploymentSpec

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

	// Configuration for the advanced (v1.5) deployment API https://www.mongodb.com/docs/atlas/reference/api/clusters/
	// +optional
	DeploymentSpec *AdvancedDeploymentSpec `json:"deploymentSpec,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

func (in *AtlasDeploymentSpec) DeepCopy() *AtlasDeploymentSpec

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

func (*AtlasDeploymentSpec) DeepCopyInto

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

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

Deployment converts the Spec to native Atlas client format.

type AtlasFederatedAuth

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

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

func (*AtlasFederatedAuth) DeepCopy

func (in *AtlasFederatedAuth) DeepCopy() *AtlasFederatedAuth

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

func (*AtlasFederatedAuth) DeepCopyInto

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

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

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

func (*AtlasFederatedAuth) GetStatus

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

func (*AtlasFederatedAuth) UpdateStatus

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

type AtlasFederatedAuthList

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

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

func (*AtlasFederatedAuthList) DeepCopyInto

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

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

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

type AtlasFederatedAuthSpec

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

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

func (*AtlasFederatedAuthSpec) DeepCopyInto

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

func (f *AtlasFederatedAuthSpec) ToAtlas(orgID, idpID string, projectNameToID map[string]string) (*admin.ConnectedOrgConfig, 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

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

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

func (*AtlasProject) WithIPAccessList

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

func (*AtlasProject) WithLabels

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

func (*AtlasProject) WithMaintenanceWindow

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

func (*AtlasProject) WithName

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

func (*AtlasProject) X509SecretObjectKey

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.
	// Deprecated: This configuration was deprecated in favor of CloudProviderIntegrations
	CloudProviderAccessRoles []CloudProviderAccessRole `json:"cloudProviderAccessRoles,omitempty"`

	// CloudProviderIntegrations is a list of Cloud Provider Integration configured for the current Project.
	CloudProviderIntegrations []CloudProviderIntegration `json:"cloudProviderIntegrations,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

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

type AtlasTeam

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

func (in *AtlasTeam) DeepCopy() *AtlasTeam

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

func (*AtlasTeam) DeepCopyInto

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

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

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

func (*AtlasTeam) GetStatus

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

func (*AtlasTeam) Identifier

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

func (*AtlasTeam) ToAtlas

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

func (*AtlasTeam) UpdateStatus

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

type AtlasTeamList

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

func (in *AtlasTeamList) DeepCopy() *AtlasTeamList

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

func (*AtlasTeamList) DeepCopyInto

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

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

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

type Auditing

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

func (in *Auditing) DeepCopy() *Auditing

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

func (*Auditing) DeepCopyInto

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

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

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.

	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

	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, CustomerMasterKeyID and RoleID fields
	// +optional
	SecretRef common.ResourceRefNamespaced `json:"secretRef,omitempty"`
	// contains filtered or unexported fields
}

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

func (AwsKms) CustomerMasterKeyID

func (a AwsKms) CustomerMasterKeyID() string

func (*AwsKms) DeepCopy

func (in *AwsKms) DeepCopy() *AwsKms

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

func (*AwsKms) DeepCopyInto

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) RoleID

func (a AwsKms) RoleID() string

func (*AwsKms) SetSecrets

func (a *AwsKms) SetSecrets(customerMasterKeyID, roleID string)

func (AwsKms) ToAtlas

func (a AwsKms) ToAtlas() mongodbatlas.AwsKms

type AzureKeyVault

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

	ResourceGroupName string `json:"resourceGroupName,omitempty"` // The name of the Azure Resource group that contains an Azure Key Vault.

	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"`
	// contains filtered or unexported fields
}

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

func (*AzureKeyVault) DeepCopy

func (in *AzureKeyVault) DeepCopy() *AzureKeyVault

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

func (*AzureKeyVault) DeepCopyInto

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) KeyIdentifier

func (az AzureKeyVault) KeyIdentifier() string

func (AzureKeyVault) KeyVaultName

func (az AzureKeyVault) KeyVaultName() string

func (AzureKeyVault) Secret

func (az AzureKeyVault) Secret() string

func (*AzureKeyVault) SetSecrets

func (az *AzureKeyVault) SetSecrets(subscriptionID, keyVaultName, keyIdentifier, secret string)

func (AzureKeyVault) SubscriptionID

func (az AzureKeyVault) SubscriptionID() string

func (AzureKeyVault) ToAtlas

type BiConnector

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

func (in *BiConnector) DeepCopy() *BiConnector

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

func (*BiConnector) DeepCopyInto

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

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"`
}

CloudProviderAccessRole define an integration to a cloud provider Deprecated: This type is deprecated in favor of CloudProviderIntegration

func (*CloudProviderAccessRole) DeepCopy

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

func (*CloudProviderAccessRole) DeepCopyInto

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

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

func (*CloudProviderConfig) DeepCopy

func (in *CloudProviderConfig) DeepCopy() *CloudProviderConfig

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

func (*CloudProviderConfig) DeepCopyInto

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

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

type CloudProviderIntegration added in v2.1.0

type CloudProviderIntegration 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"`
}

CloudProviderIntegration define an integration to a cloud provider

func (*CloudProviderIntegration) DeepCopy added in v2.1.0

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

func (*CloudProviderIntegration) DeepCopyInto added in v2.1.0

func (in *CloudProviderIntegration) DeepCopyInto(out *CloudProviderIntegration)

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

type Collection

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

func (*Collection) DeepCopy

func (in *Collection) DeepCopy() *Collection

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

func (*Collection) DeepCopyInto

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

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

func (in *ConnectionStrings) DeepCopy() *ConnectionStrings

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

func (*ConnectionStrings) DeepCopyInto

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

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"`
	// 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

func (in *CopySetting) DeepCopy() *CopySetting

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

func (*CopySetting) DeepCopyInto

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

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

func (in *CustomRole) DeepCopy() *CustomRole

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

func (*CustomRole) DeepCopyInto

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

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

type CustomZoneMapping

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

func (*CustomZoneMapping) DeepCopy

func (in *CustomZoneMapping) DeepCopy() *CustomZoneMapping

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

func (*CustomZoneMapping) DeepCopyInto

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

type DataFederationPE

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

func (*DataFederationPE) DeepCopy

func (in *DataFederationPE) DeepCopy() *DataFederationPE

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

func (*DataFederationPE) DeepCopyInto

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

func (pe DataFederationPE) Identifier() interface{}

type DataFederationSpec

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

func (in *DataFederationSpec) DeepCopy() *DataFederationSpec

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

func (*DataFederationSpec) DeepCopyInto

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

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

func (in *DataProcessRegion) DeepCopy() *DataProcessRegion

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

func (*DataProcessRegion) DeepCopyInto

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

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

func (in *DataSource) DeepCopy() *DataSource

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

func (*DataSource) DeepCopyInto

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

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

func (in *Database) DeepCopy() *Database

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

func (*Database) DeepCopyInto

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

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

type DeploymentType

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

type DiskGB

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

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

func (*DiskGB) DeepCopy

func (in *DiskGB) DeepCopy() *DiskGB

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

func (*DiskGB) DeepCopyInto

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

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

func (in *EncryptionAtRest) DeepCopy() *EncryptionAtRest

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

func (*EncryptionAtRest) DeepCopyInto

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

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

type EndpointSpec

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

func (in *EndpointSpec) DeepCopy() *EndpointSpec

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

func (*EndpointSpec) DeepCopyInto

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

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

func (in *GCPEndpoint) DeepCopy() *GCPEndpoint

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

func (*GCPEndpoint) DeepCopyInto

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

type GCPEndpoints []GCPEndpoint

func (GCPEndpoints) ConvertToAtlas

func (endpoints GCPEndpoints) ConvertToAtlas() []admin.CreateGCPForwardingRuleRequest

func (GCPEndpoints) DeepCopy

func (in GCPEndpoints) DeepCopy() GCPEndpoints

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

func (GCPEndpoints) DeepCopyInto

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

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.

	// A reference to as Secret containing the ServiceAccountKey, KeyVersionResourceID fields
	// +optional
	SecretRef common.ResourceRefNamespaced `json:"secretRef,omitempty"`
	// contains filtered or unexported fields
}

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

func (*GoogleCloudKms) DeepCopy

func (in *GoogleCloudKms) DeepCopy() *GoogleCloudKms

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

func (*GoogleCloudKms) DeepCopyInto

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) KeyVersionResourceID

func (g GoogleCloudKms) KeyVersionResourceID() string

func (GoogleCloudKms) ServiceAccountKey

func (g GoogleCloudKms) ServiceAccountKey() string

func (*GoogleCloudKms) SetSecrets

func (g *GoogleCloudKms) SetSecrets(serviceAccountKey, keyVersionResourceID string)

func (GoogleCloudKms) ToAtlas

type ManagedNamespace

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

func (in *ManagedNamespace) DeepCopy() *ManagedNamespace

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

func (*ManagedNamespace) DeepCopyInto

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

type Matcher

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

func (in *Matcher) DeepCopy() *Matcher

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

func (*Matcher) DeepCopyInto

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

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

type MetricThreshold

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

func (in *MetricThreshold) DeepCopy() *MetricThreshold

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

func (*MetricThreshold) DeepCopyInto

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

func (in *MetricThreshold) IsEqual(threshold *admin.ServerlessMetricThreshold) bool

func (*MetricThreshold) ToAtlas

type NetworkPeer

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 NewNetworkPeerFromAtlas added in v2.1.0

func NewNetworkPeerFromAtlas(atlasPeer admin.BaseNetworkPeeringConnectionSettings) *NetworkPeer

NewNetworkPeerFromAtlas creates a network peer based off a network peering connection from Atlas. Note: ContainerRegion and AtlasCIDRBlock are unset as this information is not provided by Atlas for a peering connection.

func (*NetworkPeer) DeepCopy

func (in *NetworkPeer) DeepCopy() *NetworkPeer

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

func (*NetworkPeer) DeepCopyInto

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

func (in *NetworkPeer) GetContainerRegion() string

func (*NetworkPeer) ToAtlas

func (*NetworkPeer) ToAtlasPeer

type Notification

type Notification struct {

	// Secret containing a 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.
	// +optional
	APITokenRef common.ResourceRefNamespaced `json:"apiTokenRef,omitempty"`
	// Slack channel name. Populated for the SLACK notifications type.
	ChannelName string `json:"channelName,omitempty"`

	// Secret containing a Datadog API Key. Found in the Datadog dashboard. Populated for the DATADOG notifications type.
	// +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.
	// +optional
	FlowdockAPITokenRef common.ResourceRefNamespaced `json:"flowdockApiTokenRef,omitempty"`
	// Flowdock flow name 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.
	// +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.
	// +optional
	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"`

	// Secret containing a VictorOps API key and 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.
	// +optional
	VictorOpsSecretRef common.ResourceRefNamespaced `json:"victorOpsSecretRef,omitempty"`
	// The following roles grant privileges within a project.
	Roles []string `json:"roles,omitempty"`
	// contains filtered or unexported fields
}

func (*Notification) DeepCopy

func (in *Notification) DeepCopy() *Notification

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

func (*Notification) DeepCopyInto

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

func (in *Notification) IsEqual(notification admin.AlertsNotificationRootForGroup) bool

func (*Notification) SetAPIToken

func (in *Notification) SetAPIToken(token string)

func (*Notification) SetDatadogAPIKey

func (in *Notification) SetDatadogAPIKey(token string)

func (*Notification) SetFlowdockAPIToken

func (in *Notification) SetFlowdockAPIToken(token string)

func (*Notification) SetOpsGenieAPIKey

func (in *Notification) SetOpsGenieAPIKey(token string)

func (*Notification) SetServiceKey

func (in *Notification) SetServiceKey(token string)

func (*Notification) SetVictorOpsAPIKey

func (in *Notification) SetVictorOpsAPIKey(token string)

func (*Notification) SetVictorOpsRoutingKey

func (in *Notification) SetVictorOpsRoutingKey(token string)

func (*Notification) ToAtlas

type PrivateEndpoint

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

func (in *PrivateEndpoint) DeepCopy() *PrivateEndpoint

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

func (*PrivateEndpoint) DeepCopyInto

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

func (i PrivateEndpoint) Identifier() interface{}

Identifier is required to satisfy "Identifiable" iterface

type PrivateEndpointSpec

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

func (in *PrivateEndpointSpec) DeepCopy() *PrivateEndpointSpec

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

func (*PrivateEndpointSpec) DeepCopyInto

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

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

func (in *ProcessArgs) DeepCopy() *ProcessArgs

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

func (*ProcessArgs) DeepCopyInto

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

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

func (ProcessArgs) ToAtlas

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

type ProjectSettings

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

func (in *ProjectSettings) DeepCopy() *ProjectSettings

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

func (*ProjectSettings) DeepCopyInto

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

type Resource

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

func (in *Resource) DeepCopy() *Resource

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

func (*Resource) DeepCopyInto

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

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

func (in *Role) DeepCopy() *Role

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

func (*Role) DeepCopyInto

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

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

func (in *RoleAssignment) DeepCopy() *RoleAssignment

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

func (*RoleAssignment) DeepCopyInto

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

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

func (in *RoleMapping) DeepCopy() *RoleMapping

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

func (*RoleMapping) DeepCopyInto

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

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

func (*ServerlessBackupOptions) DeepCopy

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

func (*ServerlessBackupOptions) DeepCopyInto

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

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

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

func (*ServerlessPrivateEndpoint) DeepCopyInto

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

func (*ServerlessPrivateEndpoint) IsInitialState

func (in *ServerlessPrivateEndpoint) IsInitialState() bool

IsInitialState pe initially should be empty except for comment

func (*ServerlessPrivateEndpoint) ToAtlas

type ServerlessProviderSettingsSpec added in v2.2.1

type ServerlessProviderSettingsSpec 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"`

	// DEPRECATED FIELD. The value of this field doesn't take any effect. Disk IOPS setting for AWS storage.
	// Set only if you selected AWS as your cloud service provider.
	// +optional
	DiskIOPS *int64 `json:"diskIOPS,omitempty"`

	// DEPRECATED FIELD. The value of this field doesn't take any effect. Type of disk if you selected Azure as your cloud service provider.
	// +optional
	DiskTypeName string `json:"diskTypeName,omitempty"`

	// DEPRECATED FIELD. The value of this field doesn't take any effect. 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"`

	// DEPRECATED FIELD. The value of this field doesn't take any effect. 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"`

	// DEPRECATED FIELD. The value of this field doesn't take any effect. 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"`

	// DEPRECATED FIELD. The value of this field doesn't take any effect. Range of instance sizes to which your deployment can scale.
	AutoScaling *AutoScalingSpec `json:"autoScaling,omitempty"`
}

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

func (*ServerlessProviderSettingsSpec) DeepCopy added in v2.2.1

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

func (*ServerlessProviderSettingsSpec) DeepCopyInto added in v2.2.1

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

type ServerlessSpec

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 *ServerlessProviderSettingsSpec `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"`

	// Flag that indicates whether termination protection is enabled on the cluster. If set to true, MongoDB Cloud won't delete the cluster. If set to false, MongoDB Cloud will delete the cluster.
	// +kubebuilder:default:=false
	TerminationProtectionEnabled bool `json:"terminationProtectionEnabled,omitempty"`
}

ServerlessSpec defines the desired state of Atlas Serverless Instance

func (*ServerlessSpec) DeepCopy

func (in *ServerlessSpec) DeepCopy() *ServerlessSpec

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

func (*ServerlessSpec) DeepCopyInto

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

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

ToAtlas converts the ServerlessSpec to native Atlas client Cluster format.

type Specs

type Specs struct {
	// Disk IOPS setting for AWS storage.
	// Set only if you selected AWS as your cloud service provider.
	// +optional
	DiskIOPS *int64 `json:"diskIOPS,omitempty"`
	// Disk IOPS setting for AWS storage.
	// Set only if you selected AWS as your cloud service provider.
	// +kubebuilder:validation:Enum=STANDARD;PROVISIONED
	EbsVolumeType string `json:"ebsVolumeType,omitempty"`
	// Hardware specification for the instance sizes in this region.
	// Each instance size has a default storage and memory capacity.
	// The instance size you select applies to all the data-bearing hosts in your instance size
	InstanceSize string `json:"instanceSize,omitempty"`
	// Number of nodes of the given type for MongoDB Cloud to deploy to the region.
	NodeCount *int `json:"nodeCount,omitempty"`
}

func (*Specs) DeepCopy

func (in *Specs) DeepCopy() *Specs

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

func (*Specs) DeepCopyInto

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

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

func (*Storage) DeepCopy

func (in *Storage) DeepCopy() *Storage

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

func (*Storage) DeepCopyInto

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

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

func (in *Store) DeepCopy() *Store

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

func (*Store) DeepCopyInto

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

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

func (in *TagSpec) DeepCopy() *TagSpec

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

func (*TagSpec) DeepCopyInto

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

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

func (in *Team) DeepCopy() *Team

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

func (*Team) DeepCopyInto

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

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

type TeamRole

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

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

func (in *TeamSpec) DeepCopy() *TeamSpec

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

func (*TeamSpec) DeepCopyInto

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

type TeamUser string

type Threshold

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

func (in *Threshold) DeepCopy() *Threshold

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

func (*Threshold) DeepCopyInto

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

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

func (*Threshold) IsEqual

func (in *Threshold) IsEqual(threshold *admin.GreaterThanRawThreshold) bool

func (*Threshold) ToAtlas

func (in *Threshold) ToAtlas() (*admin.GreaterThanRawThreshold, error)

type View

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

func (*View) DeepCopy

func (in *View) DeepCopy() *View

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

func (*View) DeepCopyInto

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