Implements: IReferenceable, IConfigurable
Description
The PostgresConnectionResolver class allows you to create a PostgresSQL connection and credential parameters resolver that validates these parameters and generates a connection URI.
Important points
- It is able to process multiple connections to PostgreSQL cluster nodes.
Configuration parameters
connection(s):
- discovery_key: (optional) key to retrieve the connection from IDiscovery
- host: host name or IP address
- port: port number (default: 27017)
- database: database name
- uri: resource URI or connection string with all parameters in it
credential(s):
- store_key: (optional) key to retrieve the credentials from ICredentialStore
- username: username
- password: user’s password
References
- *:discovery:*:*:1.0 - (optional) IDiscovery services
- *:credential-store:*:*:1.0 - (optional) credential stores to resolve credentials (ICredentialStore)
Constructors
NewPostgresConnectionResolver
NewPostgresConnectionResolver creates new connection resolver
NewPostgresConnectionResolver() *PostgresConnectionResolver
Fields
Methods
Configure
Configures component by passing configuration parameters.
(c *PostgresConnectionResolver) Configure(ctx context.Context, config *cconf.ConfigParams)
- ctx: context.Context - operation context.
- config: *cconf.ConfigParams - configuration parameters to be set.
Resolve
Resolves PostgreSQL config from connection and credential parameters.
(c *PostgresConnectionResolver) Resolve(ctx context.Context, correlationId string) (uri string, err error)
- ctx: context.Context - operation context.
- correlationId: string - (optional) transaction id used to trace execution through the call chain.
- returns: (uri string, err error) - resolved connection config or raised error.
SetReferences
Sets references to dependent components.
(c *PostgresConnectionResolver) SetReferences(ctx context.Context, references crefer.IReferences)
- ctx: context.Context - operation context.
- references: crefer.IReferences - references to locate the component dependencies.