AwsConnectionResolver

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

_connectionResolver

Connection resolver.

protected _connectionResolver: ConnectionResolver

_credentialResolver

Credential resolver.

protected _credentialResolver: CredentialResolver

Instance methods

configure

Configures a component by passing its configuration parameters.

public configure(config: ConfigParams): void

  • config: ConfigParams - configuration parameters to be set.

resolve

Resolves a connection and credential parameters and generates a single AWSConnectionParams value.

public resolve(correlationId: string): Promise<AwsConnectionParams>

  • correlationId: string - (optional) transaction id used to trace execution through the call chain.
  • returns: Promise<AwsConnectionParams> - receives an AWSConnectionParams value or error.

setReferences

Sets references to dependent components.

public setReferences(references: IReferences): void

  • references: IReferences - references to locate the component’s dependencies.

Examples

let 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);
    
const connectionParams = await connectionResolver.resolve("123");

See also