organzing for portfolio
This commit is contained in:
21
SysadminAutomation/PHPIpam/phpipam_api_key.sh
Normal file
21
SysadminAutomation/PHPIpam/phpipam_api_key.sh
Normal file
@ -0,0 +1,21 @@
|
||||
function api_key_phpiahm()
|
||||
{
|
||||
#Description: obtain api key from phpipam for future operations
|
||||
#Arguments: none
|
||||
#Outputs: api key
|
||||
|
||||
curl \
|
||||
--silent \
|
||||
-X POST \
|
||||
--user $UN:$PW \
|
||||
-H "Content-Type: application/xml" \
|
||||
$PHPIPAM_BASE_URL/user/ > /tmp/phpipam/$CURR_EX_VAR-token.xml
|
||||
|
||||
export API_TOKEN=$(while read_dom; do
|
||||
if [[ $ENTITY = "token" ]]; then
|
||||
echo $CONTENT
|
||||
fi
|
||||
done < /tmp/phpipam/$CURR_EX_VAR-token.xml)
|
||||
rm -f /tmp/phpipam/$CURR_EX_VAR-token.xml
|
||||
}
|
||||
|
52
SysadminAutomation/PHPIpam/phpipam_hostname_detail.sh
Normal file
52
SysadminAutomation/PHPIpam/phpipam_hostname_detail.sh
Normal file
@ -0,0 +1,52 @@
|
||||
function phpipam_hostname_detail()
|
||||
{
|
||||
#Description: lookup network details from a hostname
|
||||
#Arguments: hostname
|
||||
#output: IP address, netmask, gw
|
||||
|
||||
#Lookup TS hostname/IP in phpipam
|
||||
IP_XML=$(curl \
|
||||
--silent \
|
||||
-X GET \
|
||||
--user $UN:$PW \
|
||||
-H "Content-Type: application/xml" \
|
||||
-H "token:${API_TOKEN}" \
|
||||
$PHPIPAM_BASE_URL/api/$APP_ID/addresses/search_hostname/$1/ > /tmp/phpipam/$CURR_EX_VAR-ip.xml
|
||||
)
|
||||
|
||||
PC_IP=$(while read_dom; do
|
||||
if [[ $ENTITY = "ip" ]]; then
|
||||
echo $CONTENT
|
||||
fi
|
||||
done < /tmp/phpipam/$CURR_EX_VAR-ip.xml)
|
||||
|
||||
SUBNET_ID=$(while read_dom; do
|
||||
if [[ $ENTITY = "subnetId" ]]; then
|
||||
echo $CONTENT
|
||||
fi
|
||||
done < /tmp/phpipam/$CURR_EX_VAR-ip.xml)
|
||||
|
||||
|
||||
#Use subnet id to determine netmask and gateway
|
||||
curl \
|
||||
--silent \
|
||||
-X GET \
|
||||
--user $UN:$PW \
|
||||
-H "Content-Type: application/xml" \
|
||||
-H "token:${API_TOKEN}" \
|
||||
$PHPIPAM_BASE_URL/api/$APP_ID/subnets/$SUBNET_ID/ > /tmp/phpipam/$CURR_EX_VAR-subnet.xml
|
||||
|
||||
export PC_NETMASK=$(while read_dom; do
|
||||
if [[ $ENTITY = "Subnet_netmask" ]]; then
|
||||
echo $CONTENT
|
||||
fi
|
||||
done < /tmp/phpipam/$CURR_EX_VAR-subnet.xml)
|
||||
|
||||
export PC_GATEWAY=$(while read_dom; do
|
||||
if [[ $ENTITY = "ip_addr" ]]; then
|
||||
echo $CONTENT
|
||||
fi
|
||||
done < /tmp/phpipam/$CURR_EX_VAR-subnet.xml)
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user