import requests
# Hard-coded values
API_BASE_URL = "http://<quay-server.example.com>/api/v1"
ACCESS_TOKEN = "<access_token>"
ORG_NAME = "<organization_name>"
def get_all_organization_applications():
url = f"{API_BASE_URL}/organization/{ORG_NAME}/applications"
headers = {
"Authorization": f"Bearer {ACCESS_TOKEN}"
}
response = requests.get(url, headers=headers)
if response.status_code == 200:
try:
applications = response.json()
# Print the raw response for debugging
print("Raw response:", applications)
# Adjust parsing logic based on the response structure
if isinstance(applications, dict) and 'applications' in applications:
applications = applications['applications']
if isinstance(applications, list):
print("Organization applications retrieved successfully:")
for app in applications:
# Updated key from 'title' to 'name'
print(f"Name: {app['name']}, Client ID: {app['client_id']}")
return applications
else:
print("Unexpected response format.")
return []
except requests.exceptions.JSONDecodeError:
print("Error decoding JSON response:", response.text)
return []
else:
print(f"Failed to retrieve applications. Status code: {response.status_code}, Response: {response.text}")
return []
def delete_organization_application(client_id):
url = f"{API_BASE_URL}/organization/{ORG_NAME}/applications/{client_id}"
headers = {
"Authorization": f"Bearer {ACCESS_TOKEN}"
}
response = requests.delete(url, headers=headers)
if response.status_code == 204:
print(f"Application {client_id} deleted successfully.")
else:
print(f"Failed to delete application {client_id}. Status code: {response.status_code}, Response: {response.text}")
def main():
applications = get_all_organization_applications()
for app in applications:
if app['name'] != "<admin_token_app>": <5> # Skip the "admin-token-app"
delete_organization_application(app['client_id'])
else:
print(f"Skipping deletion of application: {app['name']}")
# Execute the main function
main()
import requests
1
# Hard-coded values
API_BASE_URL = "http://<quay-server.example.com>/api/v1"
2
ACCESS_TOKEN = "<access_token>"
3
ORG_NAME = "<organization_name>"
4
def get_all_organization_applications():
url = f"{API_BASE_URL}/organization/{ORG_NAME}/applications"
headers = {
"Authorization": f"Bearer {ACCESS_TOKEN}"
}
response = requests.get(url, headers=headers)
if response.status_code == 200:
try:
applications = response.json()
# Print the raw response for debugging
print("Raw response:", applications)
# Adjust parsing logic based on the response structure
if isinstance(applications, dict) and 'applications' in applications:
applications = applications['applications']
if isinstance(applications, list):
print("Organization applications retrieved successfully:")
for app in applications:
# Updated key from 'title' to 'name'
print(f"Name: {app['name']}, Client ID: {app['client_id']}")
return applications
else:
print("Unexpected response format.")
return []
except requests.exceptions.JSONDecodeError:
print("Error decoding JSON response:", response.text)
return []
else:
print(f"Failed to retrieve applications. Status code: {response.status_code}, Response: {response.text}")
return []
def delete_organization_application(client_id):
url = f"{API_BASE_URL}/organization/{ORG_NAME}/applications/{client_id}"
headers = {
"Authorization": f"Bearer {ACCESS_TOKEN}"
}
response = requests.delete(url, headers=headers)
if response.status_code == 204:
print(f"Application {client_id} deleted successfully.")
else:
print(f"Failed to delete application {client_id}. Status code: {response.status_code}, Response: {response.text}")
def main():
applications = get_all_organization_applications()
for app in applications:
if app['name'] != "<admin_token_app>": <5> # Skip the "admin-token-app"
delete_organization_application(app['client_id'])
else:
print(f"Skipping deletion of application: {app['name']}")
# Execute the main function
main()
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow