Documentation
¶
Index ¶
- Constants
- Variables
- func BuildAtlasActions(a []string) []atlasv2.DatabasePrivilegeAction
- func BuildAtlasInheritedRoles(r []string) []atlasv2.DatabaseInheritedRole
- func BuildAtlasRoles(r []string) []atlasv2.DatabaseUserRole
- func BuildAtlasScopes(r []string) []atlasv2.UserScope
- func BuildOMRoles(r []string) []*opsmngr.Role
- func GetAuthDB(user *atlasv2.CloudDatabaseUser) string
- func ParseDeleteAfter(deleteAfter string) *time.Time
- type ClusterConfig
- type DefaultRWConcern
- type DefaultReadConcern
- type DefaultWriteConcern
- type ProcessConfig
- type RSConfig
- type TLS
Constants ¶
const ( AdminDB = "admin" ExternalAuthDB = "$external" )
Variables ¶
var ( ErrNoFeatureCompatibility = errors.New("no featureCompatibilityVersion available") ErrInvalidConfig = errors.New("invalid config") )
Functions ¶
func BuildAtlasActions ¶
func BuildAtlasActions(a []string) []atlasv2.DatabasePrivilegeAction
BuildAtlasActions converts the actions inside the array of string in an array of atlas.Action structs r contains roles in the format action[@dbName.collection].
func BuildAtlasInheritedRoles ¶
func BuildAtlasInheritedRoles(r []string) []atlasv2.DatabaseInheritedRole
BuildAtlasInheritedRoles converts the inherited roles inside the array of string in an array of atlas.InheritedRole structs r contains roles in the format roleName@dbName.
func BuildAtlasRoles ¶
func BuildAtlasRoles(r []string) []atlasv2.DatabaseUserRole
BuildAtlasRoles converts the roles inside the array of string in an array of mongodbatlas.DatabaseUserRole structs. r contains roles in the format roleName@dbName.
func BuildAtlasScopes ¶
BuildAtlasScopes converts the scopes inside the array of string in an array of mongodbatlas.Scope structs. r contains resources in the format resourceName:resourceType.
func BuildOMRoles ¶
BuildOMRoles converts the roles inside the array of string in an array of opsmngr.DatabaseUserRole structs. r contains roles in the format roleName@dbName.
func GetAuthDB ¶
func GetAuthDB(user *atlasv2.CloudDatabaseUser) string
GetAuthDB determines the authentication database based on the type of user. LDAP, X509 and AWSIAM should all use $external. SCRAM-SHA should use admin.
func ParseDeleteAfter ¶
Types ¶
type ClusterConfig ¶
type ClusterConfig struct { RSConfig `yaml:",inline"` MongoURI string `yaml:"mongoURI,omitempty" json:"mongoURI,omitempty"` Shards []*RSConfig `yaml:"shards,omitempty" json:"shards,omitempty"` Config *RSConfig `yaml:"config,omitempty" json:"config,omitempty"` Mongos []*ProcessConfig `yaml:"mongos,omitempty" json:"mongos,omitempty"` }
ClusterConfig configuration for a cluster This cluster can be used to patch an automation config.
func FromAutomationConfig ¶
func FromAutomationConfig(c *opsmngr.AutomationConfig) []*ClusterConfig
FromAutomationConfig convert from opsmngr.AutomationConfig format to []*ClusterConfig the given opsmngr.AutomationConfig will be modified.
func (*ClusterConfig) PatchAutomationConfig ¶
func (c *ClusterConfig) PatchAutomationConfig(out *opsmngr.AutomationConfig) error
PatchAutomationConfig adds the ClusterConfig to a opsmngr.AutomationConfig this method will modify the given AutomationConfig to add the new replica set or sharded cluster information.
type DefaultRWConcern ¶
type DefaultRWConcern struct { DefaultReadConcern *DefaultReadConcern `yaml:"defaultReadConcern,omitempty" json:"defaultReadConcern,omitempty"` DefaultWriteConcern *DefaultWriteConcern `yaml:"defaultWriteConcern,omitempty" json:"defaultWriteConcern,omitempty"` }
type DefaultReadConcern ¶
type DefaultReadConcern struct {
Level string `yaml:"level" json:"level"`
}
type DefaultWriteConcern ¶
type ProcessConfig ¶
type ProcessConfig struct { ArbiterOnly *bool `yaml:"arbiterOnly,omitempty" json:"arbiterOnly,omitempty"` AuditLogPath string `yaml:"auditLogPath,omitempty" json:"auditLogPath,omitempty"` AuditLogDestination string `yaml:"auditLogDestination,omitempty" json:"auditLogDestination,omitempty"` AuditLogFormat string `yaml:"auditLogFormat,omitempty" json:"auditLogFormat,omitempty"` AuditLogFilter string `yaml:"auditLogFilter,omitempty" json:"auditLogFilter,omitempty"` BackupRestoreCheckpointTimestamp interface{} `yaml:"backupRestoreCheckpointTimestamp,omitempty" json:"backupRestoreCheckpointTimestamp,omitempty"` BuildIndexes *bool `yaml:"buildIndexes,omitempty" json:"buildIndexes,omitempty"` DBPath string `yaml:"dbPath,omitempty" json:"dbPath,omitempty"` BindIP *string `yaml:"bindIp,omitempty" json:"bindIp,omitempty"` BindIPAll *bool `yaml:"bindIpAll,omitempty" json:"bindIpAll,omitempty"` DefaultRWConcern *DefaultRWConcern `yaml:"defaultRWConcern,omitempty" json:"defaultRWConcern,omitempty"` //nolint:tagliatelle // correct from API DirectoryPerDB *bool `yaml:"directoryPerDB,omitempty" json:"directoryPerDB,omitempty"` Disabled bool `yaml:"disabled" json:"disabled"` Engine string `yaml:"engine,omitempty" json:"engine,omitempty"` EnableMajorityReadConcern *bool `yaml:"enableMajorityReadConcern,omitempty" json:"enableMajorityReadConcern,omitempty"` FeatureCompatibilityVersion string `yaml:"featureCompatibilityVersion,omitempty" json:"featureCompatibilityVersion,omitempty"` Hidden *bool `yaml:"hidden,omitempty" json:"hidden,omitempty"` Hostname string `yaml:"hostname" json:"hostname"` InMemory *map[string]interface{} `yaml:"inMemory,omitempty" json:"inMemory,omitempty"` IndexBuildRetry *bool `yaml:"indexBuildRetry,omitempty" json:"indexBuildRetry,omitempty"` IPV6 *bool `yaml:"ipv6,omitempty" json:"ipv6,omitempty"` Journal *map[string]interface{} `yaml:"journal,omitempty" json:"journal,omitempty"` LogAppend bool `yaml:"logAppend,omitempty" json:"logAppend,omitempty"` LogDestination string `yaml:"logDestination,omitempty" json:"logDestination,omitempty"` LogPath string `yaml:"logPath" json:"logPath"` LogRotate string `yaml:"logRotate,omitempty" json:"logRotate,omitempty"` LogVerbosity int `yaml:"logVerbosity,omitempty" json:"logVerbosity,omitempty"` LogQuiet bool `yaml:"logQuiet,omitempty" json:"logQuiet,omitempty"` SyslogFacility string `yaml:"syslogFacility,omitempty" json:"syslogFacility,omitempty"` LogTimeStampFormat string `yaml:"logTimeStampFormat,omitempty" json:"logTimeStampFormat,omitempty"` Name string `yaml:"name,omitempty" json:"name,omitempty"` OperationProfiling *map[string]interface{} `yaml:"operationProfiling,omitempty" json:"operationProfiling,omitempty"` OplogMinRetentionHours *float64 `yaml:"oplogMinRetentionHours,omitempty" json:"oplogMinRetentionHours,omitempty"` OplogSizeMB *int `yaml:"oplogSizeMB,omitempty" json:"oplogSizeMB,omitempty"` Port int `yaml:"port" json:"port"` Priority *float64 `yaml:"priority,omitempty" json:"priority,omitempty"` ProcessType string `yaml:"processType" json:"processType"` SmallFiles *bool `yaml:"smallFiles,omitempty" json:"smallFiles,omitempty"` SecondaryDelaySecs *float64 `yaml:"secondaryDelaySecs,omitempty" json:"secondaryDelaySecs,omitempty"` SlaveDelay *float64 `yaml:"slaveDelay,omitempty" json:"slaveDelay,omitempty"` SyncPeriodSecs *float64 `yaml:"syncPeriodSecs,omitempty" json:"syncPeriodSecs,omitempty"` Votes *float64 `yaml:"votes,omitempty" json:"votes,omitempty"` Security *map[string]interface{} `yaml:"security,omitempty" json:"security,omitempty"` SetParameter *map[string]interface{} `yaml:"setParameter,omitempty" json:"setParameter,omitempty"` TLS *TLS `yaml:"tls,omitempty" json:"tls,omitempty"` Version string `yaml:"version,omitempty" json:"version,omitempty"` WiredTiger *map[string]interface{} `yaml:"wiredTiger,omitempty" json:"wiredTiger,omitempty"` }
ProcessConfig that belongs to a cluster.
type RSConfig ¶
type RSConfig struct { Name string `yaml:"name,omitempty" json:"name,omitempty"` FeatureCompatibilityVersion string `yaml:"featureCompatibilityVersion,omitempty" json:"featureCompatibilityVersion,omitempty"` Processes []*ProcessConfig `yaml:"processes,omitempty" json:"processes,omitempty"` Tags []*map[string]interface{} `yaml:"tags,omitempty" json:"tags,omitempty"` Version string `yaml:"version,omitempty" json:"version,omitempty"` }
RSConfig shared properties of replica sets, config servers, and sharded clusters.
type TLS ¶
type TLS struct { CAFile string `yaml:"CAFile,omitempty" json:"CAFile,omitempty"` CertificateKeyFile string `yaml:"certificateKeyFile,omitempty" json:"certificateKeyFile,omitempty"` CertificateKeyFilePassword string `yaml:"certificateKeyFilePassword,omitempty" json:"certificateKeyFilePassword,omitempty"` CertificateSelector string `yaml:"certificateSelector,omitempty" json:"certificateSelector,omitempty"` ClusterCertificateSelector string `yaml:"clusterCertificateSelector,omitempty" json:"clusterCertificateSelector,omitempty"` ClusterFile string `yaml:"clusterFile,omitempty" json:"clusterFile,omitempty"` ClusterPassword string `yaml:"clusterPassword,omitempty" json:"clusterPassword,omitempty"` CRLFile string `yaml:"CRLFile,omitempty" json:"CRLFile,omitempty"` DisabledProtocols string `yaml:"disabledProtocols,omitempty" json:"disabledProtocols,omitempty"` FIPSMode *bool `yaml:"FIPSMode,omitempty" json:"FIPSMode,omitempty"` Mode string `yaml:"mode,omitempty" json:"mode,omitempty"` PEMKeyFile string `yaml:"PEMKeyFile,omitempty" json:"PEMKeyFile,omitempty"` }
TLS defines TLS parameters for Net.