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