Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions cloudimized/azurecore/applicationsecuritygroupsquery.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
"""
Azure query for Application Security Groups
"""
from azure.identity import DefaultAzureCredential
from azure.mgmt.network import NetworkManagementClient
from cloudimized.azurecore.azurequery import AzureQuery
from typing import Dict, List


@AzureQuery.register_class("applicationSecurityGroups")

class ApplicationSecurityGroupsQuery(AzureQuery):
"""
Query class for Azure Application Security Groups
Collects ASG configurations and stores them in the 'applicationSecurityGroups' folder.
"""
def _AzureQuery__send_query(self,
credential: DefaultAzureCredential,
subscription_id: str,
resource_groups) -> List[Dict]:
"""
Sends Azure query that lists Network Security Groups in subscription in project.
See:https://learn.microsoft.com/en-us/rest/api/virtualnetwork/application-security-groups/list-all?view=rest-virtualnetwork-2025-03-01&tabs=Python
:param credential: Azure credential object
:param subscription_id: Azure subscription ID to query
:param resource_groups: irrelevant for this implementation, needed due to inheritance
:return: List of resources that were queried
"""
client = NetworkManagementClient(credential=credential, subscription_id=subscription_id)
result = client.application_security_groups.list_all()
return result
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
resource: applicationSecurityGroups
field_exclude_filter:
- etag
- provisioning_state
#item_exclude_filter:
# -