Documentation
¶
Index ¶
- Constants
- Variables
- func CheckIdpCredentialsWithFallback(idpUserNameProperty AwsWrapperProperty, idpPasswordProperty AwsWrapperProperty, ...)
- func GetExpirationValue(props *utils.RWMap[string, string], property AwsWrapperProperty) int
- func GetHostsFromDsn(dsn string, isSingleWriterDsn bool) (hostInfoList []*host_info_util.HostInfo, err error)
- func GetHostsFromProps(properties *utils.RWMap[string, string], isSingleWriterDsn bool) (hostInfoList []*host_info_util.HostInfo, err error)
- func GetHttpTimeoutValue(props *utils.RWMap[string, string]) int
- func GetPositiveIntProperty(props *utils.RWMap[string, string], property AwsWrapperProperty) (int, error)
- func GetProtocol(dsn string) (string, error)
- func GetRefreshRateValue(props *utils.RWMap[string, string], property AwsWrapperProperty) int
- func GetVerifiedWrapperPropertyValue[T any](props *utils.RWMap[string, string], property AwsWrapperProperty) T
- func GetVerifiedWrapperPropertyValueFromMap[T any](props map[string]string, property AwsWrapperProperty) T
- func MaskProperties(props *utils.RWMap[string, string]) map[string]string
- func MaskSensitiveInfoFromDsn(dsn string) string
- func ParseDatabaseFromDsn(dsn string) (string, error)
- func ParseDsn(dsn string) (*utils.RWMap[string, string], error)
- func ParseHostPortPair(instanceClusterTemplate string, defaultPort int) (*host_info_util.HostInfo, error)
- func ParsePasswordFromDsn(dsn string) (string, error)
- func ParseUserFromDsn(dsn string) (string, error)
- func RemoveInternalAwsWrapperProperties(props map[string]string) map[string]string
- func ValidateUrl(url string) error
- type AwsWrapperProperty
- type WrapperPropertyType
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 = "auroraConnectionTracker,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, CUSTOM_ENDPOINT_INFO_REFRESH_RATE_MS.Name: true, WAIT_FOR_CUSTOM_ENDPOINT_INFO.Name: true, WAIT_FOR_CUSTOM_ENDPOINT_INFO_TIMEOUT_MS.Name: true, CUSTOM_ENDPOINT_MONITOR_IDLE_EXPIRATION_MS.Name: true, CUSTOM_ENDPOINT_REGION_PROPERTY.Name: true, READER_INITIAL_CONN_HOST_SELECTOR_STRATEGY.Name: true, INITIAL_CONNECTION_RETRY_TIMEOUT_MS.Name: true, INITIAL_CONNECTION_RETRY_INTERVAL_MS.Name: true, VERIFY_INITIAL_CONNECTION_TYPE.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 CUSTOM_ENDPOINT_INFO_REFRESH_RATE_MS = AwsWrapperProperty{ Name: "customEndpointInfoRefreshRateMs", // contains filtered or unexported fields }
View Source
var CUSTOM_ENDPOINT_MONITOR_IDLE_EXPIRATION_MS = AwsWrapperProperty{ Name: "customEndpointMonitorExpirationMs", // contains filtered or unexported fields }
View Source
var CUSTOM_ENDPOINT_REGION_PROPERTY = AwsWrapperProperty{ Name: "customEndpointRegion", // 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 INITIAL_CONNECTION_RETRY_INTERVAL_MS = AwsWrapperProperty{ Name: "initialConnectionRetryIntervalMs", // contains filtered or unexported fields }
View Source
var INITIAL_CONNECTION_RETRY_TIMEOUT_MS = AwsWrapperProperty{ Name: "initialConnectionRetryTimeoutMs", // contains filtered or unexported fields }
View Source
var INTERNAL_PROPS_PREFIXES = []string{ MONITORING_PROPERTY_PREFIX, INTERNAL_CONNECT_PROPERTY_NAME, LIMITLESS_PROPERTY_PREFIX, BG_PROPERTY_PREFIX, }
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 READER_INITIAL_CONN_HOST_SELECTOR_STRATEGY = AwsWrapperProperty{ Name: "readerInitialConnectionHostSelectorStrategy", // 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 VERIFY_INITIAL_CONNECTION_TYPE = AwsWrapperProperty{ Name: "verifyInitialConnectionType", // contains filtered or unexported fields }
View Source
var WAIT_FOR_CUSTOM_ENDPOINT_INFO = AwsWrapperProperty{ Name: "waitForCustomEndpointInfo", // contains filtered or unexported fields }
View Source
var WAIT_FOR_CUSTOM_ENDPOINT_INFO_TIMEOUT_MS = AwsWrapperProperty{ Name: "waitForCustomEndpointInfoTimeoutMs", // 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 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 GetPositiveIntProperty ¶
func GetProtocol ¶ added in v1.1.0
func GetRefreshRateValue ¶
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 MaskSensitiveInfoFromDsn ¶ added in v1.1.0
func ParseDatabaseFromDsn ¶ added in v1.1.0
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 ParseUserFromDsn ¶ added in v1.1.0
func ValidateUrl ¶ added in v1.1.0
Types ¶
type AwsWrapperProperty ¶
type AwsWrapperProperty struct {
Name string
// contains filtered or unexported fields
}
func (*AwsWrapperProperty) GetFromMap ¶ added in v1.1.0
func (prop *AwsWrapperProperty) GetFromMap(props map[string]string) string
type WrapperPropertyType ¶
type WrapperPropertyType int
const ( WRAPPER_TYPE_INT WrapperPropertyType = 1 WRAPPER_TYPE_STRING WrapperPropertyType = 2 WRAPPER_TYPE_BOOL WrapperPropertyType = 3 )
Click to show internal directories.
Click to hide internal directories.