v1

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Jun 30, 2022 License: Apache-2.0 Imports: 17 Imported by: 3

Documentation

Overview

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

Index

Constants

This section is empty.

Variables

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

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

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

Functions

This section is empty.

Types

type AdvancedDeploymentSpec added in v1.0.0

type AdvancedDeploymentSpec struct {
	BackupEnabled            *bool                      `json:"backupEnabled,omitempty"`
	BiConnector              *BiConnectorSpec           `json:"biConnector,omitempty"`
	ClusterType              string                     `json:"clusterType,omitempty"`
	ConnectionStrings        *ConnectionStrings         `json:"connectionStrings,omitempty"`
	DiskSizeGB               *int                       `json:"diskSizeGB,omitempty"`
	EncryptionAtRestProvider string                     `json:"encryptionAtRestProvider,omitempty"`
	GroupID                  string                     `json:"groupId,omitempty"`
	ID                       string                     `json:"id,omitempty"`
	Labels                   []common.LabelSpec         `json:"labels,omitempty"`
	MongoDBMajorVersion      string                     `json:"mongoDBMajorVersion,omitempty"`
	MongoDBVersion           string                     `json:"mongoDBVersion,omitempty"`
	Name                     string                     `json:"name,omitempty"`
	Paused                   *bool                      `json:"paused,omitempty"`
	PitEnabled               *bool                      `json:"pitEnabled,omitempty"`
	StateName                string                     `json:"stateName,omitempty"`
	ReplicationSpecs         []*AdvancedReplicationSpec `json:"replicationSpecs,omitempty"`
	CreateDate               string                     `json:"createDate,omitempty"`
	RootCertType             string                     `json:"rootCertType,omitempty"`
	VersionReleaseSystem     string                     `json:"versionReleaseSystem,omitempty"`
}

func (*AdvancedDeploymentSpec) AdvancedDeployment added in v1.0.0

func (s *AdvancedDeploymentSpec) AdvancedDeployment() (*mongodbatlas.AdvancedCluster, error)

AdvancedDeployment converts the AdvancedDeploymentSpec to native Atlas client AdvancedDeployment format.

func (*AdvancedDeploymentSpec) DeepCopy added in v1.0.0

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

func (*AdvancedDeploymentSpec) DeepCopyInto added in v1.0.0

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

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

type AdvancedRegionConfig added in v0.8.0

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

func (*AdvancedRegionConfig) DeepCopy added in v0.8.0

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

func (*AdvancedRegionConfig) DeepCopyInto added in v0.8.0

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

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

type AdvancedReplicationSpec added in v0.8.0

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

func (*AdvancedReplicationSpec) DeepCopy added in v0.8.0

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

func (*AdvancedReplicationSpec) DeepCopyInto added in v0.8.0

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

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

type AtlasBackupExportSpec added in v1.0.0

type AtlasBackupExportSpec struct {
	// Unique identifier of the AWS bucket to export the cloud backup snapshot to.
	ExportBucketID string `json:"exportBucketId"`
	// +kubebuilder:validation:Enum:=MONTHLY
	// +kubebuilder:default:=MONTHLY
	FrequencyType string `json:"frequencyType"`
}

func (*AtlasBackupExportSpec) DeepCopy added in v1.0.0

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

func (*AtlasBackupExportSpec) DeepCopyInto added in v1.0.0

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

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

type AtlasBackupPolicy added in v1.0.0

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

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

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

func (*AtlasBackupPolicy) DeepCopy added in v1.0.0

func (in *AtlasBackupPolicy) DeepCopy() *AtlasBackupPolicy

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

func (*AtlasBackupPolicy) DeepCopyInto added in v1.0.0

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

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

func (*AtlasBackupPolicy) DeepCopyObject added in v1.0.0

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

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

type AtlasBackupPolicyItem added in v1.0.0

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

	// Desired frequency of the new backup policy item specified by FrequencyType. A value of 1 specifies the first instance of the corresponding FrequencyType.
	// The only accepted value you can set for frequency interval with NVMe clusters is 12.
	// +kubebuilder:validation:Enum:=1;2;4;6;8;12
	FrequencyInterval int `json:"frequencyInterval"`

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

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

func (*AtlasBackupPolicyItem) DeepCopy added in v1.0.0

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

func (*AtlasBackupPolicyItem) DeepCopyInto added in v1.0.0

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

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

type AtlasBackupPolicyList added in v1.0.0

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

AtlasBackupPolicyList contains a list of AtlasBackupPolicy

func (*AtlasBackupPolicyList) DeepCopy added in v1.0.0

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

func (*AtlasBackupPolicyList) DeepCopyInto added in v1.0.0

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

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

func (*AtlasBackupPolicyList) DeepCopyObject added in v1.0.0

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

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

type AtlasBackupPolicySpec added in v1.0.0

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

AtlasBackupPolicySpec defines the desired state of AtlasBackupPolicy

func (*AtlasBackupPolicySpec) DeepCopy added in v1.0.0

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

func (*AtlasBackupPolicySpec) DeepCopyInto added in v1.0.0

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

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

type AtlasBackupPolicyStatus added in v1.0.0

type AtlasBackupPolicyStatus struct {
}

func (*AtlasBackupPolicyStatus) DeepCopy added in v1.0.0

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

func (*AtlasBackupPolicyStatus) DeepCopyInto added in v1.0.0

func (in *AtlasBackupPolicyStatus) DeepCopyInto(out *AtlasBackupPolicyStatus)

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

type AtlasBackupSchedule added in v1.0.0

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

	Spec AtlasBackupScheduleSpec `json:"spec,omitempty"`

	Status AtlasBackupScheduleStatus `json:"status,omitempty"`
}

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

func (*AtlasBackupSchedule) DeepCopy added in v1.0.0

func (in *AtlasBackupSchedule) DeepCopy() *AtlasBackupSchedule

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

func (*AtlasBackupSchedule) DeepCopyInto added in v1.0.0

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

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

func (*AtlasBackupSchedule) DeepCopyObject added in v1.0.0

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

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

type AtlasBackupScheduleList added in v1.0.0

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

AtlasBackupScheduleList contains a list of AtlasBackupSchedule

func (*AtlasBackupScheduleList) DeepCopy added in v1.0.0

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

func (*AtlasBackupScheduleList) DeepCopyInto added in v1.0.0

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

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

func (*AtlasBackupScheduleList) DeepCopyObject added in v1.0.0

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

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

type AtlasBackupScheduleSpec added in v1.0.0

type AtlasBackupScheduleSpec struct {
	// Specify true to enable automatic export of cloud backup snapshots to the AWS bucket. You must also define the export policy using export. If omitted, defaults to false.
	// +optional
	// +kubebuilder:default:=true
	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"`
}

AtlasBackupScheduleSpec defines the desired state of AtlasBackupSchedule

func (*AtlasBackupScheduleSpec) DeepCopy added in v1.0.0

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

func (*AtlasBackupScheduleSpec) DeepCopyInto added in v1.0.0

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

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

type AtlasBackupScheduleStatus added in v1.0.0

type AtlasBackupScheduleStatus struct {
}

func (*AtlasBackupScheduleStatus) DeepCopy added in v1.0.0

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

func (*AtlasBackupScheduleStatus) DeepCopyInto added in v1.0.0

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 AtlasDatabaseUser

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

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

AtlasDatabaseUser is the Schema for the Atlas Database User API

func DefaultDBUser

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

func NewDBUser

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

func (AtlasDatabaseUser) AtlasProjectObjectKey

func (p AtlasDatabaseUser) AtlasProjectObjectKey() client.ObjectKey

func (*AtlasDatabaseUser) ClearScopes added in v0.5.0

func (p *AtlasDatabaseUser) ClearScopes() *AtlasDatabaseUser

func (*AtlasDatabaseUser) DeepCopy

func (in *AtlasDatabaseUser) DeepCopy() *AtlasDatabaseUser

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

func (*AtlasDatabaseUser) DeepCopyInto

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

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

func (*AtlasDatabaseUser) DeepCopyObject

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

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

func (AtlasDatabaseUser) GetScopes

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

func (*AtlasDatabaseUser) GetStatus

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

func (AtlasDatabaseUser) PasswordSecretObjectKey added in v0.5.0

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

func (*AtlasDatabaseUser) ReadPassword

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

func (AtlasDatabaseUser) ToAtlas

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

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

func (*AtlasDatabaseUser) UpdateStatus

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

func (*AtlasDatabaseUser) WithAtlasUserName

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

func (*AtlasDatabaseUser) WithDeleteAfterDate added in v0.5.0

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

func (*AtlasDatabaseUser) WithName

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

func (*AtlasDatabaseUser) WithPasswordSecret

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

func (*AtlasDatabaseUser) WithRole

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

func (*AtlasDatabaseUser) WithScope

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

type AtlasDatabaseUserList

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

AtlasDatabaseUserList contains a list of AtlasDatabaseUser

func (*AtlasDatabaseUserList) DeepCopy

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

func (*AtlasDatabaseUserList) DeepCopyInto

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

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

func (*AtlasDatabaseUserList) DeepCopyObject

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

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

type AtlasDatabaseUserSpec

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

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

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

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

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

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

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

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

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

AtlasDatabaseUserSpec defines the desired state of Database User in Atlas

func (*AtlasDatabaseUserSpec) DeepCopy

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

func (*AtlasDatabaseUserSpec) DeepCopyInto

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

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

type AtlasDeployment added in v1.0.0

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

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

AtlasDeployment is the Schema for the atlasdeployments API

func DefaultAWSDeployment added in v1.1.0

func DefaultAWSDeployment(namespace, projectName string) *AtlasDeployment

func DefaultAwsAdvancedDeployment added in v1.0.0

func DefaultAwsAdvancedDeployment(namespace, projectName string) *AtlasDeployment

func DefaultAzureDeployment added in v1.1.0

func DefaultAzureDeployment(namespace, projectName string) *AtlasDeployment

func DefaultGCPDeployment added in v1.1.0

func DefaultGCPDeployment(namespace, projectName string) *AtlasDeployment

func NewAwsAdvancedDeployment added in v1.0.0

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

func NewDefaultAWSServerlessInstance added in v1.0.0

func NewDefaultAWSServerlessInstance(namespace, projectName string) *AtlasDeployment

func NewDeployment added in v1.1.0

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

func (AtlasDeployment) AtlasProjectObjectKey added in v1.0.0

func (c AtlasDeployment) AtlasProjectObjectKey() client.ObjectKey

func (*AtlasDeployment) DeepCopy added in v1.0.0

func (in *AtlasDeployment) DeepCopy() *AtlasDeployment

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

func (*AtlasDeployment) DeepCopyInto added in v1.0.0

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

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

func (*AtlasDeployment) DeepCopyObject added in v1.0.0

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

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

func (*AtlasDeployment) GetDeploymentName added in v1.1.0

func (c *AtlasDeployment) GetDeploymentName() string

func (*AtlasDeployment) GetStatus added in v1.0.0

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

func (*AtlasDeployment) IsAdvancedDeployment added in v1.0.0

func (c *AtlasDeployment) IsAdvancedDeployment() bool

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

func (*AtlasDeployment) IsServerless added in v1.0.0

func (c *AtlasDeployment) IsServerless() bool

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

func (*AtlasDeployment) Lightweight added in v1.0.0

func (c *AtlasDeployment) Lightweight() *AtlasDeployment

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

func (*AtlasDeployment) UpdateStatus added in v1.0.0

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

func (*AtlasDeployment) WithAtlasName added in v1.0.0

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

func (*AtlasDeployment) WithBackingProvider added in v1.0.0

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

func (*AtlasDeployment) WithBackupScheduleRef added in v1.0.0

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

func (*AtlasDeployment) WithInstanceSize added in v1.0.0

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

func (*AtlasDeployment) WithName added in v1.0.0

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

func (*AtlasDeployment) WithProjectName added in v1.0.0

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

func (*AtlasDeployment) WithProviderName added in v1.0.0

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

func (*AtlasDeployment) WithRegionName added in v1.0.0

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

type AtlasDeploymentList added in v1.0.0

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

AtlasDeploymentList contains a list of AtlasDeployment

func (*AtlasDeploymentList) DeepCopy added in v1.0.0

func (in *AtlasDeploymentList) DeepCopy() *AtlasDeploymentList

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

func (*AtlasDeploymentList) DeepCopyInto added in v1.0.0

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

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

func (*AtlasDeploymentList) DeepCopyObject added in v1.0.0

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

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

type AtlasDeploymentSpec added in v1.0.0

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

	// Configuration for the advanced deployment API
	// +optional
	DeploymentSpec *DeploymentSpec `json:"deploymentSpec,omitempty"`

	// Configuration for the advanced deployment API. https://docs.atlas.mongodb.com/reference/api/deployments-advanced/
	// +optional
	AdvancedDeploymentSpec *AdvancedDeploymentSpec `json:"advancedDeploymentSpec,omitempty"`

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

	// Configuration for the advanced deployment API. https://docs.atlas.mongodb.com/reference/api/deployments-advanced/
	// +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

func (*AtlasDeploymentSpec) DeepCopy added in v1.0.0

func (in *AtlasDeploymentSpec) DeepCopy() *AtlasDeploymentSpec

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

func (*AtlasDeploymentSpec) DeepCopyInto added in v1.0.0

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

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

func (*AtlasDeploymentSpec) Deployment added in v1.1.0

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

Deployment converts the Spec to native Atlas client format.

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

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

func (*AtlasProject) WithConnectionSecret

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

func (*AtlasProject) WithIPAccessList

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

func (*AtlasProject) WithMaintenanceWindow added in v1.1.0

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

func (*AtlasProject) WithName

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

func (*AtlasProject) X509SecretObjectKey added in v0.8.0

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

type AtlasProjectList

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

AtlasProjectList contains a list of AtlasProject

func (*AtlasProjectList) DeepCopy

func (in *AtlasProjectList) DeepCopy() *AtlasProjectList

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

func (*AtlasProjectList) DeepCopyInto

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

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

func (*AtlasProjectList) DeepCopyObject

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

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

type AtlasProjectSpec

type AtlasProjectSpec struct {

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

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

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

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.

type AutoScalingSpec

type AutoScalingSpec struct {
	// 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 BiConnector added in v0.8.0

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

BiConnector specifies BI Connector for Atlas configuration on this deployment.

func (*BiConnector) DeepCopy added in v0.8.0

func (in *BiConnector) DeepCopy() *BiConnector

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

func (*BiConnector) DeepCopyInto added in v0.8.0

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

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

type BiConnectorSpec

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

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

BiConnectorSpec specifies BI Connector for Atlas configuration on this deployment

func (*BiConnectorSpec) DeepCopy

func (in *BiConnectorSpec) DeepCopy() *BiConnectorSpec

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

func (*BiConnectorSpec) DeepCopyInto

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

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

type ComputeSpec

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

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

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

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

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

func (*ComputeSpec) DeepCopy

func (in *ComputeSpec) DeepCopy() *ComputeSpec

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

func (*ComputeSpec) DeepCopyInto

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

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

type ConnectionStrings added in v0.8.0

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

ConnectionStrings configuration for applications use to connect to this deployment.

func (*ConnectionStrings) DeepCopy added in v0.8.0

func (in *ConnectionStrings) DeepCopy() *ConnectionStrings

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

func (*ConnectionStrings) DeepCopyInto added in v0.8.0

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

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

type DeploymentSpec added in v1.0.0

type DeploymentSpec struct {

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

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

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

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

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

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

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

	// Name of the deployment as it appears in Atlas. After Atlas creates the deployment, you can't change its name.
	Name string `json:"name"`

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

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

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

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

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

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

func (*DeploymentSpec) DeepCopy added in v1.0.0

func (in *DeploymentSpec) DeepCopy() *DeploymentSpec

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

func (*DeploymentSpec) DeepCopyInto added in v1.0.0

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

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

type DeploymentType added in v1.1.0

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

type EndpointSpec added in v0.8.0

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

EndpointSpec through which you connect to Atlas.

func (*EndpointSpec) DeepCopy added in v0.8.0

func (in *EndpointSpec) DeepCopy() *EndpointSpec

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

func (*EndpointSpec) DeepCopyInto added in v0.8.0

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

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

type GCPEndpoint added in v1.0.0

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

func (*GCPEndpoint) DeepCopy added in v1.0.0

func (in *GCPEndpoint) DeepCopy() *GCPEndpoint

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

func (*GCPEndpoint) DeepCopyInto added in v1.0.0

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

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

type GCPEndpoints added in v1.0.0

type GCPEndpoints []GCPEndpoint

func (GCPEndpoints) ConvertToAtlas added in v1.0.0

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

func (GCPEndpoints) DeepCopy added in v1.0.0

func (in GCPEndpoints) DeepCopy() GCPEndpoints

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

func (GCPEndpoints) DeepCopyInto added in v1.0.0

func (in GCPEndpoints) DeepCopyInto(out *GCPEndpoints)

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

type PrivateEndpoint added in v1.0.0

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

func (*PrivateEndpoint) DeepCopy added in v1.0.0

func (in *PrivateEndpoint) DeepCopy() *PrivateEndpoint

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

func (*PrivateEndpoint) DeepCopyInto added in v1.0.0

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

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

func (PrivateEndpoint) Identifier added in v1.0.0

func (i PrivateEndpoint) Identifier() interface{}

Identifier is required to satisfy "Identifiable" iterface

func (PrivateEndpoint) ToAtlas added in v1.0.0

ToAtlas converts the PrivateEndpoint to native Atlas client format.

type PrivateEndpointSpec added in v0.8.0

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

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

func (*PrivateEndpointSpec) DeepCopy added in v0.8.0

func (in *PrivateEndpointSpec) DeepCopy() *PrivateEndpointSpec

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

func (*PrivateEndpointSpec) DeepCopyInto added in v0.8.0

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

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

type ProcessArgs added in v1.0.0

type ProcessArgs mongodbatlas.ProcessArgs

func (*ProcessArgs) DeepCopy added in v1.0.0

func (in *ProcessArgs) DeepCopy() *ProcessArgs

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

func (*ProcessArgs) DeepCopyInto added in v1.0.0

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

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

func (ProcessArgs) IsEqual added in v1.0.0

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

type ProviderSettingsSpec

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

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

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

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

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

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

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

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

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

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

func (*ProviderSettingsSpec) DeepCopy

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

func (*ProviderSettingsSpec) DeepCopyInto

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

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

type RegionsConfig

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

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

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

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

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

func (*RegionsConfig) DeepCopy

func (in *RegionsConfig) DeepCopy() *RegionsConfig

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

func (*RegionsConfig) DeepCopyInto

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

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

type ReplicationSpec

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

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

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

ReplicationSpec represents a configuration for deployment regions

func (*ReplicationSpec) DeepCopy

func (in *ReplicationSpec) DeepCopy() *ReplicationSpec

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

func (*ReplicationSpec) DeepCopyInto

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

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

type 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 ServerlessSpec added in v1.0.0

type ServerlessSpec struct {
	// Name of the deployment as it appears in Atlas. After Atlas creates the deployment, you can't change its name.
	Name string `json:"name"`
	// Configuration for the provisioned hosts on which MongoDB runs. The available options are specific to the cloud service provider.
	ProviderSettings *ProviderSettingsSpec `json:"providerSettings"`
}

ServerlessSpec defines the desired state of Atlas Serverless Instance

func (*ServerlessSpec) DeepCopy added in v1.0.0

func (in *ServerlessSpec) DeepCopy() *ServerlessSpec

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

func (*ServerlessSpec) DeepCopyInto added in v1.0.0

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

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

type Specs added in v0.8.0

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

func (*Specs) DeepCopy added in v0.8.0

func (in *Specs) DeepCopy() *Specs

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

func (*Specs) DeepCopyInto added in v0.8.0

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

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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