property_util

package
v1.1.1 Latest Latest
Warning

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

Go to latest
Published: Oct 17, 2025 License: Apache-2.0 Imports: 11 Imported by: 8

Documentation

Index

Constants

View Source
const (
	PGX_DRIVER_PROTOCOL   = "postgresql"
	MYSQL_DRIVER_PROTOCOL = "mysql"
	NET_PROP_KEY          = "net"
)
View Source
const BG_PROPERTY_PREFIX = "blue-green-monitoring-"
View Source
const DEFAULT_PLUGINS = "failover,efm"
View Source
const INTERNAL_CONNECT_PROPERTY_NAME = "76c06979-49c4-4c86-9600-a63605b83f50"
View Source
const LIMITLESS_PROPERTY_PREFIX = "limitless"
View Source
const MONITORING_PROPERTY_PREFIX = "monitoring-"
View Source
const SET_READ_ONLY_CTX_KEY = "setReadOnly"

Variables

View Source
var ALL_WRAPPER_PROPERTIES = map[string]bool{
	USER.Name:                                      true,
	PASSWORD.Name:                                  true,
	HOST.Name:                                      true,
	PORT.Name:                                      true,
	DATABASE.Name:                                  true,
	DRIVER_PROTOCOL.Name:                           true,
	NET.Name:                                       true,
	SINGLE_WRITER_DSN.Name:                         true,
	PLUGINS.Name:                                   true,
	AUTO_SORT_PLUGIN_ORDER.Name:                    true,
	DIALECT.Name:                                   true,
	TARGET_DRIVER_DIALECT.Name:                     true,
	TARGET_DRIVER_AUTO_REGISTER.Name:               true,
	CLUSTER_TOPOLOGY_REFRESH_RATE_MS.Name:          true,
	CLUSTER_ID.Name:                                true,
	CLUSTER_INSTANCE_HOST_PATTERN.Name:             true,
	AWS_PROFILE.Name:                               true,
	IAM_HOST.Name:                                  true,
	IAM_EXPIRATION_SEC.Name:                        true,
	IAM_REGION.Name:                                true,
	IAM_DEFAULT_PORT.Name:                          true,
	SECRETS_MANAGER_SECRET_ID.Name:                 true,
	SECRETS_MANAGER_REGION.Name:                    true,
	SECRETS_MANAGER_ENDPOINT.Name:                  true,
	SECRETS_MANAGER_EXPIRATION_SEC.Name:            true,
	FAILURE_DETECTION_TIME_MS.Name:                 true,
	FAILURE_DETECTION_INTERVAL_MS.Name:             true,
	FAILURE_DETECTION_COUNT.Name:                   true,
	MONITOR_DISPOSAL_TIME_MS.Name:                  true,
	FAILOVER_TIMEOUT_MS.Name:                       true,
	FAILOVER_MODE.Name:                             true,
	FAILOVER_READER_HOST_SELECTOR_STRATEGY.Name:    true,
	ENABLE_CONNECT_FAILOVER.Name:                   true,
	CLUSTER_TOPOLOGY_HIGH_REFRESH_RATE_MS.Name:     true,
	WEIGHTED_RANDOM_HOST_WEIGHT_PAIRS.Name:         true,
	IAM_TOKEN_EXPIRATION_SEC.Name:                  true,
	IDP_USERNAME.Name:                              true,
	IDP_PASSWORD.Name:                              true,
	IDP_PORT.Name:                                  true,
	IAM_ROLE_ARN.Name:                              true,
	IAM_IDP_ARN.Name:                               true,
	IDP_ENDPOINT.Name:                              true,
	RELAYING_PARTY_ID.Name:                         true,
	DB_USER.Name:                                   true,
	APP_ID.Name:                                    true,
	HTTP_TIMEOUT_MS.Name:                           true,
	SSL_INSECURE.Name:                              true,
	ENABLE_TELEMETRY.Name:                          true,
	TELEMETRY_SUBMIT_TOP_LEVEL.Name:                true,
	TELEMETRY_TRACES_BACKEND.Name:                  true,
	TELEMETRY_METRICS_BACKEND.Name:                 true,
	TELEMETRY_FAILOVER_ADDITIONAL_TOP_TRACE.Name:   true,
	LIMITLESS_MONITORING_INTERVAL_MS.Name:          true,
	LIMITLESS_MONITORING_DISPOSAL_TIME_MS.Name:     true,
	LIMITLESS_ROUTER_CACHE_EXPIRATION_TIME_MS.Name: true,
	LIMITLESS_WAIT_FOR_ROUTER_INFO.Name:            true,
	LIMITLESS_GET_ROUTER_MAX_RETRIES.Name:          true,
	LIMITLESS_GET_ROUTER_RETRY_INTERVAL_MS.Name:    true,
	LIMITLESS_MAX_CONN_RETRIES.Name:                true,
	LIMITLESS_ROUTER_QUERY_TIMEOUT_MS.Name:         true,
	TRANSFER_SESSION_STATE_ON_SWITCH.Name:          true,
	RESET_SESSION_STATE_ON_CLOSE.Name:              true,
	ROLLBACK_ON_SWITCH.Name:                        true,
	READER_HOST_SELECTOR_STRATEGY.Name:             true,
	BG_CONNECT_TIMEOUT_MS.Name:                     true,
	BGD_ID.Name:                                    true,
	BG_INTERVAL_BASELINE_MS.Name:                   true,
	BG_INTERVAL_INCREASED_MS.Name:                  true,
	BG_INTERVAL_HIGH_MS.Name:                       true,
	BG_SWITCHOVER_TIMEOUT_MS.Name:                  true,
	BG_SUSPEND_NEW_BLUE_CONNECTIONS.Name:           true,
}
View Source
var APP_ID = AwsWrapperProperty{
	Name: "appId",
	// contains filtered or unexported fields
}
View Source
var AUTO_SORT_PLUGIN_ORDER = AwsWrapperProperty{
	Name: "autoSortPluginOrder",
	// contains filtered or unexported fields
}
View Source
var AWS_PROFILE = AwsWrapperProperty{
	Name: "awsProfile",
	// contains filtered or unexported fields
}
View Source
var BGD_ID = AwsWrapperProperty{
	Name: "bgdId",
	// contains filtered or unexported fields
}
View Source
var BG_CONNECT_TIMEOUT_MS = AwsWrapperProperty{
	Name: "bgConnectTimeoutMs",
	// contains filtered or unexported fields
}
View Source
var BG_INTERVAL_BASELINE_MS = AwsWrapperProperty{
	Name: "bgBaselineMs",
	// contains filtered or unexported fields
}
View Source
var BG_INTERVAL_HIGH_MS = AwsWrapperProperty{
	Name: "bgHighMs",
	// contains filtered or unexported fields
}
View Source
var BG_INTERVAL_INCREASED_MS = AwsWrapperProperty{
	Name: "bgIncreasedMs",
	// contains filtered or unexported fields
}
View Source
var BG_SUSPEND_NEW_BLUE_CONNECTIONS = AwsWrapperProperty{
	Name: "bgSuspendNewBlueConnections",
	// contains filtered or unexported fields
}
View Source
var BG_SWITCHOVER_TIMEOUT_MS = AwsWrapperProperty{
	Name: "bgSwitchoverTimeoutMs",
	// contains filtered or unexported fields
}
View Source
var CLUSTER_ID = AwsWrapperProperty{
	Name: "clusterId",
	// contains filtered or unexported fields
}
View Source
var CLUSTER_INSTANCE_HOST_PATTERN = AwsWrapperProperty{
	Name: "clusterInstanceHostPattern",
	// contains filtered or unexported fields
}
View Source
var CLUSTER_TOPOLOGY_HIGH_REFRESH_RATE_MS = AwsWrapperProperty{
	Name: "clusterTopologyHighRefreshRateMs",
	// contains filtered or unexported fields
}
View Source
var CLUSTER_TOPOLOGY_REFRESH_RATE_MS = AwsWrapperProperty{
	Name: "clusterTopologyRefreshRateMs",
	// contains filtered or unexported fields
}
View Source
var DATABASE = AwsWrapperProperty{
	Name: "database",
	// contains filtered or unexported fields
}
View Source
var DB_USER = AwsWrapperProperty{
	Name: "dbUser",
	// contains filtered or unexported fields
}
View Source
var DIALECT = AwsWrapperProperty{
	Name: "databaseDialect",
	// contains filtered or unexported fields
}
View Source
var DRIVER_PROTOCOL = AwsWrapperProperty{
	Name: "protocol",
	// contains filtered or unexported fields
}
View Source
var ENABLE_CONNECT_FAILOVER = AwsWrapperProperty{
	Name: "enableConnectFailover",
	// contains filtered or unexported fields
}
View Source
var ENABLE_TELEMETRY = AwsWrapperProperty{
	Name: "enableTelemetry",
	// contains filtered or unexported fields
}
View Source
var FAILOVER_MODE = AwsWrapperProperty{
	Name: "failoverMode",
	// contains filtered or unexported fields
}
View Source
var FAILOVER_READER_HOST_SELECTOR_STRATEGY = AwsWrapperProperty{
	Name: "failoverReaderHostSelectorStrategy",
	// contains filtered or unexported fields
}
View Source
var FAILOVER_TIMEOUT_MS = AwsWrapperProperty{
	Name: "failoverTimeoutMs",
	// contains filtered or unexported fields
}
View Source
var FAILURE_DETECTION_COUNT = AwsWrapperProperty{
	Name: "failureDetectionCount",
	// contains filtered or unexported fields
}
View Source
var FAILURE_DETECTION_INTERVAL_MS = AwsWrapperProperty{
	Name: "failureDetectionIntervalMs",
	// contains filtered or unexported fields
}
View Source
var FAILURE_DETECTION_TIME_MS = AwsWrapperProperty{
	Name: "failureDetectionTimeMs",
	// contains filtered or unexported fields
}
View Source
var HOST = AwsWrapperProperty{
	Name: "host",
	// contains filtered or unexported fields
}
View Source
var HTTP_TIMEOUT_MS = AwsWrapperProperty{
	Name: "httpTimeoutMs",
	// contains filtered or unexported fields
}
View Source
var IAM_DEFAULT_PORT = AwsWrapperProperty{
	Name: "iamDefaultPort",
	// contains filtered or unexported fields
}
View Source
var IAM_EXPIRATION_SEC = AwsWrapperProperty{
	Name: "iamExpirationSec",
	// contains filtered or unexported fields
}
View Source
var IAM_HOST = AwsWrapperProperty{
	Name: "iamHost",
	// contains filtered or unexported fields
}
View Source
var IAM_IDP_ARN = AwsWrapperProperty{
	Name: "iamIdpArn",
	// contains filtered or unexported fields
}
View Source
var IAM_REGION = AwsWrapperProperty{
	Name: "iamRegion",
	// contains filtered or unexported fields
}
View Source
var IAM_ROLE_ARN = AwsWrapperProperty{
	Name: "iamRoleArn",
	// contains filtered or unexported fields
}
View Source
var IAM_TOKEN_EXPIRATION_SEC = AwsWrapperProperty{
	Name: "iamTokenExpirationSec",
	// contains filtered or unexported fields
}
View Source
var IDP_ENDPOINT = AwsWrapperProperty{
	Name: "idpEndpoint",
	// contains filtered or unexported fields
}
View Source
var IDP_PASSWORD = AwsWrapperProperty{
	Name: "idpPassword",
	// contains filtered or unexported fields
}
View Source
var IDP_PORT = AwsWrapperProperty{
	Name: "idpPort",
	// contains filtered or unexported fields
}
View Source
var IDP_USERNAME = AwsWrapperProperty{
	Name: "idpUsername",
	// contains filtered or unexported fields
}
View Source
var LIMITLESS_GET_ROUTER_MAX_RETRIES = AwsWrapperProperty{
	Name: "limitlessGetTransactionRouterInfoMaxRetries",
	// contains filtered or unexported fields
}
View Source
var LIMITLESS_GET_ROUTER_RETRY_INTERVAL_MS = AwsWrapperProperty{
	Name: "limitlessGetTransactionRouterInfoRetryIntervalMs",
	// contains filtered or unexported fields
}
View Source
var LIMITLESS_MAX_CONN_RETRIES = AwsWrapperProperty{
	Name: "limitlessConnectMaxRetries",
	// contains filtered or unexported fields
}
View Source
var LIMITLESS_MONITORING_DISPOSAL_TIME_MS = AwsWrapperProperty{
	Name: "limitlessTransactionRouterMonitorDisposalTimeMs",
	// contains filtered or unexported fields
}
View Source
var LIMITLESS_MONITORING_INTERVAL_MS = AwsWrapperProperty{
	Name: "limitlessMonitoringIntervalMs",
	// contains filtered or unexported fields
}
View Source
var LIMITLESS_ROUTER_CACHE_EXPIRATION_TIME_MS = AwsWrapperProperty{
	Name: "limitlessTransactionRouterCacheExpirationTimeMs",
	// contains filtered or unexported fields
}
View Source
var LIMITLESS_ROUTER_QUERY_TIMEOUT_MS = AwsWrapperProperty{
	Name: "limitlessTransactionRouterFetchTimeoutMs",
	// contains filtered or unexported fields
}
View Source
var LIMITLESS_USE_SHARD_GROUP_URL = AwsWrapperProperty{
	Name: "limitlessUseShardGroupUrl",
	// contains filtered or unexported fields
}
View Source
var LIMITLESS_WAIT_FOR_ROUTER_INFO = AwsWrapperProperty{
	Name: "limitlessWaitForTransactionRouterInfo",
	// contains filtered or unexported fields
}
View Source
var MONITOR_DISPOSAL_TIME_MS = AwsWrapperProperty{
	Name: "monitorDisposalTimeMs",
	// contains filtered or unexported fields
}
View Source
var NET = AwsWrapperProperty{
	Name: "net",
	// contains filtered or unexported fields
}
View Source
var PASSWORD = AwsWrapperProperty{
	Name: "password",
	// contains filtered or unexported fields
}
View Source
var PLUGINS = AwsWrapperProperty{
	Name: "plugins",
	// contains filtered or unexported fields
}
View Source
var PORT = AwsWrapperProperty{
	Name: "port",
	// contains filtered or unexported fields
}
View Source
var READER_HOST_SELECTOR_STRATEGY = AwsWrapperProperty{
	Name: "readerHostSelectorStrategy",
	// contains filtered or unexported fields
}
View Source
var RELAYING_PARTY_ID = AwsWrapperProperty{
	Name: "rpIdentifier",
	// contains filtered or unexported fields
}
View Source
var RESET_SESSION_STATE_ON_CLOSE = AwsWrapperProperty{
	"resetSessionStateOnClose",
	"Enables resetting connection session state before closing it.",
	"true",
	WRAPPER_TYPE_BOOL,
}
View Source
var ROLLBACK_ON_SWITCH = AwsWrapperProperty{
	"rollbackOnSwitch",
	"Enables rollback of an in progress transaction when switching to a new connection.",
	"true",
	WRAPPER_TYPE_BOOL,
}
View Source
var ROUND_ROBIN_DEFAULT_WEIGHT = AwsWrapperProperty{
	Name: "roundRobinDefaultWeight",
	// contains filtered or unexported fields
}
View Source
var ROUND_ROBIN_HOST_WEIGHT_PAIRS = AwsWrapperProperty{
	Name: "roundRobinHostWeightPairs",
	// contains filtered or unexported fields
}
View Source
var SECRETS_MANAGER_ENDPOINT = AwsWrapperProperty{
	Name: "secretsManagerEndpoint",
	// contains filtered or unexported fields
}
View Source
var SECRETS_MANAGER_EXPIRATION_SEC = AwsWrapperProperty{
	Name: "secretsManagerExpirationSec",
	// contains filtered or unexported fields
}
View Source
var SECRETS_MANAGER_REGION = AwsWrapperProperty{
	Name: "secretsManagerRegion",
	// contains filtered or unexported fields
}
View Source
var SECRETS_MANAGER_SECRET_ID = AwsWrapperProperty{
	Name: "secretsManagerSecretId",
	// contains filtered or unexported fields
}
View Source
var SENSITIVE_PROPERTIES = map[string]struct{}{
	PASSWORD.Name:     {},
	IDP_PASSWORD.Name: {},
}
View Source
var SINGLE_WRITER_DSN = AwsWrapperProperty{
	Name: "singleWriterDsn",
	// contains filtered or unexported fields
}
View Source
var SSL_INSECURE = AwsWrapperProperty{
	Name: "sslInsecure",
	// contains filtered or unexported fields
}
View Source
var TARGET_DRIVER_AUTO_REGISTER = AwsWrapperProperty{
	Name: "targetDriverAutoRegister",
	// contains filtered or unexported fields
}
View Source
var TARGET_DRIVER_DIALECT = AwsWrapperProperty{
	Name: "targetDriverDialect",
	// contains filtered or unexported fields
}
View Source
var TELEMETRY_FAILOVER_ADDITIONAL_TOP_TRACE = AwsWrapperProperty{
	Name: "telemetryFailoverAdditionalTopTrace",
	// contains filtered or unexported fields
}
View Source
var TELEMETRY_METRICS_BACKEND = AwsWrapperProperty{
	Name: "telemetryMetricsBackend",
	// contains filtered or unexported fields
}
View Source
var TELEMETRY_SUBMIT_TOP_LEVEL = AwsWrapperProperty{
	Name: "telemetrySubmitToplevel",
	// contains filtered or unexported fields
}
View Source
var TELEMETRY_TRACES_BACKEND = AwsWrapperProperty{
	Name: "telemetryTracesBackend",
	// contains filtered or unexported fields
}
View Source
var TRANSFER_SESSION_STATE_ON_SWITCH = AwsWrapperProperty{
	"transferSessionStateOnSwitch",
	"Enables session state transfer to a new connection.",
	"true",
	WRAPPER_TYPE_BOOL,
}
View Source
var USER = AwsWrapperProperty{
	Name: "user",
	// contains filtered or unexported fields
}
View Source
var WEIGHTED_RANDOM_HOST_WEIGHT_PAIRS = AwsWrapperProperty{
	Name: "weightedRandomHostWeightPairs",
	// contains filtered or unexported fields
}

Functions

func CheckIdpCredentialsWithFallback added in v1.1.0

func CheckIdpCredentialsWithFallback(
	idpUserNameProperty AwsWrapperProperty,
	idpPasswordProperty AwsWrapperProperty,
	props *utils.RWMap[string, string])

func GetExpirationValue

func GetExpirationValue(props *utils.RWMap[string, string], property AwsWrapperProperty) int

func GetHostsFromDsn added in v1.1.0

func GetHostsFromDsn(dsn string, isSingleWriterDsn bool) (hostInfoList []*host_info_util.HostInfo, err error)

func GetHostsFromProps added in v1.1.0

func GetHostsFromProps(properties *utils.RWMap[string, string], isSingleWriterDsn bool) (hostInfoList []*host_info_util.HostInfo, err error)

func GetHttpTimeoutValue

func GetHttpTimeoutValue(props *utils.RWMap[string, string]) int

func GetPositiveIntProperty

func GetPositiveIntProperty(props *utils.RWMap[string, string], property AwsWrapperProperty) (int, error)

func GetProtocol added in v1.1.0

func GetProtocol(dsn string) (string, error)

func GetRefreshRateValue

func GetRefreshRateValue(props *utils.RWMap[string, string], property AwsWrapperProperty) int

func GetVerifiedWrapperPropertyValue

func GetVerifiedWrapperPropertyValue[T any](props *utils.RWMap[string, string], property AwsWrapperProperty) T

func GetVerifiedWrapperPropertyValueFromMap added in v1.1.0

func GetVerifiedWrapperPropertyValueFromMap[T any](props map[string]string, property AwsWrapperProperty) T

func MaskProperties added in v1.1.0

func MaskProperties(props *utils.RWMap[string, string]) map[string]string

func MaskSensitiveInfoFromDsn added in v1.1.0

func MaskSensitiveInfoFromDsn(dsn string) string

func ParseDatabaseFromDsn added in v1.1.0

func ParseDatabaseFromDsn(dsn string) (string, error)

func ParseDsn added in v1.1.0

func ParseDsn(dsn string) (*utils.RWMap[string, string], error)

func ParseHostPortPair added in v1.1.0

func ParseHostPortPair(instanceClusterTemplate string, defaultPort int) (*host_info_util.HostInfo, error)

func ParsePasswordFromDsn added in v1.1.0

func ParsePasswordFromDsn(dsn string) (string, error)

func ParseUserFromDsn added in v1.1.0

func ParseUserFromDsn(dsn string) (string, error)

func RemoveInternalAwsWrapperProperties

func RemoveInternalAwsWrapperProperties(props map[string]string) map[string]string

func ValidateUrl added in v1.1.0

func ValidateUrl(url string) error

Types

type AwsWrapperProperty

type AwsWrapperProperty struct {
	Name string
	// contains filtered or unexported fields
}

func (*AwsWrapperProperty) Get

func (prop *AwsWrapperProperty) Get(props *utils.RWMap[string, string]) string

func (*AwsWrapperProperty) GetFromMap added in v1.1.0

func (prop *AwsWrapperProperty) GetFromMap(props map[string]string) string

func (*AwsWrapperProperty) Set

func (prop *AwsWrapperProperty) Set(props *utils.RWMap[string, string], val string)

type WrapperPropertyType

type WrapperPropertyType int
const (
	WRAPPER_TYPE_INT    WrapperPropertyType = 1
	WRAPPER_TYPE_STRING WrapperPropertyType = 2
	WRAPPER_TYPE_BOOL   WrapperPropertyType = 3
)

Jump to

Keyboard shortcuts

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