putDataCatalogEncryptionSettings()

in source/resources/solution-helper/lib/glue-helper.js [41:70]


  putDataCatalogEncryptionSettings(catalogId, catalogEncryptionMode) {
    return new Promise((resolve, reject) => {
      let glue = new AWS.Glue(this.config);
      const params = {
        DataCatalogEncryptionSettings: {
          ConnectionPasswordEncryption: {
            ReturnConnectionPasswordEncrypted: true
          },
          EncryptionAtRest: {
            CatalogEncryptionMode: catalogEncryptionMode
          }
        },
        CatalogId: catalogId 
      };
      
      glue.putDataCatalogEncryptionSettings(params, function(err, data) {
        if (err) {
          if (err.code === 'AlreadyExistsException') {
            console.log(`Encryption setting already exists for ${catalogId}, skipping`);
            resolve();
          }
          console.log(JSON.stringify(err));
          reject(err);
        } else {
          console.log(`Saved Glue encryption setting for ${catalogId}`);
          resolve(data);
        }
      });
    });
  }