Package com.amazonaws.secretsmanager.sql
Class AWSSecretsManagerOracleDriver
- java.lang.Object
-
- com.amazonaws.secretsmanager.sql.AWSSecretsManagerDriver
-
- com.amazonaws.secretsmanager.sql.AWSSecretsManagerOracleDriver
-
- All Implemented Interfaces:
Driver
public final class AWSSecretsManagerOracleDriver extends AWSSecretsManagerDriver
Provides support for accessing Oracle databases using credentials stored within AWS Secrets Manager.
Configuration properties are specified using the "oracle" subprefix (e.g drivers.oracle.realDriverClass).
For error codes see:
-
-
Field Summary
Fields Modifier and Type Field Description static intINCORRECT_USER_PASSWORDORA-09911.static intINVALID_USERNAME_OR_PASSWORDORA-01017.static StringSUBPREFIXSet to oracle.static intUSER_CREDENTIALS_DO_NOT_MATCHORA-17079.-
Fields inherited from class com.amazonaws.secretsmanager.sql.AWSSecretsManagerDriver
INVALID_SECRET_STRING_JSON, MAX_RETRY, PROPERTY_PREFIX, SCHEME
-
-
Constructor Summary
Constructors Constructor Description AWSSecretsManagerOracleDriver()Constructs the driver setting the properties from the properties file using system properties as defaults.AWSSecretsManagerOracleDriver(com.amazonaws.secretsmanager.caching.SecretCache cache)Constructs the driver setting the properties from the properties file using system properties as defaults.AWSSecretsManagerOracleDriver(com.amazonaws.secretsmanager.caching.SecretCacheConfiguration cacheConfig)Constructs the driver setting the properties from the properties file using system properties as defaults.AWSSecretsManagerOracleDriver(software.amazon.awssdk.services.secretsmanager.SecretsManagerClient client)Constructs the driver setting the properties from the properties file using system properties as defaults.AWSSecretsManagerOracleDriver(software.amazon.awssdk.services.secretsmanager.SecretsManagerClientBuilder builder)Constructs the driver setting the properties from the properties file using system properties as defaults.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringconstructUrlFromEndpointPortDatabase(String endpoint, String port, String dbname)Construct a database URL from the endpoint, port and database name.StringgetDefaultDriverClass()Get the default real driver class name for this driver.StringgetPropertySubprefix()Gets the "subprefix" used for configuration properties for this driver.booleanisExceptionDueToAuthenticationError(Exception e)Determines whether or not anExceptionis due to an authentication failure with the remote database.-
Methods inherited from class com.amazonaws.secretsmanager.sql.AWSSecretsManagerDriver
acceptsURL, connect, getMajorVersion, getMinorVersion, getParentLogger, getPropertyInfo, getWrappedDriver, jdbcCompliant, register
-
-
-
-
Field Detail
-
USER_CREDENTIALS_DO_NOT_MATCH
public static final int USER_CREDENTIALS_DO_NOT_MATCH
ORA-17079. May not be necessary, but erring on the side of caution.- See Also:
- Constant Field Values
-
INVALID_USERNAME_OR_PASSWORD
public static final int INVALID_USERNAME_OR_PASSWORD
ORA-01017. This will occur if an incorrect password is used.- See Also:
- Constant Field Values
-
INCORRECT_USER_PASSWORD
public static final int INCORRECT_USER_PASSWORD
ORA-09911. May not be necessary, but erring on the side of caution.- See Also:
- Constant Field Values
-
SUBPREFIX
public static final String SUBPREFIX
Set to oracle.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
AWSSecretsManagerOracleDriver
public AWSSecretsManagerOracleDriver()
Constructs the driver setting the properties from the properties file using system properties as defaults. Instantiates the secret cache with default options.
-
AWSSecretsManagerOracleDriver
public AWSSecretsManagerOracleDriver(com.amazonaws.secretsmanager.caching.SecretCache cache)
Constructs the driver setting the properties from the properties file using system properties as defaults. Uses the passed in SecretCache.- Parameters:
cache- Secret cache to use to retrieve secrets
-
AWSSecretsManagerOracleDriver
public AWSSecretsManagerOracleDriver(software.amazon.awssdk.services.secretsmanager.SecretsManagerClientBuilder builder)
Constructs the driver setting the properties from the properties file using system properties as defaults. Instantiates the secret cache with the passed in client builder.- Parameters:
builder- Builder used to instantiate cache
-
AWSSecretsManagerOracleDriver
public AWSSecretsManagerOracleDriver(software.amazon.awssdk.services.secretsmanager.SecretsManagerClient client)
Constructs the driver setting the properties from the properties file using system properties as defaults. Instantiates the secret cache with the provided AWS Secrets Manager client.- Parameters:
client- AWS Secrets Manager client to instantiate cache
-
AWSSecretsManagerOracleDriver
public AWSSecretsManagerOracleDriver(com.amazonaws.secretsmanager.caching.SecretCacheConfiguration cacheConfig)
Constructs the driver setting the properties from the properties file using system properties as defaults. Instantiates the secret cache with the provided cache configuration.- Parameters:
cacheConfig- Cache configuration to instantiate cache
-
-
Method Detail
-
getPropertySubprefix
public String getPropertySubprefix()
Description copied from class:AWSSecretsManagerDriverGets the "subprefix" used for configuration properties for this driver. For example, if this method returns the String, "mysql", then the real driver that this will forward requests to would be set to drivers.mysql.realDriverClass in the properties file or in the system properties.- Specified by:
getPropertySubprefixin classAWSSecretsManagerDriver- Returns:
- String The subprefix to use for configuration properties.
-
isExceptionDueToAuthenticationError
public boolean isExceptionDueToAuthenticationError(Exception e)
Description copied from class:AWSSecretsManagerDriverDetermines whether or not anExceptionis due to an authentication failure with the remote database. This method is called duringconnectto decide if authentication needs to be attempted again with refreshed credentials. A good way to implement this is to look up the error codes thatjava.sqlSQLExceptions will have when an authentication failure occurs. These are database specific.- Specified by:
isExceptionDueToAuthenticationErrorin classAWSSecretsManagerDriver- Parameters:
e- TheExceptionto test.- Returns:
- boolean Whether or not the
Exceptionindicates that the credentials used for authentication are stale.
-
constructUrlFromEndpointPortDatabase
public String constructUrlFromEndpointPortDatabase(String endpoint, String port, String dbname)
Description copied from class:AWSSecretsManagerDriverConstruct a database URL from the endpoint, port and database name. This method is called when theconnectmethod is called with a secret ID instead of a URL.- Specified by:
constructUrlFromEndpointPortDatabasein classAWSSecretsManagerDriver- Parameters:
endpoint- The endpoint retrieved from the secret cacheport- The port retrieved from the secret cachedbname- The database name retrieved from the secret cache- Returns:
- String The constructed URL based on the endpoint and port
-
getDefaultDriverClass
public String getDefaultDriverClass()
Description copied from class:AWSSecretsManagerDriverGet the default real driver class name for this driver.- Specified by:
getDefaultDriverClassin classAWSSecretsManagerDriver- Returns:
- String The default real driver class name
-
-