|
4 | 4 |
|
5 | 5 | import requests |
6 | 6 | from loguru import logger |
| 7 | +from src.shared.consts import MANUAL_TEAM_SOURCE |
7 | 8 | from src.shared.env_tools import get_jit_endpoint_base_url |
8 | 9 | from src.shared.models import Asset, TeamAttributes |
9 | 10 |
|
@@ -89,22 +90,28 @@ def delete_teams(token, team_names): |
89 | 90 |
|
90 | 91 | for team_name in team_names: |
91 | 92 | team_id = None |
| 93 | + selected_team = None |
92 | 94 | for team in existing_teams: |
93 | 95 | if team.name == team_name: |
94 | 96 | team_id = team.id |
| 97 | + selected_team = team |
95 | 98 | break |
96 | 99 |
|
| 100 | + # We only delete teams that are manually created |
97 | 101 | if team_id: |
98 | | - url = f"{get_jit_endpoint_base_url()}/teams/{team_id}" |
99 | | - headers = {"Authorization": f"Bearer {token}"} |
| 102 | + if selected_team and selected_team.source == MANUAL_TEAM_SOURCE: |
| 103 | + url = f"{get_jit_endpoint_base_url()}/teams/{team_id}" |
| 104 | + headers = {"Authorization": f"Bearer {token}"} |
100 | 105 |
|
101 | | - response = requests.delete(url, headers=headers) |
| 106 | + response = requests.delete(url, headers=headers) |
102 | 107 |
|
103 | | - if response.status_code == 204: |
104 | | - logger.info(f"Team '{team_name}' deleted successfully.") |
| 108 | + if response.status_code == 204: |
| 109 | + logger.info(f"Team '{team_name}' deleted successfully.") |
| 110 | + else: |
| 111 | + logger.error( |
| 112 | + f"Failed to delete team '{team_name}'. Status code: {response.status_code}, {response.text}") |
105 | 113 | else: |
106 | | - logger.error( |
107 | | - f"Failed to delete team '{team_name}'. Status code: {response.status_code}, {response.text}") |
| 114 | + logger.info(f"Team '{team_name}' is not manually created. Skipping deletion.") |
108 | 115 | else: |
109 | 116 | logger.warning(f"Team '{team_name}' not found.") |
110 | 117 |
|
|
0 commit comments