gautam-y / Ansible

Content related to Ansible
0 stars 0 forks source link

Script for job templates #1

Open gautam-y opened 1 year ago

gautam-y commented 1 year ago

!/bin/bash

tower_username="your_username" tower_password="your_password" tower_api_url="https://your-tower-instance/api/v2/"

Authenticate and retrieve authentication token

auth_token=$(curl -s -X POST -H "Content-Type: application/json" -d "{\"username\":\"$tower_username\",\"password\":\"$tower_password\"}" "$tower_api_url/authtoken/" | jq -r '.token')

Set the headers for subsequent API requests

headers=( "Content-Type: application/json" "Authorization: Token $auth_token" )

Retrieve organizations

organizations=$(curl -s -H "${headers[@]}" "$tower_api_url/organizations/" | jq -r '.results[]')

Prepare CSV file

csv_filename="ansible_tower_organizations.csv" echo "Organization Name,Job Templates Count" > "$csv_filename"

Retrieve job templates count for each organization

for org in $organizations; do organization_id=$(echo "$org" | jq -r '.id') organization_name=$(echo "$org" | jq -r '.name') job_templates_count=$(curl -s -H "${headers[@]}" "$tower_api_url/organizations/$organization_id/job_templates/" | jq -r '.count') echo "$organization_name,$job_templates_count" >> "$csv_filename" done

echo "Data exported to $csv_filename successfully."

gautam-y commented 1 year ago

!/bin/bash

tower_username="your_username" tower_password="your_password" tower_api_url="https://your-tower-instance/api/v2/"

Authenticate and retrieve authentication token

auth_token=$(curl -s -X POST -H "Content-Type: application/json" -d "{\"username\":\"$tower_username\",\"password\":\"$tower_password\"}" "$tower_api_url/authtoken/" | jq -r '.token')

Set the headers for subsequent API requests

headers=( "Content-Type: application/json" "Authorization: Token $auth_token" )

Retrieve organizations

organizations=$(curl -s -H "${headers[@]}" "$tower_api_url/organizations/" | jq -r '.results[]')

Prepare CSV file

csv_filename="ansible_tower_organizations.csv" echo "Organization Name,Job Templates Count" > "$csv_filename"

Retrieve job templates count for each organization

for org in $organizations; do organization_id=$(echo "$org" | jq -r '.id') organization_name=$(echo "$org" | jq -r '.name') job_templates_count=$(curl -s -H "${headers[@]}" "$tower_api_url/organizations/$organization_id/job_templates/" | jq -r '.count') echo "$organization_name,$job_templates_count" >> "$csv_filename" done

echo "Data exported to $csv_filename successfully."