Interface IPolicyValidationPluginBeta1

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Subinterfaces:
IPolicyValidationPluginBeta1.Jsii$Default
All Known Implementing Classes:
IPolicyValidationPluginBeta1.Jsii$Proxy

@Generated(value="jsii-pacmak/1.94.0 (build b380f01)", date="2024-02-23T02:06:27.113Z") @Stability(Stable) public interface IPolicyValidationPluginBeta1 extends software.amazon.jsii.JsiiSerializable
Represents a validation plugin that will be executed during synthesis.

Example:

 public class MyPlugin implements IPolicyValidationPluginBeta1 {
     public final Object name;
     public PolicyValidationPluginReportBeta1 validate(IPolicyValidationContextBeta1 context) {
         // First read the templates using context.templatePaths...
         // ...then perform the validation, and then compose and return the report.
         // Using hard-coded values here for better clarity:
         return PolicyValidationPluginReportBeta1.builder()
                 .success(false)
                 .violations(List.of(PolicyViolationBeta1.builder()
                         .ruleName("CKV_AWS_117")
                         .description("Ensure that AWS Lambda function is configured inside a VPC")
                         .fix("https://docs.bridgecrew.io/docs/ensure-that-aws-lambda-function-is-configured-inside-a-vpc-1")
                         .violatingResources(List.of(PolicyViolatingResourceBeta1.builder()
                                 .resourceLogicalId("MyFunction3BAA72D1")
                                 .templatePath("/home/johndoe/myapp/cdk.out/MyService.template.json")
                                 .locations(List.of("Properties/VpcConfig"))
                                 .build()))
                         .build()))
                 .build();
     }
 }
 
  • Method Details

    • getName

      @Stability(Stable) @NotNull String getName()
      The name of the plugin that will be displayed in the validation report.
    • getRuleIds

      @Stability(Stable) @Nullable default List<String> getRuleIds()
      The list of rule IDs that the plugin will evaluate.

      Used for analytics purposes.

      Default: - No rule is reported

    • getVersion

      @Stability(Stable) @Nullable default String getVersion()
      The version of the plugin, following the Semantic Versioning specification (see https://semver.org/). This version is used for analytics purposes, to measure the usage of different plugins and different versions. The value of this property should be kept in sync with the actual version of the software package. If the version is not provided or is not a valid semantic version, it will be reported as 0.0.0.
    • validate

      @Stability(Stable) @NotNull PolicyValidationPluginReportBeta1 validate(@NotNull IPolicyValidationContextBeta1 context)
      The method that will be called by the CDK framework to perform validations.

      This is where the plugin will evaluate the CloudFormation templates for compliance and report and violations

      Parameters:
      context - This parameter is required.