Update rules to correctly resolve to default values

What does this MR do and why?

Implements runtime evaluation for dynamic input rules. Rules are validated at parse time (!209948 (merged)) but weren't being evaluated when pipelines are created - this MR adds that evaluation.

When a user writes:

cloud_provider: { default: 'aws' }
instance_type:
  rules:
    - if: '$[[ inputs.cloud_provider ]] == "aws"'
      default: 't3.micro'

instance_type will resolves to t3.micro based on cloud_provider: 'aws'

References

#568903

Screenshots or screen recordings

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Laura Montemayor

Merge request reports

Loading