Skip to content

Commit c701de6

Browse files
authored
Merge pull request #4 from iquzart/development
closed #3
2 parents 61087eb + f4d8105 commit c701de6

File tree

4 files changed

+22
-4
lines changed

4 files changed

+22
-4
lines changed

expire_resources/__init__.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77
from azure.common.credentials import (ServicePrincipalCredentials, get_azure_cli_credentials)
88
from azure.mgmt.resource import ResourceManagementClient
99

10-
from .resource_ops import (resource_extractor, check_managed_resource_status)
10+
11+
from .resource_ops import (resource_extractor, check_managed_resource_status, check_rg_availability)
1112
from .util import tabulate_report
1213
from .trigger_pipeline import trigger_pipelines
1314

@@ -27,11 +28,15 @@ async def main(mytimer: func.TimerRequest) -> None:
2728
# Obtain the management object for resources.
2829
resource_client = ResourceManagementClient(credential, subscription_id)
2930

31+
# managed resource groups provided on env
3032
managed_resource_groups = os.environ["RESOURCE_GROUPS"].split(",")
31-
33+
34+
managed_resource_groups = check_rg_availability(resource_client, managed_resource_groups)
35+
3236
managed_resources = []
3337
for managed_resource_group in managed_resource_groups:
3438
resources = resource_client.resources.list_by_resource_group(managed_resource_group)
39+
3540
for resource in resources:
3641
if (resource.tags != None) and ('ExpiryDate' in resource.tags):
3742
try:

expire_resources/function.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"name": "mytimer",
66
"type": "timerTrigger",
77
"direction": "in",
8-
"schedule": "0 */15 * * * *"
8+
"schedule": "0 */5 * * * *"
99
}
1010
]
1111
}

expire_resources/resource_ops.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,20 @@
11
import pytz
22
import logging
33
from datetime import datetime
4+
from azure.mgmt.resource import ResourceManagementClient
45

6+
def check_rg_availability(resource_client, managed_resource_groups):
7+
"""
8+
Check the resource group provided is available in Azure environment
9+
"""
10+
# Get list of all resource groups
11+
all_resource_groups = []
12+
for resource_group in resource_client.resource_groups.list():
13+
all_resource_groups.append(resource_group.name)
14+
15+
# update managed resource group with existing
16+
m_rgs = list(set(all_resource_groups).intersection(set(managed_resource_groups)))
17+
return m_rgs
518

619
def resource_extractor(resource, type):
720
"""

expire_resources/util.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@ def tabulate_report(data):
77
"""
88
header = data[0].keys()
99
rows = [x.values() for x in data]
10-
return (tabulate.tabulate(rows, header, tablefmt='grid'))
10+
return (tabulate.tabulate(rows, header))
1111

0 commit comments

Comments
 (0)