1 /* 2 * Cloudformation Plugin for SonarQube 3 * Copyright (C) 2019 James Pether Sörling 4 * james@hack23.com 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU Lesser General Public 8 * License as published by the Free Software Foundation; either 9 * version 3 of the License, or (at your option) any later version. 10 * 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 * Lesser General Public License for more details. 15 * 16 * You should have received a copy of the GNU Lesser General Public License 17 * along with this program; if not, write to the Free Software Foundation, 18 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 19 */ 20 package com.hack23.sonar.cloudformation; 21 22 import java.util.Optional; 23 24 import org.sonar.api.config.Configuration; 25 import org.sonar.api.scanner.ScannerSide; 26 27 import com.hack23.sonar.cloudformation.reports.process.CloudformationConstants; 28 29 /** 30 * The Class CloudformationSensorConfiguration. 31 */ 32 @ScannerSide 33 public final class CloudformationSensorConfiguration { 34 35 /** The configuration. */ 36 private final Configuration configuration; 37 38 /** 39 * Instantiates a new cloudformation sensor configuration. 40 * 41 * @param configuration the configuration 42 */ 43 public CloudformationSensorConfiguration(final Configuration configuration) { 44 this.configuration = configuration; 45 } 46 47 /** 48 * Gets the cfn nag report files. 49 * 50 * @return the cfn nag report files 51 */ 52 public Optional<String> getCfnNagReportFiles() { 53 return this.configuration.get(CloudformationConstants.CFN_NAG_REPORT_FILES_PROPERTY); 54 } 55 56 /** 57 * Gets the checkov report files. 58 * 59 * @return the checkov report files 60 */ 61 public Optional<String> getCheckovReportFiles() { 62 return this.configuration.get(CloudformationConstants.CHECKOV_REPORT_FILES_PROPERTY); 63 } 64 65 }