status

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Aug 15, 2022 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func TransformRegionToID added in v1.2.0

func TransformRegionToID(region string) string

TransformRegionToID makes the same ID from region and regionName fields for PE Connections to match them it leaves only characters which are letters or numbers starting from 2 it also makes a couple swaps and sorts the resulting string this function is a temporary work around caused by the empty "region" field in Atlas reply

Types

type AtlasDatabaseUserStatus

type AtlasDatabaseUserStatus struct {
	Common `json:",inline"`

	// PasswordVersion is the 'ResourceVersion' of the password Secret that the Atlas Operator is aware of
	PasswordVersion string `json:"passwordVersion,omitempty"`

	// UserName is the current name of database user.
	UserName string `json:"name,omitempty"`
}

AtlasDatabaseUserStatus defines the observed state of AtlasProject

func (*AtlasDatabaseUserStatus) DeepCopy

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

func (*AtlasDatabaseUserStatus) DeepCopyInto

func (in *AtlasDatabaseUserStatus) DeepCopyInto(out *AtlasDatabaseUserStatus)

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

type AtlasDatabaseUserStatusOption

type AtlasDatabaseUserStatusOption func(s *AtlasDatabaseUserStatus)

AtlasDatabaseUserStatusOption is the option that is applied to Atlas Project Status

func AtlasDatabaseUserNameOption added in v0.5.0

func AtlasDatabaseUserNameOption(name string) AtlasDatabaseUserStatusOption

func AtlasDatabaseUserPasswordVersion added in v0.5.0

func AtlasDatabaseUserPasswordVersion(passwordVersion string) AtlasDatabaseUserStatusOption

type AtlasDeploymentStatus added in v1.0.0

type AtlasDeploymentStatus struct {
	Common `json:",inline"`

	// StateName is the current state of the cluster.
	// The possible states are: IDLE, CREATING, UPDATING, DELETING, DELETED, REPAIRING
	StateName string `json:"stateName,omitempty"`

	// MongoDBVersion is the version of MongoDB the cluster runs, in <major version>.<minor version> format.
	MongoDBVersion string `json:"mongoDBVersion,omitempty"`

	// ConnectionStrings is a set of connection strings that your applications use to connect to this cluster.
	ConnectionStrings *ConnectionStrings `json:"connectionStrings,omitempty"`

	// MongoURIUpdated is a timestamp in ISO 8601 date and time format in UTC when the connection string was last updated.
	// The connection string changes if you update any of the other values.
	MongoURIUpdated string `json:"mongoURIUpdated,omitempty"`
}

AtlasDeploymentStatus defines the observed state of AtlasDeployment.

func (*AtlasDeploymentStatus) DeepCopy added in v1.0.0

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

func (*AtlasDeploymentStatus) DeepCopyInto added in v1.0.0

func (in *AtlasDeploymentStatus) DeepCopyInto(out *AtlasDeploymentStatus)

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

type AtlasDeploymentStatusOption added in v1.0.0

type AtlasDeploymentStatusOption func(s *AtlasDeploymentStatus)

AtlasDeploymentStatusOption is the option that is applied to Atlas Deployment Status.

func AtlasDeploymentConnectionStringsOption added in v1.0.0

func AtlasDeploymentConnectionStringsOption(connectionStrings *mongodbatlas.ConnectionStrings) AtlasDeploymentStatusOption

func AtlasDeploymentMongoDBVersionOption added in v1.0.0

func AtlasDeploymentMongoDBVersionOption(mongoDBVersion string) AtlasDeploymentStatusOption

func AtlasDeploymentMongoURIUpdatedOption added in v1.0.0

func AtlasDeploymentMongoURIUpdatedOption(mongoURIUpdated string) AtlasDeploymentStatusOption

func AtlasDeploymentStateNameOption added in v1.0.0

func AtlasDeploymentStateNameOption(stateName string) AtlasDeploymentStatusOption

type AtlasProjectStatus

type AtlasProjectStatus struct {
	Common `json:",inline"`

	// The ID of the Atlas Project
	// +optional
	ID string `json:"id,omitempty"`

	// The list of IP Access List entries that are expired due to 'deleteAfterDate' being less than the current date.
	// Note, that this field is updated by the Atlas Operator only after specification changes
	ExpiredIPAccessList []project.IPAccessList `json:"expiredIpAccessList,omitempty"`

	// The list of private endpoints configured for current project
	PrivateEndpoints []ProjectPrivateEndpoint `json:"privateEndpoints,omitempty"`

	// AuthModes contains a list of configured authentication modes
	// "SCRAM" is default authentication method and requires a password for each user
	// "X509" signifies that self-managed X.509 authentication is configured
	AuthModes authmode.AuthModes `json:"authModes,omitempty"`

	// Prometheus contains the status for Prometheus integration
	// including the prometheusDiscoveryURL
	// +optional
	Prometheus *Prometheus `json:"prometheus,omitempty"`
}

AtlasProjectStatus defines the observed state of AtlasProject

func (*AtlasProjectStatus) DeepCopy

func (in *AtlasProjectStatus) DeepCopy() *AtlasProjectStatus

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

func (*AtlasProjectStatus) DeepCopyInto

func (in *AtlasProjectStatus) DeepCopyInto(out *AtlasProjectStatus)

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

type AtlasProjectStatusOption

type AtlasProjectStatusOption func(s *AtlasProjectStatus)

AtlasProjectStatusOption is the option that is applied to Atlas Project Status

func AtlasProjectAddPrivateEnpointsOption added in v0.7.0

func AtlasProjectAddPrivateEnpointsOption(privateEndpoints []ProjectPrivateEndpoint) AtlasProjectStatusOption

func AtlasProjectAuthModesOption added in v0.8.0

func AtlasProjectAuthModesOption(authModes []authmode.AuthMode) AtlasProjectStatusOption

func AtlasProjectExpiredIPAccessOption

func AtlasProjectExpiredIPAccessOption(lists []project.IPAccessList) AtlasProjectStatusOption

func AtlasProjectIDOption

func AtlasProjectIDOption(id string) AtlasProjectStatusOption

func AtlasProjectPrometheusOption added in v1.1.0

func AtlasProjectPrometheusOption(prometheus *Prometheus) AtlasProjectStatusOption

func AtlasProjectSetPrivateEnpointsOption added in v1.2.0

func AtlasProjectSetPrivateEnpointsOption(privateEndpoints []ProjectPrivateEndpoint) AtlasProjectStatusOption

type Common

type Common struct {
	// Conditions is the list of statuses showing the current state of the Atlas Custom Resource
	Conditions []Condition `json:"conditions"`

	// ObservedGeneration indicates the generation of the resource specification that the Atlas Operator is aware of.
	// The Atlas Operator updates this field to the 'metadata.generation' as soon as it starts reconciliation of the resource.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

Common is the struct shared by all statuses in existing Custom Resources.

func (*Common) DeepCopy

func (in *Common) DeepCopy() *Common

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

func (*Common) DeepCopyInto

func (in *Common) DeepCopyInto(out *Common)

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

func (Common) GetConditions

func (c Common) GetConditions() []Condition

func (Common) GetObservedGeneration

func (c Common) GetObservedGeneration() int64

type Condition

type Condition struct {
	// Type of Atlas Custom Resource condition.
	Type ConditionType `json:"type"`
	// Status of the condition, one of True, False, Unknown.
	Status corev1.ConditionStatus `json:"status"`
	// Last time the condition transitioned from one status to another.
	// +optional
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
	// The reason for the condition's last transition.
	// +optional
	Reason string `json:"reason,omitempty"`
	// A human readable message indicating details about the transition.
	// +optional
	Message string `json:"message,omitempty"`
}

Condition describes the state of an Atlas Custom Resource at a certain point.

func EnsureConditionExists

func EnsureConditionExists(condition Condition, source []Condition) []Condition

EnsureConditionExists adds or updates the condition in the copy of a 'source' slice

func FalseCondition

func FalseCondition(conditionType ConditionType) Condition

FalseCondition returns the Condition that has the 'Status' set to 'false' and 'Type' to 'conditionType'. The reason and message can be provided optionally

func RemoveConditionIfExists added in v1.1.0

func RemoveConditionIfExists(conditionType ConditionType, source []Condition) []Condition

func TrueCondition

func TrueCondition(conditionType ConditionType) Condition

TrueCondition returns the Condition that has the 'Status' set to 'true' and 'Type' to 'conditionType'. It explicitly omits the 'Reason' and 'Message' fields.

func (*Condition) DeepCopy

func (in *Condition) DeepCopy() *Condition

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

func (*Condition) DeepCopyInto

func (in *Condition) DeepCopyInto(out *Condition)

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

func (Condition) WithMessageRegexp

func (c Condition) WithMessageRegexp(msg string) Condition

func (Condition) WithReason

func (c Condition) WithReason(reason string) Condition

type ConditionType

type ConditionType string
const (
	ReadyType           ConditionType = "Ready"
	ValidationSucceeded ConditionType = "ValidationSucceeded"
)
const (
	ProjectReadyType                ConditionType = "ProjectReady"
	IPAccessListReadyType           ConditionType = "IPAccessListReady"
	MaintenanceWindowReadyType      ConditionType = "MaintenanceWindowReady"
	PrivateEndpointServiceReadyType ConditionType = "PrivateEndpointServiceReady"
	PrivateEndpointReadyType        ConditionType = "PrivateEndpointReady"
	IntegrationReadyType            ConditionType = "ThirdPartyIntegrationReady"
)

AtlasProject condition types

const (
	DatabaseUserReadyType ConditionType = "DatabaseUserReady"
)

AtlasDatabaseUser condition types

const (
	DeploymentReadyType ConditionType = "DeploymentReady"
)

AtlasDeployment condition types

type ConnectionStrings

type ConnectionStrings struct {
	// Public mongodb:// connection string for this cluster.
	Standard string `json:"standard,omitempty"`

	// Public mongodb+srv:// connection string for this cluster.
	StandardSrv string `json:"standardSrv,omitempty"`

	// Private endpoint connection strings.
	// Each object describes the connection strings you can use to connect to this cluster through a private endpoint.
	// Atlas returns this parameter only if you deployed a private endpoint to all regions to which you deployed this cluster's nodes.
	PrivateEndpoint []PrivateEndpoint `json:"privateEndpoint,omitempty"`

	// Network-peering-endpoint-aware mongodb:// connection strings for each interface VPC endpoint you configured to connect to this cluster.
	// Atlas returns this parameter only if you created a network peering connection to this cluster.
	Private string `json:"private,omitempty"`

	// Network-peering-endpoint-aware mongodb+srv:// connection strings for each interface VPC endpoint you configured to connect to this cluster.
	// Atlas returns this parameter only if you created a network peering connection to this cluster.
	// Use this URI format if your driver supports it. If it doesn't, use connectionStrings.private.
	PrivateSrv string `json:"privateSrv,omitempty"`
}

ConnectionStrings contains configuration for applications use to connect to this cluster

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 Endpoint

type Endpoint struct {
	// Unique identifier of the private endpoint.
	EndpointID string `json:"endpointId,omitempty"`

	// Cloud provider to which you deployed the private endpoint. Atlas returns AWS or AZURE.
	ProviderName string `json:"providerName,omitempty"`

	// Region to which you deployed the private endpoint.
	Region string `json:"region,omitempty"`

	// Private IP address of the private endpoint network interface you created in your Azure VNet.
	// +optional
	IP string `json:"ip,omitempty"`
}

Endpoint through which you connect to Atlas

func (*Endpoint) DeepCopy

func (in *Endpoint) DeepCopy() *Endpoint

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

func (*Endpoint) DeepCopyInto

func (in *Endpoint) DeepCopyInto(out *Endpoint)

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 {
	Status       string `json:"status"`
	EndpointName string `json:"endpointName"`
	IPAddress    string `json:"ipAddress"`
}

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 Option

type Option interface{}

Option is the function that is applied to the status field of an Atlas Custom Resource. This is the way to handle some random data that need to be written to status.

type PrivateEndpoint

type PrivateEndpoint struct {
	// Private-endpoint-aware mongodb:// connection string for this private endpoint.
	ConnectionString string `json:"connectionString,omitempty"`

	// Private endpoint through which you connect to Atlas when you use connectionStrings.privateEndpoint[n].connectionString or connectionStrings.privateEndpoint[n].srvConnectionString.
	Endpoints []Endpoint `json:"endpoints,omitempty"`

	// Private-endpoint-aware mongodb+srv:// connection string for this private endpoint.
	SRVConnectionString string `json:"srvConnectionString,omitempty"`

	// Type of MongoDB process that you connect to with the connection strings
	//
	// Atlas returns:
	//
	// • MONGOD for replica sets, or
	//
	// • MONGOS for sharded clusters
	Type string `json:"type,omitempty"`
}

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

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.

type ProjectPrivateEndpoint added in v0.6.1

type ProjectPrivateEndpoint struct {
	// Unique identifier for AWS or AZURE Private Link Connection.
	ID string `json:"id,omitempty"`
	// Cloud provider for which you want to retrieve a private endpoint service. Atlas accepts AWS or AZURE.
	Provider provider.ProviderName `json:"provider"`
	// Cloud provider region for which you want to create the private endpoint service.
	Region string `json:"region"`
	// Name of the AWS or Azure Private Link Service that Atlas manages.
	ServiceName string `json:"serviceName,omitempty"`
	// Unique identifier of the Azure Private Link Service (for AWS the same as ID).
	ServiceResourceID string `json:"serviceResourceId,omitempty"`
	// Unique identifier of the AWS or Azure Private Link Interface Endpoint.
	InterfaceEndpointID string `json:"interfaceEndpointId,omitempty"`
	// Unique alphanumeric and special character strings that identify the service attachments associated with the GCP Private Service Connect endpoint service.
	ServiceAttachmentNames []string `json:"serviceAttachmentNames,omitempty"`
	// Collection of individual GCP private endpoints that comprise your network endpoint group.
	Endpoints []GCPEndpoint `json:"endpoints,omitempty"`
}

func (*ProjectPrivateEndpoint) DeepCopy added in v0.6.1

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

func (*ProjectPrivateEndpoint) DeepCopyInto added in v0.6.1

func (in *ProjectPrivateEndpoint) DeepCopyInto(out *ProjectPrivateEndpoint)

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

func (ProjectPrivateEndpoint) Identifier added in v0.7.0

func (pe ProjectPrivateEndpoint) Identifier() interface{}

type Prometheus added in v1.0.0

type Prometheus struct {
	// +optional
	Scheme string `json:"scheme,omitempty"`
	// +optional
	DiscoveryURL string `json:"prometheusDiscoveryURL,omitempty"`
}

func (*Prometheus) DeepCopy added in v1.0.0

func (in *Prometheus) DeepCopy() *Prometheus

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

func (*Prometheus) DeepCopyInto added in v1.0.0

func (in *Prometheus) DeepCopyInto(out *Prometheus)

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

type Reader

type Reader interface {
	// GetStatus returns the status of the object.
	GetStatus() Status
}

type Status

type Status interface {
	GetConditions() []Condition

	GetObservedGeneration() int64
}

Status is a generic status for any Custom Resource managed by Atlas Operator

type Writer

type Writer interface {
	// UpdateStatus allows to do the update of the status of an Atlas Custom resource.
	UpdateStatus(conditions []Condition, option ...Option)
}

Jump to

Keyboard shortcuts

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