provider

package
v0.2.17 Latest Latest
Warning

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

Go to latest
Published: May 22, 2024 License: MPL-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const (
	RESOURCE_DB_CLUSTER                 = "clustercontrol_db_cluster"
	RESOURCE_DB_LOAD_BALANCER           = "clustercontrol_db_load_balancer"
	RESOURCE_DB_CLUSTER_MAINTENANCE     = "clustercontrol_db_cluster_maintenance"
	RESOURCE_DB_CLUSTER_BACKUP          = "clustercontrol_db_cluster_backup"
	RESOURCE_DB_CLUSTER_BACKUP_SCHEDULE = "clustercontrol_db_cluster_backup_schedule"
)
View Source
const (
	API_USER       = "cc_api_user"
	API_USER_PW    = "cc_api_user_password"
	CONTROLLER_URL = "cc_api_url"
)
View Source
const (
	CLUSTER_TYPE_REPLICATION    = "replication"
	CLUSTER_TYPE_GALERA         = "galera"
	CLUSTER_TYPE_MOGNODB        = "mongodb"
	CLUSTER_TYPE_PG_SINGLE      = "postgresql_single"
	CLUSTER_TYPE_REDIS          = "redis"
	CLUSTER_TYPE_MSSQL_AO_ASYNC = "mssql_ao_async"
	CLUSTER_TYPE_MSSQL_SINGLE   = "mssql_single"
	CLUSTER_TYPE_ELASTIC        = "elastic"
)
View Source
const (
	VENDOR_PERCONA    = "percona"
	VENDOR_MARIADB    = "mariadb"
	VENDOR_MONGODB    = "10gen"
	VENDOR_ORACLE     = "oracle"
	VENDOR_ELASTIC    = "elasticsearch"
	VENDOR_REDIS      = "redis"
	VENDOR_MICROSOFT  = "microsoft"
	VENDOR_DEFAULT    = "default"
	VENDOR_POSTGRESQL = "postgresql"
	VENDOR_EDB        = "EDB"
	VENDOR_10GEN      = "10gen"
)
View Source
const (
	EXT_CLUSTER_TYPE_PG_REPLICAION      = "pg-replication"
	EXT_CLUSTER_TYPE_MYSQL_REPLICATIOIN = "mysql-replication"
	EXT_CLUSTER_TYPE_GALERA             = "galera"
	EXT_CLUSTER_TYPE_MONGODB            = "mongo"
	EXT_CLUSTER_TYPE_REDIS_SENTINEL     = "redis-sentinel"
	EXT_CLUSTER_TYPE_REDIS_CLUSTER      = "redis-cluster"
	EXT_CLUSTER_TYPE_ELASTICSEARH       = "elasticsearch"
	EXT_CLUSTER_TYPE_MSSQL_ASYN         = "mssql-async"
	EXT_CLUSTER_TYPE_MSSQL_STANDALONE   = "mssql-standalone"
)
View Source
const (
	EXT_VENDOR_PERCONA    = "percona"
	EXT_VENDOR_ORACLE     = "oracle"
	EXT_VENDOR_MARIADB    = "mariadb"
	EXT_VENDOR_MONGO      = "mongodb-community"
	EXT_VENDOR_MICROSOFT  = "microsoft"
	EXT_VENDOR_ELASTIC    = "elastic"
	EXT_VENDOR_REDIS      = "redis"
	EXT_VENDOR_POSTGRESQL = "postgresql"
	EXT_VENDOR_MONGO_ENT  = "mongodb-X"
)
View Source
const (
	DEFAULT_MYSQL_PORT             = "3306"
	DEFAULT_POSTGRES_PORT          = "5432"
	DEFAULT_MONGO_PORT             = "27017"
	DEFAULT_MONGO_CONFIG_SRVR_PORT = "27019"
	DEFAULT_REDIS_PORT             = "6379"
	DEFAULT_REDIS_SENTINEL_PORT    = "26379"
	DEFAULT_ELASTIC_HTTP_PORT      = "9200"
	DEFAULT_ELASTIC_TRANSFER_PORT  = "9200"
	DEFAULT_MSSQL_PORT             = "1433"
	DEFAULT_PROXYSQL_ADMIN_PORT    = "6032"
	DEFAULT_PROXYSQL_LISTEN_PORT   = "6033"
)
View Source
const (
	MYSQL_VERSION_8   = "8.0"
	MYSQL_VERSION_5_7 = "5.7"
)
View Source
const (
	MARIADB_VERSION_10_11 = "10.11"
	MARIADB_VERSION_10_10 = "10.10"
	MARIADB_VERSION_10_9  = "10.9"
	MARIADB_VERSION_10_8  = "10.8"
	MARIADB_VERSION_10_6  = "10.6"
	MARIADB_VERSION_10_5  = "10.5"
	MARIADB_VERSION_10_4  = "10.4"
	MARIADB_VERSION_10_3  = "10.3"
)
View Source
const (
	POSTGRESQL_VERSION_15 = "15"
	POSTGRESQL_VERSION_14 = "14"
	POSTGRESQL_VERSION_13 = "13"
	POSTGRESQL_VERSION_12 = "12"
	POSTGRESQL_VERSION_11 = "11"
)
View Source
const (
	MONGODB_VERSION_6_0 = "6.0"
	MONGODB_VERSION_5_0 = "5.0"
	MONGODB_VERSION_4_4 = "4.4"
	MONGODB_VERSION_4_2 = "4.2"
)
View Source
const (
	REDIS_VERSION_7 = "7"
	REDIS_VERSION_6 = "6"
)
View Source
const (
	MSSQL_VERSION_2019 = "2019"
	MSSQL_VERSION_2022 = "2022"
)
View Source
const (
	ELASTIC_VERSION_8_3_1  = "8.3.1"
	ELASTIC_VERSION_8_1_3  = "8.1.3"
	ELASTIC_VERSION_7_17_3 = "7.17.3"
)
View Source
const (
	CMON_JOB_CREATE_JOB = "createJobInstance"
	CMON_JOB_DELETE_JOB = "deleteJobInstance"
	CMON_JOB_GET_JOB    = "getJobInstance"
)
View Source
const (
	CMON_CLASS_NAME_REDIS_HOST         = "CmonRedisHost"
	CMON_CLASS_NAME_REDIS_SENTNEL_HOST = "CmonRedisSentinelHost"
	CMON_CLASS_NAME_MSSQL_HOST         = "CmonMsSqlHost"
	CMON_CLASS_NAME_ELASTIC_HOST       = "CmonElasticHost"
	CMON_CLASS_NAME_CMON_HOST          = "CmonHost"
	CMON_CLASS_NAME_PROMETHEUS_HOST    = "CmonPrometheusHost"
	CMON_CLASS_NAME_MYSQL_HOST         = "CmonMySqlHost"
	CMON_CLASS_NAME_PROXYSQL_HOST      = "CmonProxySqlHost"
	CMON_CLASS_NAME_PROXYSQL_SRVR_HOST = "CmonProxySqlServer"
	CMON_CLASS_NAME_CMON_AGEN_HOST     = "CmonAgentHost"
	CMON_CLASS_NAME_GALERA_HOST        = "CmonGaleraHost"
	CMON_CLASS_NAME_PROSGRESQL_HOST    = "CmonPostgreSqlHost"
	CMON_CLASS_NAME_HAPROXY_HOST       = "CmonHaProxyHost"
	CMON_CLASS_NAME_PGBACKREST_HOST    = "CmonPgBackRestHost"
	CMON_CLASS_NAME_MONGO_HOST         = "CmonMongoHost"
	CMON_CLASS_NAME_PBM_AGENT_HOST     = "CmonPBMAgentHost"
)
View Source
const (
	CMON_DB_HOST_ROLE_MASTER              = "master"
	CMON_DB_HOST_ROLE_SLAVE               = "slave"
	CMON_DB_HOST_ROLE_MULI                = "multi"     // Master->IntermediateSlave(multi)->Slave
	CMON_DB_HOST_ROLE_MONGO_CFG_SERVER    = "configsvr" // Mongo
	CMON_DB_HOST_ROLE_MONGO_SHARD_SERVER  = "shardsvr"  // Mongo
	CMON_DB_HOST_ROLE_MONGO_MONGOS_SERVER = "mongos"    // Mongo
	CMON_DB_HOST_ROLE_PRIMARY             = "PRIMARY"   // MS SQL
	CMON_DB_HOST_ROLE_SECONDARY           = "SECONDARY" // MS SQL
)
View Source
const (
	// Mongo - a shardsvr can have one primary and many secondaries
	CMON_DB_HOST_MEMBER_ROLE_PRIMARY = "Primary"

	// Mongo - a shardsvr can have one primary and many secondaries
	CMON_DB_HOST_MEMBER_ROLE_SECONDARY = "Secondary"
)
View Source
const (
	CMON_JOB_CREATE_CLUSTER_COMMAND           = "create_cluster"
	CMON_JOB_REMOVE_CLUSTER_COMMAND           = "remove_cluster"
	CMON_JOB_CREATE_PROXYSQL_COMMAND          = "proxysql"
	CMON_JOB_CREATE_HAPROXY_COMMAND           = "haproxy"
	CMON_JOB_CREATE_BACKUP_COMMAND            = "backup"
	CMON_JOB_DELETE_BACKUP_COMMAND            = "delete_backup"
	CMON_JOB_ENABLE_CLUSTER_RECOVERY_COMMAND  = "enable_recovery"
	CMON_JOB_DISABLE_CLUSTER_RECOVERY_COMMAND = "disable_recovery"
	CMON_JOB_ADD_REPLICATION_SLAVE_COMMAND    = "add_replication_slave"
	CMON_JOB_ADD_NODE_COMMAND                 = "addnode"
	CMON_JOB_REMOVE_NODE_COMMAND              = "removenode"
	CMON_JOB_REGISTER_NODE_COMMAND            = "registernode"
	CMON_JOB_ADD_SHARD_COMMAND                = "add_shard"
	CMON_JOB_PROMOTE_REPLICAION_SLAVE_COMMAND = "promote_replication_slave"
	CMON_JOB_PBM_AGENT_COMMAND                = "pbmagent"
	CMON_JOB_PGBACKREST_COMMAND               = "pgbackrest"
)
View Source
const (
	CMON_CLUSTERS_OPERATION_GET_CLUSTERS = "getclusterinfo"
	CMON_CLUSTERS_OPERATION_SET_CONFIG   = "setConfig"
)
View Source
const (
	CMON_MAINTENANCE_OPERATION_ADD_MAINT    = "addMaintenance"
	CMON_MAINTENANCE_OPERATION_REMOVE_MAINT = "removeMaintenance"
)
View Source
const (
	LOAD_BLANCER_TYPE_PROXYSQL = "proxysql"
	LOAD_BLANCER_TYPE_HAPROXY  = "haproxy"
)
View Source
const (
	JOB_ACTION_SETUP_PROXYSQL = "setupProxySql"
	JOB_ACTION_SETUP_HAPROXY  = "setupHaProxy"
	JOB_ACTION_SETUP          = "setup"
)
View Source
const (
	BACKUP_METHOD_XTRABACKUP_FULL  = "xtrabackupfull"
	BACKUP_METHOD_XTRABACKUP_INCR  = "xtrabackupincr"
	BACKUP_METHOD_MARIABACKUP_FULL = "mariabackupfull"
	BACKUP_METHOD_MARIABACKUP_INCR = "mariabackupincr"
	BACKUP_METHOD_MYSQLDUMP        = "mysqldump"
	BACKUP_METHOD_PG_BASEBACKUP    = "pg_basebackup"
	BACKUP_METHOD_PG_BACKREST_FULL = "pgbackrestfull"
	BACKUP_METHOD_PG_BACKREST_INCR = "pgbackrestincr"
	BACKUP_METHOD_PG_BACKREST_DIRR = "pgbackrestdiff"
	BACKUP_METHOD_PGDUMPALL        = "pgdumpall"
	BACKUP_METHOD_MONGODUMP        = "mongodump"
	BACKUP_METHOD_PBM              = "percona-backup-mongodb"
	BACKUP_METHOD_ELASTI_SNAPSHOT  = "elasticsearch-snapshot"
	BACKUP_MSSQL_FULL              = "mssqlfull"
	BACKUP_MSSQL_DIFF              = "mssqldiff"
	BACKUP_MSSQL_TRANSACTION_LOG   = "mssqllog"
)
View Source
const (
	ES_ROLES_MASTER_DATA = "master-data"
	ES_ROLES_MASTER      = "master"
	ES_ROLES_DATA        = "data"
)
View Source
const (
	TF_FIELD_RESOURCE_ID        = "db_resource_id"
	TF_FIELD_LAST_UPDATED       = "last_updated"
	TF_FIELD_CLUSTER_CREATE     = "db_cluster_create"
	TF_FIELD_CLUSTER_IMPORT     = "db_cluster_import"
	TF_FIELD_CLUSTER_ID         = "db_cluster_id"
	TF_FIELD_CLUSTER_NAME       = "db_cluster_name"
	TF_FIELD_CLUSTER_TYPE       = "db_cluster_type"
	TF_FIELD_CLUSTER_VENDOR     = "db_vendor"
	TF_FIELD_CLUSTER_VERSION    = "db_version"
	TF_FIELD_CLUSTER_ADMIN_USER = "db_admin_username"
	TF_FIELD_CLUSTER_ADMIN_PW   = "db_admin_user_password"

	// Using specific port in the external TF
	//TF_FIELD_CLUSTER_PORT                    = "db_port"
	TF_FIELD_CLUSTER_MYSQL_PORT            = "db_mysql_port"
	TF_FIELD_CLUSTER_POSTGRES_PORT         = "db_postgres_port"
	TF_FIELD_CLUSTER_MONGODB_PORT          = "db_mongo_port"
	TF_FIELD_CLUSTER_MONGODB_CFG_SRVR_PORT = "db_mongo_config_server_port"
	TF_FIELD_CLUSTER_REDIS_PORT            = "db_redis_port"
	TF_FIELD_CLUSTER_SENTINEL_PORT         = "db_sentinel_port"
	TF_FIELD_CLUSTER_MSSQL_SERVER_PORT     = "db_mssqlserver_port"
	TF_FIELD_CLUSTER_ELASTIC_HTTP_PORT     = "db_elasticsearch_http_port"
	TF_FIELD_CLUSTER_ELASTIC_TRANSFER_PORT = "db_elasticsearch_transfer_port"

	TF_FIELD_CLUSTER_DATA_DIR           = "db_data_directory"
	TF_FIELD_CLUSTER_CFG_TEMPLATE       = "db_config_template"
	TF_FIELD_CLUSTER_DISABLE_FW         = "disable_firewall"
	TF_FIELD_CLUSTER_DISABLE_SELINUX    = "disable_selinux"
	TF_FIELD_CLUSTER_INSTALL_SW         = "db_install_software"
	TF_FIELD_CLUSTER_ENABLE_UNINSTALL   = "db_enable_uninstall"
	TF_FIELD_CLUSTER_SYNC_REP           = "sync_replication"
	TF_FIELD_CLUSTER_SEMISYNC_REP       = "db_semi_sync_replication"
	TF_FIELD_CLUSTER_PG_TIMESALE_EXT    = "db_enable_timescale"
	TF_FIELD_CLUSTER_SSH_USER           = "ssh_user"
	TF_FIELD_CLUSTER_SSH_PW             = "ssh_user_password"
	TF_FIELD_CLUSTER_SSH_KEY_FILE       = "ssh_key_file"
	TF_FIELD_CLUSTER_SSH_PORT           = "ssh_port"
	TF_FIELD_CLUSTER_SNAPSHOT_LOC       = "db_snapshot_location"
	TF_FIELD_CLUSTER_SNAPSHOT_REPO      = "db_snapshot_repository"
	TF_FIELD_CLUSTER_SNAPSHOT_REPO_TYPE = "db_snapshot_repository_type"
	TF_FIELD_CLUSTER_STORAGE_HOST       = "db_snapshot_storage_host"
	TF_FIELD_CLUSTER_HOST               = "db_host"
	TF_FIELD_CLUSTER_HOSTNAME           = "hostname"
	TF_FIELD_CLUSTER_HOSTNAME_DATA      = "hostname_data"
	TF_FIELD_CLUSTER_HOSTNAME_INT       = "hostname_internal"

	// Set this at the top level and not at the host level. Why?
	// Because: there's no way yet to get it from CMON due to unmarshal restrictions
	// of response from CMON into the response datastructure. Port is
	// returned as multiple data types (e.g. string, int)
	// Currently only used in Load Balancer config
	TF_FIELD_CLUSTER_HOST_PORT = "port"

	TF_FIELD_CLUSTER_HOST_DD                 = "datadir"
	TF_FIELD_CLUSTER_HOST_PRIORITY           = "priority"
	TF_FIELD_CLUSTER_HOST_SLAVE_DELAY        = "slave_delay"
	TF_FIELD_CLUSTER_HOST_ARBITER_ONLY       = "arbiter_only"
	TF_FIELD_CLUSTER_HOST_HIDDEN             = "hidden"
	TF_FIELD_CLUSTER_HOST_PROTO              = "protocol"
	TF_FIELD_CLUSTER_HOST_ROLES              = "roles"
	TF_FIELD_CLUSTER_TOPOLOGY                = "db_topology"
	TF_FIELD_CLUSTER_PRIMARY                 = "primary"
	TF_FIELD_CLUSTER_REPLICA                 = "replica"
	TF_FIELD_CLUSTER_TAGS                    = "db_tags"
	TF_FIELD_CLUSTER_REPLICA_SET             = "db_replica_set"
	TF_FIELD_CLUSTER_REPLICA_SET_RS          = "rs"
	TF_FIELD_CLUSTER_REPLICA_MEMBER          = "member"
	TF_FIELD_CLUSTER_MONGO_CONFIG_SERVER     = "db_config_server"
	TF_FIELD_CLUSTER_MONGOS_SERVER           = "db_mongos_server"
	TF_FIELD_CLUSTER_TIMEOUTS                = "timeouts"
	TF_FIELD_CLUSTER_DEPLOY_AGENTS           = "db_deploy_agents"
	TF_FIELD_CLUSTER_AUTO_RECOVERY           = "db_auto_recovery"
	TF_FIELD_CLUSTER_SSL                     = "db_enable_ssl"
	TF_FIELD_CLUSTER_MONGO_AUTH_DB           = "db_mongo_auth_db"
	TF_FIELD_CLUSTER_ENABLE_PGM_AGENT        = "db_enable_pbm_agent"
	TF_FIELD_CLUSTER_PBM_BACKUP_DIR          = "db_pbm_backup_dir"
	TF_FIELD_CLUSTER_ENABLE_PGBACKREST_AGENT = "db_enable_pgbackrest_agent"
	TF_FIELD_CLUSTER_LOAD_BALANCER           = "db_load_balancer"

	// Load balancer fields
	TF_FIELD_LB_CREATE           = "db_lb_create"
	TF_FIELD_LB_IMPORT           = "db_lb_import"
	TF_FIELD_LB_TYPE             = "db_lb_type"
	TF_FIELD_LB_VERSION          = "db_lb_version"
	TF_FIELD_LB_ADMIN_USER       = "db_lb_admin_username"
	TF_FIELD_LB_ADMIN_USER_PW    = "db_lb_admin_user_password"
	TF_FIELD_LB_MONITOR_USER     = "db_lb_monitor_username"
	TF_FIELD_LB_MONITOR_USER_PW  = "db_lb_monitor_user_password"
	TF_FIELD_LB_PORT             = "db_lb_port"
	TF_FIELD_LB_ADMIN_PORT       = "db_lb_admin_port"
	TF_FIELD_LB_USE_CLUSTERING   = "db_lb_use_clustering"
	TF_FIELD_LB_USE_RW_SPLITTING = "db_lb_use_rw_splitting"
	TF_FIELD_LB_INSTALL_SW       = "db_lb_install_software"
	TF_FIELD_LB_MY_HOST          = "db_my_host"
	TF_FIELD_LB_ENABLE_UNINSTALL = "db_lb_enable_uninstall"

	// Maintenance fields
	TF_FIELD_MAINT_START_TIME = "db_maint_start_time"
	TF_FIELD_MAINT_STOP_TIME  = "db_maint_stop_time"
	TF_FIELD_MAINT_REASON     = "db_maint_reason"

	// Backup fields
	TF_FIELD_BACKUP_METHOD            = "db_backup_method"
	TF_FIELD_BACKUP_DIR               = "db_backup_dir"
	TF_FIELD_BACKUP_SUBDIR            = "db_backup_subdir"
	TF_FIELD_BACKUP_ENCRYPT           = "db_backup_encrypt"
	TF_FIELD_BACKUP_HOST              = "db_backup_host"
	TF_FIELD_BACKUP_COMPRESSION       = "db_backup_compression"
	TF_FIELD_BACKUP_COMPRESSION_LEVEL = "db_backup_compression_level"
	TF_FIELD_BACKUP_RETENTION         = "db_backup_retention"
	TF_FIELD_BACKUP_ON_CONTROLLER     = "db_backup_storage_controller"
	TF_FIELD_BACKUP_FAILOVER_HOST     = "db_backup_failover_host"   // MONGODUMP only
	TF_FIELD_BACKUP_FAILOVER          = "db_enable_backup_failover" // MONGODUMP only
	TF_FIELD_BACKUP_STORAGE_HOST      = "db_backup_storage_host"
	TF_FIELD_BACKUP_SYSTEM_DB         = "db_backup_system_db"

	// Backup schedule fields
	TF_FIELD_BACKUP_SCHED_TITLE = "db_backup_sched_title"
	TF_FIELD_BACKUP_SCHED_TIME  = "db_backup_sched_time"
)
View Source
const (
	JOB_STATUS_DEFINED   = "DEFINED"
	JOB_STATUS_RUNNING   = "RUNNING"
	JOB_STATUS_FINISHED  = "FINISHED"
	JOB_STATUS_SCHEDULED = "SCHEDULED"
)
View Source
const (
	BACKUP_ORDER_CREATED_DESC = "created DESC"
)
View Source
const BACKUP_RECORD_VERSION_2 = 2
View Source
const (
	CMON_BACKUP_OPERATION_GET = "getBackups"
)
View Source
const (
	CMON_JOB_CLASS_NAME = "CmonJobInstance"
)
View Source
const (
	CMON_MOCK_USER = "mock-user"
)
View Source
const (
	CMON_OP_AUTHENTICATE_WITH_PW = "authenticateWithPassword"
)

move to the CC client SDK library

View Source
const (
	ES_PROTO_ELASTIC = "elastic"
)
View Source
const (
	MONGO_DEFAULT_AUTH_DB = "admin"
)
View Source
const (
	STINRG_AUTO = "auto"
)
View Source
const (
	TIME_FORMAT = "Jan-02-2006T15:04"
)

Variables

View Source
var (
	CMON_CLUSTERS_OPERATION_SET_NAME        = "name"
	CMON_CLUSTERS_OPERATION_SET_CLUSTER_TAG = "tags"
)

Functions

func CheckForEmpty

func CheckForEmpty(chkVal *string) error

func CheckForEmptyAndSet

func CheckForEmptyAndSet(chkVal *string, toVal string)

func CheckForEmptyAndSetDefault

func CheckForEmptyAndSetDefault(chkVal *string, someMap map[string]string, mapKey string) error

func CreateJobAndGetJobId

func CreateJobAndGetJobId(ctx context.Context, apiClient *openapi.APIClient, job *openapi.Jobs) (int32, error)

func GetBackupIdForCluster

func GetBackupIdForCluster(ctx context.Context, apiClient *openapi.APIClient, clusterId int32, jobId int32) (int32, error)

func GetClusterByClusterIntId

func GetClusterByClusterIntId(ctx context.Context, apiClient *openapi.APIClient, clusterId int32) (*openapi.ClusterResponse, error)

func GetClusterByClusterStrId

func GetClusterByClusterStrId(ctx context.Context, apiClient *openapi.APIClient, clusterIdStr string) (*openapi.ClusterResponse, error)

func GetClusterIdByClusterName

func GetClusterIdByClusterName(ctx context.Context, apiClient *openapi.APIClient, clusterName string) (int32, error)

func GetClusterIdFromSchema

func GetClusterIdFromSchema(d *schema.ResourceData) (int32, diag.Diagnostics)

func NewCCJob

func NewCCJob(clusterOperation string) *openapi.Jobs

func NewCCJobForJobStatusCheck

func NewCCJobForJobStatusCheck(jobId int32) *openapi.Jobs

func PrintError

func PrintError(err error, resp *http.Response)

func Provider

func Provider() *schema.Provider

func SendAndWaitForJobCompletion

func SendAndWaitForJobCompletion(ctx context.Context, apiClient *openapi.APIClient, job *openapi.Jobs) error

func SendAndWaitForJobCompletionAndId

func SendAndWaitForJobCompletionAndId(ctx context.Context, apiClient *openapi.APIClient, job *openapi.Jobs) (int32, error)

Types

type BackupGetOperationResponse

type BackupGetOperationResponse struct {
	Request_Status string
	Total          int32
	Backup_Records []openapi.BackupResponseBackupRecordsInner
}

type BackupGetOperationResponseTop

type BackupGetOperationResponseTop struct {
	Controller_Id  string
	Request_Status string
	Total          int32
}

type ClusterResponseFields

type ClusterResponseFields struct {
	Request_Status string
	Cluster        openapi.ClusterResponse
}

type DbBackupCommon

type DbBackupCommon struct{}

func (*DbBackupCommon) GetBackupInputs

func (c *DbBackupCommon) GetBackupInputs(d *schema.ResourceData, jobData *openapi.JobsJobJobSpecJobData) error

func (*DbBackupCommon) IsValidBackupOptions

func (c *DbBackupCommon) IsValidBackupOptions(vendor string, clusterType string, jobData *openapi.JobsJobJobSpecJobData) error

func (*DbBackupCommon) SetBackupJobData

func (c *DbBackupCommon) SetBackupJobData(jobData *openapi.JobsJobJobSpecJobData) error

type DbClusterBackupInterface

type DbClusterBackupInterface interface {
	GetBackupInputs(d *schema.ResourceData, jobData *openapi.JobsJobJobSpecJobData) error
	IsValidBackupOptions(vendor string, clusterType string, jobData *openapi.JobsJobJobSpecJobData) error
	SetBackupJobData(jobData *openapi.JobsJobJobSpecJobData) error
	IsBackupRemovable(clusterInfo *openapi.ClusterResponse, jobData *openapi.JobsJobJobSpecJobData) bool
}

type DbClusterInterface

type DbClusterInterface interface {
	GetInputs(d *schema.ResourceData, jobData *openapi.JobsJobJobSpecJobData) error
	HandleRead(ctx context.Context, d *schema.ResourceData, m interface{}, clusterInfo *openapi.ClusterResponse) error
	IsUpdateBatchAllowed(d *schema.ResourceData) error
	HandleUpdate(ctx context.Context, d *schema.ResourceData, m interface{}, clusterInfo *openapi.ClusterResponse) error
}

type DbClusterTypeBase

type DbClusterTypeBase struct {
	ClusterName           string
	ClusterType           string
	ClusterVendor         string
	ClusterVersion        string
	ClusterConfigTemplate string
}

func NewClusterTypeBase

func NewClusterTypeBase(clusterType string, vendor string, version string) *DbClusterTypeBase

type DbCommon

type DbCommon struct{}

func (*DbCommon) GetInputs

func (c *DbCommon) GetInputs(d *schema.ResourceData, jobData *openapi.JobsJobJobSpecJobData) error

func (*DbCommon) HandleRead

func (c *DbCommon) HandleRead(ctx context.Context, d *schema.ResourceData, m interface{}, clusterInfo *openapi.ClusterResponse) error

func (*DbCommon) HandleUpdate

func (c *DbCommon) HandleUpdate(ctx context.Context, d *schema.ResourceData, m interface{}, clusterInfo *openapi.ClusterResponse) error

******************************************************************************* Method: HandleUpdate()

Prerequisite: The caller of this method has already called IsUpdateBatchAllowed() to check whether the allowed batch of updates is allowed or now. If disallowed, the caller should NOT call this method. *******************************************************************************

func (*DbCommon) HostAndClassCompare

func (c *DbCommon) HostAndClassCompare(one *openapi.JobsJobJobSpecJobDataNodesInner, two *openapi.ClusterResponseHostsInner, options ...string) bool

func (*DbCommon) IsUpdateBatchAllowed

func (c *DbCommon) IsUpdateBatchAllowed(d *schema.ResourceData) error

******************************************************************************* Method: IsUpdateBatchAllowed()

NOTE - check if a given update batch is allowed or not. For, e.g. updates to Name and/or Tags should not be compbined with updates to other fields such as - cluster-auto-recovery, add-node, remove-node, etc. This needs to be kept in mind! The check is handled in this method. *******************************************************************************

type DbLoadBalancerInterface

type DbLoadBalancerInterface interface {
	GetInputs(d map[string]any, jobData *openapi.JobsJobJobSpecJobData) error
}

type Elastic

type Elastic struct {
	Common DbCommon
	Backup DbBackupCommon
}

func NewElastic

func NewElastic() *Elastic

func (*Elastic) GetBackupInputs

func (c *Elastic) GetBackupInputs(d *schema.ResourceData, jobData *openapi.JobsJobJobSpecJobData) error

func (*Elastic) GetInputs

func (m *Elastic) GetInputs(d *schema.ResourceData, jobData *openapi.JobsJobJobSpecJobData) error

func (*Elastic) HandleRead

func (c *Elastic) HandleRead(ctx context.Context, d *schema.ResourceData, m interface{}, clusterInfo *openapi.ClusterResponse) error

func (*Elastic) HandleUpdate

func (c *Elastic) HandleUpdate(ctx context.Context, d *schema.ResourceData, m interface{}, clusterInfo *openapi.ClusterResponse) error

func (*Elastic) IsBackupRemovable

func (c *Elastic) IsBackupRemovable(clusterInfo *openapi.ClusterResponse, jobData *openapi.JobsJobJobSpecJobData) bool

func (*Elastic) IsUpdateBatchAllowed

func (c *Elastic) IsUpdateBatchAllowed(d *schema.ResourceData) error

func (*Elastic) IsValidBackupOptions

func (c *Elastic) IsValidBackupOptions(vendor string, clusterType string, jobData *openapi.JobsJobJobSpecJobData) error

func (*Elastic) SetBackupJobData

func (c *Elastic) SetBackupJobData(jobData *openapi.JobsJobJobSpecJobData) error

type HAProxy

type HAProxy struct {
	Common LBCommon
}

func NewHAProxy

func NewHAProxy() *HAProxy

func (*HAProxy) GetInputs

func (m *HAProxy) GetInputs(d map[string]any, jobData *openapi.JobsJobJobSpecJobData) error

type JobResponseFields

type JobResponseFields struct {
	Request_Status string
	Job            MinJobSpecificResponseFields
}

type LBCommon

type LBCommon struct {
}

func (*LBCommon) GetInputs

func (m *LBCommon) GetInputs(d map[string]any, jobData *openapi.JobsJobJobSpecJobData) error

type MaintenanceGetOperationResponse

type MaintenanceGetOperationResponse struct {
	Request_Status      string
	Total               int32
	Maintenance_Records openapi.MaintenanceResponse
}

type MaintenanceOperationResponse

type MaintenanceOperationResponse struct {
	Request_Status string
	UUID           string
}

type MinJobSpecificResponseFields

type MinJobSpecificResponseFields struct {
	Job_Id      int32
	Status      string
	Status_Text string
}

type MinResponseFields

type MinResponseFields struct {
	Controller_Id  string
	Request_Status string
	Debug_Messages []string
}

type MongoDb

type MongoDb struct {
	Common DbCommon
	Backup DbBackupCommon
}

func NewMongo

func NewMongo() *MongoDb

func (*MongoDb) GetBackupInputs

func (m *MongoDb) GetBackupInputs(d *schema.ResourceData, jobData *openapi.JobsJobJobSpecJobData) error

func (*MongoDb) GetInputs

func (m *MongoDb) GetInputs(d *schema.ResourceData, jobData *openapi.JobsJobJobSpecJobData) error

func (*MongoDb) HandleRead

func (c *MongoDb) HandleRead(ctx context.Context, d *schema.ResourceData, m interface{}, clusterInfo *openapi.ClusterResponse) error

func (*MongoDb) HandleUpdate

func (c *MongoDb) HandleUpdate(ctx context.Context, d *schema.ResourceData, m interface{}, clusterInfo *openapi.ClusterResponse) error

func (*MongoDb) HostClassRoleAndReplicasetCompare

func (c *MongoDb) HostClassRoleAndReplicasetCompare(one *openapi.JobsJobJobSpecJobDataNodesInner, two *openapi.ClusterResponseHostsInner, options ...string) bool

func (*MongoDb) IsBackupRemovable

func (c *MongoDb) IsBackupRemovable(clusterInfo *openapi.ClusterResponse, jobData *openapi.JobsJobJobSpecJobData) bool

func (*MongoDb) IsUpdateBatchAllowed

func (c *MongoDb) IsUpdateBatchAllowed(d *schema.ResourceData) error

func (*MongoDb) IsValidBackupOptions

func (c *MongoDb) IsValidBackupOptions(vendor string, clusterType string, jobData *openapi.JobsJobJobSpecJobData) error

func (*MongoDb) SetBackupJobData

func (c *MongoDb) SetBackupJobData(jobData *openapi.JobsJobJobSpecJobData) error

type MsSql

type MsSql struct {
	Common DbCommon
	Backup DbBackupCommon
}

func NewMsSql

func NewMsSql() *MsSql

func (*MsSql) GetBackupInputs

func (c *MsSql) GetBackupInputs(d *schema.ResourceData, jobData *openapi.JobsJobJobSpecJobData) error

func (*MsSql) GetInputs

func (m *MsSql) GetInputs(d *schema.ResourceData, jobData *openapi.JobsJobJobSpecJobData) error

func (*MsSql) HandleRead

func (c *MsSql) HandleRead(ctx context.Context, d *schema.ResourceData, m interface{}, clusterInfo *openapi.ClusterResponse) error

func (*MsSql) HandleUpdate

func (c *MsSql) HandleUpdate(ctx context.Context, d *schema.ResourceData, m interface{}, clusterInfo *openapi.ClusterResponse) error

func (*MsSql) IsBackupRemovable

func (c *MsSql) IsBackupRemovable(clusterInfo *openapi.ClusterResponse, jobData *openapi.JobsJobJobSpecJobData) bool

func (*MsSql) IsUpdateBatchAllowed

func (c *MsSql) IsUpdateBatchAllowed(d *schema.ResourceData) error

func (*MsSql) IsValidBackupOptions

func (c *MsSql) IsValidBackupOptions(vendor string, clusterType string, jobData *openapi.JobsJobJobSpecJobData) error

func (*MsSql) SetBackupJobData

func (c *MsSql) SetBackupJobData(jobData *openapi.JobsJobJobSpecJobData) error

type MySQLMaria

type MySQLMaria struct {
	Common       DbCommon
	Backup       DbBackupCommon
	LoadBalancer LBCommon
}

func NewMySQLMaria

func NewMySQLMaria() *MySQLMaria

func (*MySQLMaria) GetBackupInputs

func (m *MySQLMaria) GetBackupInputs(d *schema.ResourceData, jobData *openapi.JobsJobJobSpecJobData) error

func (*MySQLMaria) GetInputs

func (m *MySQLMaria) GetInputs(d *schema.ResourceData, jobData *openapi.JobsJobJobSpecJobData) error

func (*MySQLMaria) HandleRead

func (c *MySQLMaria) HandleRead(ctx context.Context, d *schema.ResourceData, m interface{}, clusterInfo *openapi.ClusterResponse) error

func (*MySQLMaria) HandleUpdate

func (c *MySQLMaria) HandleUpdate(ctx context.Context, d *schema.ResourceData, m interface{}, clusterInfo *openapi.ClusterResponse) error

func (*MySQLMaria) IsBackupRemovable

func (c *MySQLMaria) IsBackupRemovable(clusterInfo *openapi.ClusterResponse, jobData *openapi.JobsJobJobSpecJobData) bool

func (*MySQLMaria) IsUpdateBatchAllowed

func (c *MySQLMaria) IsUpdateBatchAllowed(d *schema.ResourceData) error

func (*MySQLMaria) IsValidBackupOptions

func (c *MySQLMaria) IsValidBackupOptions(vendor string, clusterType string, jobData *openapi.JobsJobJobSpecJobData) error

func (*MySQLMaria) SetBackupJobData

func (c *MySQLMaria) SetBackupJobData(jobData *openapi.JobsJobJobSpecJobData) error

type PostgresSql

type PostgresSql struct {
	Common DbCommon
	Backup DbBackupCommon
}

func NewPostgres

func NewPostgres() *PostgresSql

func (*PostgresSql) GetBackupInputs

func (c *PostgresSql) GetBackupInputs(d *schema.ResourceData, jobData *openapi.JobsJobJobSpecJobData) error

func (*PostgresSql) GetInputs

func (*PostgresSql) HandleRead

func (c *PostgresSql) HandleRead(ctx context.Context, d *schema.ResourceData, m interface{}, clusterInfo *openapi.ClusterResponse) error

func (*PostgresSql) HandleUpdate

func (c *PostgresSql) HandleUpdate(ctx context.Context, d *schema.ResourceData, m interface{}, clusterInfo *openapi.ClusterResponse) error

func (*PostgresSql) IsBackupRemovable

func (c *PostgresSql) IsBackupRemovable(clusterInfo *openapi.ClusterResponse, jobData *openapi.JobsJobJobSpecJobData) bool

func (*PostgresSql) IsUpdateBatchAllowed

func (c *PostgresSql) IsUpdateBatchAllowed(d *schema.ResourceData) error

func (*PostgresSql) IsValidBackupOptions

func (c *PostgresSql) IsValidBackupOptions(vendor string, clusterType string, jobData *openapi.JobsJobJobSpecJobData) error

func (*PostgresSql) SetBackupJobData

func (c *PostgresSql) SetBackupJobData(jobData *openapi.JobsJobJobSpecJobData) error

type ProviderDetails added in v0.2.16

type ProviderDetails struct {
	//SessionIdCtx context.Context
	SessionCookie *http.Cookie
	Cfg           *openapi.Configuration
	ApiClient     *openapi.APIClient
}

func NewProviderDetails added in v0.2.16

func NewProviderDetails(cookie *http.Cookie, configuration *openapi.Configuration, client *openapi.APIClient) *ProviderDetails

type ProxySql

type ProxySql struct {
	Common LBCommon
}

func NewProxySql

func NewProxySql() *ProxySql

func (*ProxySql) GetInputs

func (m *ProxySql) GetInputs(d map[string]any, jobData *openapi.JobsJobJobSpecJobData) error

type Redis

type Redis struct {
	Common DbCommon
	Backup DbBackupCommon
}

func NewRedis

func NewRedis() *Redis

func (*Redis) GetBackupInputs

func (c *Redis) GetBackupInputs(d *schema.ResourceData, jobData *openapi.JobsJobJobSpecJobData) error

func (*Redis) GetInputs

func (m *Redis) GetInputs(d *schema.ResourceData, jobData *openapi.JobsJobJobSpecJobData) error

func (*Redis) HandleRead

func (c *Redis) HandleRead(ctx context.Context, d *schema.ResourceData, m interface{}, clusterInfo *openapi.ClusterResponse) error

func (*Redis) HandleUpdate

func (c *Redis) HandleUpdate(ctx context.Context, d *schema.ResourceData, m interface{}, clusterInfo *openapi.ClusterResponse) error

func (*Redis) IsBackupRemovable

func (c *Redis) IsBackupRemovable(clusterInfo *openapi.ClusterResponse, jobData *openapi.JobsJobJobSpecJobData) bool

func (*Redis) IsUpdateBatchAllowed

func (c *Redis) IsUpdateBatchAllowed(d *schema.ResourceData) error

func (*Redis) IsValidBackupOptions

func (c *Redis) IsValidBackupOptions(vendor string, clusterType string, jobData *openapi.JobsJobJobSpecJobData) error

func (*Redis) SetBackupJobData

func (c *Redis) SetBackupJobData(jobData *openapi.JobsJobJobSpecJobData) error

Jump to

Keyboard shortcuts

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