View Javadoc
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  }