Helper class used to retrieve AWS connection and credential parameters, validate them and compose a AwsConnectionParams value.
Implements: IConfigurable, IReferenceable
Description
The AwsConnectionResolver class allows you to retrieve AWS connection and credential parameters, validate them and compose a AwsConnectionParams value.
Configuration parameters
- connections:
- discovery_key: (optional) key to retrieve the connection from IDiscovery
- region: (optional) AWS region
- partition: (optional) AWS partition
- service: (optional) AWS service
- resource_type: (optional) AWS resource type
- resource: (optional) AWS resource id
- arn: (optional) AWS resource ARN
- credentials:
- store_key: (optional) key to retrieve the credentials from ICredentialStore
- access_id: AWS access/client id
- access_key: AWS access/client key
References
- *:discovery:*:*:1.0 - (optional) IDiscovery services to resolve connection.
- *:credential-store:*:*:1.0 - (optional) credential stores to resolve credentials.
Fields
Instance methods
configure
Configures a component by passing its configuration parameters.
@override
void configure(ConfigParams config)
- config: ConfigParams - configuration parameters to be set.
resolve
Resolves a connection and credential parameters and generates a single AWSConnectionParams value.
Future<AwsConnectionParams> resolve(IContext context)
- context: IContext - (optional) a context to trace execution through a call chain.
- returns: Future<AwsConnectionParams> - receives an AWSConnectionParams value or error.
setReferences
Sets references to dependent components.
@override
void setReferences(IReferences references)
- references: IReferences - references to locate the component’s dependencies.
Examples
var config = ConfigParams.fromTuples([
'connection.region', 'us-east1',
'connection.service', 's3',
'connection.bucket', 'mybucket',
'credential.access_id', 'XXXXXXXXXX',
'credential.access_key', 'XXXXXXXXXX'
]);
var connectionResolver = AwsConnectionResolver();
connectionResolver.configure(config);
connectionResolver.setReferences(references);
var connection = await connectionResolver.resolve('123');
// Now use connection...