aws / aws/aws-encryption-sdk-javascript

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

Ouverte
#1,520 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
TypeScript
Étoiles
260
Forks
68
Merge moyen
22 h 19 min
PR mergées (30 j)
2

Description

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)

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par modules/example-node/src/kms_filtered_discovery.ts, en particulier par la déclaration de clientProvider à la ligne 29 et la construction de KmsKeyringNode à la ligne 38. Reproduisez l’erreur de compilation TypeScript, puis examinez les types de client KMS et de keyring concernés ; le travail est terminé lorsque l’exemple compile tout en conservant la restriction à la région ap-southeast-2.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
aws, node.js, typescript
Domaine
backend, cloud, security
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.