Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(serverless): serverless definitions context #6910

Merged
merged 5 commits into from
Dec 18, 2024

Conversation

omriyoffe-panw
Copy link
Contributor

@omriyoffe-panw omriyoffe-panw commented Dec 17, 2024

User description

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Description

Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.

Fixes # (issue)

New/Edited policies (Delete if not relevant)

Description

Include a description of what makes it a violation and any relevant external links.

Fix

How does someone fix the issue in code and/or in runtime?

Checklist:

  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • I have added tests that prove my feature, policy, or fix is effective and works
  • New and existing tests pass locally with my changes

Generated description

Below is a concise technical summary of the changes proposed in this PR:

Enhances the build_definitions_context function to process serverless definitions more comprehensively. Adds support for handling different types of node structures (StrNode, ListNode) and introduces logic to collect suppressions and code lines for each resource. Improves type hinting and introduces new utility functions.

TopicDetails
Context Building Enhances the build_definitions_context function to process serverless definitions more comprehensively
Modified files (1)
  • checkov/serverless/graph_builder/definition_context.py
Latest Contributors(1)
UserCommitDate
omriyoffe-panwfeat-serverless-Server...December 08, 2024
Resource Processing Adds support for handling different types of node structures and collecting suppressions
Modified files (1)
  • checkov/serverless/graph_builder/definition_context.py
Latest Contributors(1)
UserCommitDate
omriyoffe-panwfeat-serverless-Server...December 08, 2024
This pull request is reviewed by Baz. Join @omriyoffe-panw and the rest of your team on (Baz).

definition_resource["type"] = resource_attributes.get('type')

definition_resource["code_lines"] = definitions_raw[file_path][start_line: end_line + 1]
definition_resource["start_line"] = start_line + 1
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should the start line be +1 as well?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I refactored the line calculation, the different Node types(ListNode, DictNode and StrNode) for some reason have different logic for their lines numbering. I made it so the lines calculated will be matching to the lines containing the entire section in the definitions_raw.

@omriyoffe-panw omriyoffe-panw merged commit d99d9b8 into main Dec 18, 2024
38 checks passed
@omriyoffe-panw omriyoffe-panw deleted the serverless-definitions-context branch December 18, 2024 09:52
Saarett pushed a commit that referenced this pull request Dec 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants