pub struct DiagnosticModel {Show 24 fields
pub template: DiagnosticTemplate,
pub parameters: HashMap<String, JsonValue>,
pub conditions: HashMap<String, DiagnosticCondition>,
pub condition_param_refs: Vec<String>,
pub condition_implications: Vec<DiagnosticImplication>,
pub condition_mutex_groups: Vec<DiagnosticMutexGroup>,
pub condition_exclusions: Vec<Vec<String>>,
pub resource_condition_map: HashMap<String, String>,
pub mappings: JsonValue,
pub resources: HashMap<String, DiagnosticResource>,
pub outputs: HashMap<String, DiagnosticOutput>,
pub edges: Vec<ReferenceEdge>,
pub cycles: Vec<Vec<String>>,
pub output_empty_joins: Vec<String>,
pub sam_implicit_resources: Vec<String>,
pub globals_param_refs: Vec<String>,
pub is_cdk: bool,
pub fn_if_conditions: Vec<String>,
pub find_in_map_names: Vec<String>,
pub params_referenced_in_definitions: Vec<String>,
pub has_dynamic_findinmap_name: bool,
pub has_parse_errors: bool,
pub parsed_rules: Vec<DiagnosticRule>,
pub resolution_sources: Vec<ResolutionSource>,
}Expand description
Advanced introspection view of a parsed CloudFormation template: its reference graph, conditions, and resolved resources and outputs.
Fields§
§template: DiagnosticTemplate§parameters: HashMap<String, JsonValue>§conditions: HashMap<String, DiagnosticCondition>§condition_param_refs: Vec<String>Parameter logical IDs referenced by the template’s condition expressions.
condition_implications: Vec<DiagnosticImplication>Logical implications between conditions: if the antecedent condition holds, the consequent condition must also hold.
condition_mutex_groups: Vec<DiagnosticMutexGroup>Groups of conditions that are mutually exclusive because they test the same parameter against different values.
condition_exclusions: Vec<Vec<String>>Pairs of condition names that can never both be true at the same time.
resource_condition_map: HashMap<String, String>Maps each resource’s logical ID to the name of the condition that gates whether it is created.
mappings: JsonValue§resources: HashMap<String, DiagnosticResource>§outputs: HashMap<String, DiagnosticOutput>§edges: Vec<ReferenceEdge>§cycles: Vec<Vec<String>>Reference cycles in the template, each listed as the resource logical IDs forming the cycle.
output_empty_joins: Vec<String>Output names whose value is an Fn::Join with an empty delimiter.
sam_implicit_resources: Vec<String>Logical IDs of resources the SAM transform generates implicitly (such as function execution roles and an implicit REST API).
globals_param_refs: Vec<String>Parameter logical IDs referenced from the SAM Globals section.
is_cdk: boolTrue when the template appears to be generated by the AWS CDK.
fn_if_conditions: Vec<String>Names of conditions referenced by Fn::If expressions in the template.
find_in_map_names: Vec<String>Mapping names referenced by Fn::FindInMap expressions.
params_referenced_in_definitions: Vec<String>Parameter logical IDs referenced from within other parameters’ own definitions.
has_dynamic_findinmap_name: boolTrue when a Fn::FindInMap uses a computed mapping name rather than a literal string.
has_parse_errors: boolTrue when the template could not be fully parsed and the model is therefore incomplete.
parsed_rules: Vec<DiagnosticRule>The template’s Rules section, each with its optional condition and assertions.
resolution_sources: Vec<ResolutionSource>For resolved resource properties, records where each value came from (such as a parameter default, allowed values, an override, or an intrinsic).