Helper class used to retrieve AWS connection and credential parameters, validate them and compose an AwsConnectionParams value.
Inherits: IConfigurable, IReferenceable
Description
The AwsConnectionResolver class allows you to retrieve AWS connection and credential parameters, validate them and compose an 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 connections.
- *:credential-store:*:*:1.0 - (optional) credential stores to resolve credentials.
Fields
Instance methods
Configure
Configures a component by passing its configuration parameters.
public
void Configure(ConfigParams config)
- config: ConfigParams - configuration parameters to be set.
ResolveAsync
Resolves a connection and credential parameters and generates a single AWSConnectionParams value.
public
Task<AwsConnectionParams> ResolveAsync(string correlationId)
- correlationId: string - (optional) transaction id used to trace execution through the call chain.
- returns: Task<AwsConnectionParams> - receives an AWSConnectionParams value or error.
SetReferences
Sets references to dependent components.
public
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");
let connectionResolver = new AwsConnectionResolver();
connectionResolver.Configure(config);
connectionResolver.SetReferences(references);
connectionResolver.Resolve("123");