Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ruanhaishen
Acme.Sh
Commits
0b52645b
Commit
0b52645b
authored
Jun 08, 2017
by
Rikard Gynnerstedt
Browse files
added view variable to infoblox integration script
parent
8e845d9f
Changes
1
Hide whitespace changes
Inline
Side-by-side
dnsapi/dns_infoblox.sh
View file @
0b52645b
#!/
usr/bin/env
sh
#!/
bin/ba
sh
## Infoblox API integration by Jason Keller and Elijah Tenai
##
...
...
@@ -9,7 +9,7 @@ dns_infoblox_add() {
## Nothing to see here, just some housekeeping
fulldomain
=
$1
txtvalue
=
$2
baseurlnObject
=
"https://
$Infoblox_Server
/wapi/v2.2.2/record:txt?name=
$fulldomain
&text=
$txtvalue
"
baseurlnObject
=
"https://
$Infoblox_Server
/wapi/v2.2.2/record:txt?name=
$fulldomain
&text=
$txtvalue
&view=
$Infoblox_View
"
_info
"Using Infoblox API"
_debug fulldomain
"
$fulldomain
"
...
...
@@ -19,11 +19,15 @@ dns_infoblox_add() {
if
[
-z
"
$Infoblox_Creds
"
]
||
[
-z
"
$Infoblox_Server
"
]
;
then
Infoblox_Creds
=
""
Infoblox_Server
=
""
_err
"You didn't specify the credentials
or
server yet (Infoblox_Creds
and
Infoblox_Server)."
_err
"Please set them via EXPORT ([username:password]
and
[ip or hostname]) and try again."
_err
"You didn't specify the credentials
,
server
or infoblox view
yet (Infoblox_Creds
,
Infoblox_Server
and Infoblox_View
)."
_err
"Please set them via EXPORT ([username:password]
,
[ip or hostname]) and try again."
return
1
fi
if
[
-z
"
$Infoblox_View
"
]
;
then
Infoblox_View
=
"default"
fi
## Save the credentials to the account file
_saveaccountconf Infoblox_Creds
"
$Infoblox_Creds
"
_saveaccountconf Infoblox_Server
"
$Infoblox_Server
"
...
...
@@ -39,7 +43,7 @@ dns_infoblox_add() {
result
=
$(
_post
""
"
$baseurlnObject
"
""
"POST"
)
## Let's see if we get something intelligible back from the unit
if
echo
"
$result
"
| egrep
'
record:txt/.*:.*/
default'
;
then
if
echo
"
$result
"
| egrep
"
record:txt/.*:.*/
${
Infoblox_View
}
"
;
then
_info
"Successfully created the txt record"
return
0
else
...
...
@@ -68,18 +72,18 @@ dns_infoblox_rm() {
export
_H2
=
"Authorization: Basic
$Infoblox_CredsEncoded
"
## Does the record exist? Let's check.
baseurlnObject
=
"https://
$Infoblox_Server
/wapi/v2.2.2/record:txt?name=
$fulldomain
&text=
$txtvalue
&_return_type=xml-pretty"
baseurlnObject
=
"https://
$Infoblox_Server
/wapi/v2.2.2/record:txt?name=
$fulldomain
&text=
$txtvalue
&
view=
$Infoblox_View
&
_return_type=xml-pretty"
result
=
$(
_get
"
$baseurlnObject
"
)
## Let's see if we get something intelligible back from the grid
if
echo
"
$result
"
| egrep
'record:txt/.*:.*/default'
;
then
## Extract the object reference
objRef
=
$(
printf
"%b"
"
$result
"
| _egrep_o
'
record:txt/.*:.*/
default'
)
objRef
=
$(
printf
"%b"
"
$result
"
| _egrep_o
"
record:txt/.*:.*/
${
Infoblox_View
}
"
)
objRmUrl
=
"https://
$Infoblox_Server
/wapi/v2.2.2/
$objRef
"
## Delete them! All the stale records!
rmResult
=
$(
_post
""
"
$objRmUrl
"
""
"DELETE"
)
## Let's see if that worked
if
echo
"
$rmResult
"
| egrep
'
record:txt/.*:.*/
default'
;
then
if
echo
"
$rmResult
"
| egrep
"
record:txt/.*:.*/
${
Infoblox_View
}
"
;
then
_info
"Successfully deleted
$objRef
"
return
0
else
...
...
@@ -94,4 +98,4 @@ dns_infoblox_rm() {
fi
}
#################### Private functions below ##################################
#################### Private functions below ##################################
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment