Skip to content

Compile error in modules/example-node/src/kms_filtered_discovery.ts #1520

Open
@elmaimbo

Description

@elmaimbo

Problem:

Attempting to compile the example code in "modules/example-node/src/kms_filtered_discovery.ts" results in a Typescript compile error:

Type 'KmsClientSupplier<KMS>' is not assignable to type 'KmsClientSupplier<AwsEsdkKMSInterface>'.
  Type 'KMS' is not assignable to type 'AwsEsdkKMSInterface'.
    The types returned by 'decrypt(...)' are incompatible between these types.
      Type 'Promise<DecryptCommandOutput>' is not assignable to type 'Promise<DecryptResponse> | AwsSdkV2Response<DecryptResponse>'.
        Type 'Promise<DecryptCommandOutput>' is not assignable to type 'Promise<DecryptResponse>'.
          Type 'DecryptCommandOutput' is not assignable to type 'DecryptResponse' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the types of the target's properties.
            Types of property 'KeyId' are incompatible.
              Type 'string | undefined' is not assignable to type 'string'.
                Type 'undefined' is not assignable to type 'string'.

The problem goes away if you comment out line 38:

    const keyring = new KmsKeyringNode({
    //   clientProvider,
      discovery,
      discoveryFilter,
    })

But this is not a real solution, because what I actually want is to limit the AWS regions, which is achieved using the following on line 29:

const clientProvider = limitRegions(['ap-southeast-2'], getKmsClient)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions