CloudformationProperties.java

  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. import java.util.Arrays;
  22. import java.util.List;

  23. import org.sonar.api.config.PropertyDefinition;
  24. import org.sonar.api.resources.Qualifiers;

  25. import com.hack23.sonar.cloudformation.reports.process.CloudformationConstants;

  26. /**
  27.  * The Class CloudformationProperties.
  28.  */
  29. public final class CloudformationProperties {

  30.     /**
  31.      * Instantiates a new cloudformation properties.
  32.      */
  33.     private CloudformationProperties() {
  34.         // only statics
  35.     }

  36.     /**
  37.      * Gets the properties.
  38.      *
  39.      * @return the properties
  40.      */
  41.     public static List<PropertyDefinition> getProperties() {
  42.         return Arrays.asList(PropertyDefinition.builder(CloudformationConstants.CFN_NAG_REPORT_FILES_PROPERTY)
  43.                 .subCategory("Paths").name(CloudformationConstants.CFN_NAG_REPORT_FILES_PROPERTY)
  44.                 .description("path to the '.nag or .nagscan' files").onQualifiers(Qualifiers.PROJECT).defaultValue("")
  45.                 .build(),PropertyDefinition.builder(CloudformationConstants.CHECKOV_REPORT_FILES_PROPERTY)
  46.                 .subCategory("Paths").name(CloudformationConstants.CHECKOV_REPORT_FILES_PROPERTY)
  47.                 .description("path to the 'checkov-report' files").onQualifiers(Qualifiers.PROJECT).defaultValue("")
  48.                 .build());
  49.     }
  50. }