Class: AWSCDK::CloudAssemblySchema::PluginReportJson

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
cloud_assembly_schema/plugin_report_json.rb

Overview

A report from a single validation plugin.

Examples:

require 'aws-cdk-cloud-assembly-schema'

report = {
    plugin_name: "my-plugin",
    conclusion: "success",
    violations: [],
}

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(conclusion:, plugin_name:, violations:, metadata: nil, plugin_version: nil, suppressed_violations: nil) ⇒ PluginReportJson

Returns a new instance of PluginReportJson.

Parameters:

  • conclusion (String)

    Whether the plugin's validation passed or failed.

  • plugin_name (String)

    The name of the plugin that produced this report.

  • violations (Array<AWSCDK::CloudAssemblySchema::PolicyViolationJson>)

    Violations found by this plugin.

  • metadata (Hash{String => String}, nil) (defaults to: nil)

    Additional plugin-specific metadata.

  • plugin_version (String, nil) (defaults to: nil)

    Version of the plugin that produced this report.

  • suppressed_violations (Array<AWSCDK::CloudAssemblySchema::SuppressedViolationJson>, nil) (defaults to: nil)

    Violations that were suppressed via acknowledgement.



23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'cloud_assembly_schema/plugin_report_json.rb', line 23

def initialize(conclusion:, plugin_name:, violations:, metadata: nil, plugin_version: nil, suppressed_violations: nil)
  @conclusion = conclusion
  Jsii::Type.check_type(@conclusion, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "conclusion")
  @plugin_name = plugin_name
  Jsii::Type.check_type(@plugin_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "pluginName")
  @violations = violations.is_a?(Array) ? violations.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CloudAssemblySchema::PolicyViolationJson.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : violations
  Jsii::Type.check_type(@violations, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmNsb3VkX2Fzc2VtYmx5X3NjaGVtYS5Qb2xpY3lWaW9sYXRpb25Kc29uIn0sImtpbmQiOiJhcnJheSJ9fQ==")), "violations")
  @metadata = 
  Jsii::Type.check_type(@metadata, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoibWFwIn19")), "metadata") unless @metadata.nil?
  @plugin_version = plugin_version
  Jsii::Type.check_type(@plugin_version, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "pluginVersion") unless @plugin_version.nil?
  @suppressed_violations = suppressed_violations.is_a?(Array) ? suppressed_violations.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CloudAssemblySchema::SuppressedViolationJson.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : suppressed_violations
  Jsii::Type.check_type(@suppressed_violations, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmNsb3VkX2Fzc2VtYmx5X3NjaGVtYS5TdXBwcmVzc2VkVmlvbGF0aW9uSnNvbiJ9LCJraW5kIjoiYXJyYXkifX0=")), "suppressedViolations") unless @suppressed_violations.nil?
end

Instance Attribute Details

#conclusionString (readonly)

Whether the plugin's validation passed or failed.

Returns:

  • (String)


41
42
43
# File 'cloud_assembly_schema/plugin_report_json.rb', line 41

def conclusion
  @conclusion
end

#metadataHash{String => String}? (readonly)

Note:

Default: - no metadata

Additional plugin-specific metadata.

Returns:

  • (Hash{String => String}, nil)


54
55
56
# File 'cloud_assembly_schema/plugin_report_json.rb', line 54

def 
  @metadata
end

#plugin_nameString (readonly)

The name of the plugin that produced this report.

Returns:

  • (String)


45
46
47
# File 'cloud_assembly_schema/plugin_report_json.rb', line 45

def plugin_name
  @plugin_name
end

#plugin_versionString? (readonly)

Note:

Default: - no version

Version of the plugin that produced this report.

Returns:

  • (String, nil)


59
60
61
# File 'cloud_assembly_schema/plugin_report_json.rb', line 59

def plugin_version
  @plugin_version
end

#suppressed_violationsArray<AWSCDK::CloudAssemblySchema::SuppressedViolationJson>? (readonly)

Note:

Default: - no suppressed violations

Violations that were suppressed via acknowledgement.

These violations matched an acknowledged rule ID and were excluded from the active violations list. They are retained for audit trail and reporting purposes.



68
69
70
# File 'cloud_assembly_schema/plugin_report_json.rb', line 68

def suppressed_violations
  @suppressed_violations
end

#violationsArray<AWSCDK::CloudAssemblySchema::PolicyViolationJson> (readonly)

Violations found by this plugin.



49
50
51
# File 'cloud_assembly_schema/plugin_report_json.rb', line 49

def violations
  @violations
end

Class Method Details

.jsii_propertiesObject



70
71
72
73
74
75
76
77
78
79
# File 'cloud_assembly_schema/plugin_report_json.rb', line 70

def self.jsii_properties
  {
    :conclusion => "conclusion",
    :plugin_name => "pluginName",
    :violations => "violations",
    :metadata => "metadata",
    :plugin_version => "pluginVersion",
    :suppressed_violations => "suppressedViolations",
  }
end

Instance Method Details

#to_jsiiObject



81
82
83
84
85
86
87
88
89
90
91
92
# File 'cloud_assembly_schema/plugin_report_json.rb', line 81

def to_jsii
  result = {}
  result.merge!({
    "conclusion" => @conclusion,
    "pluginName" => @plugin_name,
    "violations" => @violations,
    "metadata" => @metadata,
    "pluginVersion" => @plugin_version,
    "suppressedViolations" => @suppressed_violations,
  })
  result.compact
end