Forum Discussion
Create a IFile {system level} via API - Powershell
- Aug 24, 2022
Found my fault... JRahm & Patrik_Jonsson this was after my long reply to your other post JRahm (and yes it works on a POST method)... I had the file name in the URL overload specified on the initial create request, it should not be in there...
so this..$File_Name = 'MyFile' $url = "{0}{1}{2}" -f $big_ip, "/mgmt/tm/sys/file/ifile/",$File_Name $headers = @{ 'Content-Type' = 'application/json' 'X-F5-Auth-Token' = $token } $body = @{ 'name' = $File_Name 'source-path' = "file:/var/config/rest/downloads/$File_Name" } | ConvertTo-Json -Compress $result = Invoke-RestMethod -Method post -Uri $url -Headers $headers -Body $body
needs to be:$File_Name = 'MyFile' $url = "{0}{1}" -f $big_ip, "/mgmt/tm/sys/file/ifile/" $headers = @{ 'Content-Type' = 'application/json' 'X-F5-Auth-Token' = $token } $body = @{ 'name' = $File_Name 'source-path' = "file:/var/config/rest/downloads/$File_Name" } | ConvertTo-Json -Compress $result = Invoke-RestMethod -Method post -Uri $url -Headers $headers -Body $body
without the file name in the initial overload.
Hope this helps some future person 🙂
Off to the next challange.
Bonus: Retyped to splat (overload definition) - because why not.# Create a IFile {system level} $File_Name = 'MyFile' $Uri = "{0}{1}" -f $big_ip, "/mgmt/tm/sys/file/ifile/" # Construct overload definition $Param_InvokeRestMethod = @{ headers = @{ 'Content-Type' = 'application/json' 'X-F5-Auth-Token' = $token } body = @{ 'name' = $File_Name 'source-path' = "file:/var/config/rest/downloads/$File_Name" } | ConvertTo-Json -Compress Method = 'post' Uri = $Uri } # Post & capture result $result = Invoke-RestMethod @Param_InvokeRestMethod
Found my fault... JRahm & Patrik_Jonsson this was after my long reply to your other post JRahm (and yes it works on a POST method)... I had the file name in the URL overload specified on the initial create request, it should not be in there...
so this..
$File_Name = 'MyFile'
$url = "{0}{1}{2}" -f $big_ip, "/mgmt/tm/sys/file/ifile/",$File_Name
$headers = @{
'Content-Type' = 'application/json'
'X-F5-Auth-Token' = $token
}
$body = @{
'name' = $File_Name
'source-path' = "file:/var/config/rest/downloads/$File_Name"
} | ConvertTo-Json -Compress
$result = Invoke-RestMethod -Method post -Uri $url -Headers $headers -Body $body
needs to be:
$File_Name = 'MyFile'
$url = "{0}{1}" -f $big_ip, "/mgmt/tm/sys/file/ifile/"
$headers = @{
'Content-Type' = 'application/json'
'X-F5-Auth-Token' = $token
}
$body = @{
'name' = $File_Name
'source-path' = "file:/var/config/rest/downloads/$File_Name"
} | ConvertTo-Json -Compress
$result = Invoke-RestMethod -Method post -Uri $url -Headers $headers -Body $body
without the file name in the initial overload.
Hope this helps some future person 🙂
Off to the next challange.
Bonus: Retyped to splat (overload definition) - because why not.
# Create a IFile {system level}
$File_Name = 'MyFile'
$Uri = "{0}{1}" -f $big_ip, "/mgmt/tm/sys/file/ifile/"
# Construct overload definition
$Param_InvokeRestMethod = @{
headers = @{
'Content-Type' = 'application/json'
'X-F5-Auth-Token' = $token
}
body = @{
'name' = $File_Name
'source-path' = "file:/var/config/rest/downloads/$File_Name"
} | ConvertTo-Json -Compress
Method = 'post'
Uri = $Uri
}
# Post & capture result
$result = Invoke-RestMethod @Param_InvokeRestMethod
glad you worked it out!
Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com