private createPackages()

in packages/constructs/L3/utility/ec2-l3-construct/lib/ec2-l3-construct.ts [640:681]


  private createPackages(namedPackageProps: NamedPackageProps) {
    const packageList: InitElement[] = [];
    Object.entries(namedPackageProps).forEach(entry => {
      const packageProps = entry[1];

      const namedPackageOptions: NamedPackageOptions = packageProps.restartRequired
        ? {
            serviceRestartHandles: [this.initServiceRestartHandle],
            version: packageProps.packageVersions,
          }
        : {
            version: packageProps.packageVersions,
          };
      const locationPackageOptions: LocationPackageOptions = packageProps.restartRequired
        ? {
            serviceRestartHandles: [this.initServiceRestartHandle],
            key: packageProps.key,
          }
        : {
            key: packageProps.key,
          };
      if (packageProps.packageManager == 'yum') {
        packageList.push(InitPackage.yum(packageProps.packageName!, namedPackageOptions));
      }
      if (packageProps.packageManager == 'apt') {
        packageList.push(InitPackage.apt(packageProps.packageName!, namedPackageOptions));
      }
      if (packageProps.packageManager == 'python') {
        packageList.push(InitPackage.python(packageProps.packageName!, namedPackageOptions));
      }
      if (packageProps.packageManager == 'rubyGem') {
        packageList.push(InitPackage.rubyGem(packageProps.packageName!, namedPackageOptions));
      }
      if (packageProps.packageManager == 'msi') {
        packageList.push(InitPackage.msi(packageProps.packageLocation!, locationPackageOptions));
      }
      if (packageProps.packageManager == 'rpm') {
        packageList.push(InitPackage.rpm(packageProps.packageLocation!, locationPackageOptions));
      }
    });
    return packageList;
  }