Provides RESTful API access to the F5 BigIP/LTM
GET /v1/f5/ping
GET /v1/f5/version
GET /v1/f5/metrics
GET /v1/f5/{host}/clientssl
GET /v1/f5/{host}/clientssl/{clientsslprofilename}
PUT /v1/f5/{host}/createclientssl/{clientclientsslprofilename}
PUT /v1/f5/{host}/updateclientssl/{updateclientsslprofilename}
Configuration file with a list of LTM hosts
CRUD operations on:
- SSL Client Certificates
- SSL keys
- SSL Client Profiles
Enable operations on one or more LTM hosts
GET
/v1/f5/flt-ltm-cluster.example.org/clientssl
GET
/v1/f5/flt-ltm-cluster.example.org/clientssl/{test.example.org}
PUT
curl -H -X PUT --data "@tmp/sslclientprofile" 'X-Auth-Token:{uuid}' "http://127.0.0.1:8080/v1/f5/flt-ltm-cluster.example.org/createclientssl/{test.example.org}" |jq
where tmp/sslclientprofile contains:
"clientssl-profile": "test.example.org",
"chain": "intermediate-chain.crt",
"defaultsfrom": "clientssl",
"ciphergroup": "default-tlsv1.2",
"ciphers": "none",
"cert": "base64-encoded-certificate-pem",
"key": "base64-encoded-key-pem"
}```
### Update Client SSL Profile
PUT
curl -H -X PUT --data "@tmp/sslclientprofile" 'X-Auth-Token:{uuid}' "http://127.0.0.1:8080/v1/f5/flt-ltm-cluster.example.org/updateclientssl/{test.example.org}" |jq
where tmp/sslclientprofile contains:
```{
"clientssl-profile": "test.example.org",
"chain": "intermediate-chain.crt",
"defaultsfrom": "clientssl",
"ciphergroup": "default-tlsv1.2",
"ciphers": "none",
"cert": "base64-encoded-certificate-pem",
"key": "base64-encoded-key-pem"
}```
### Responses
```json
json here
Authentication is accomplished via a pre-shared key. This is done via the X-Auth-Token
header.
Darryl Wisneski [email protected]
GNU Affero General Public License v3.0 (GNU AGPLv3)
Copyright (c) 2021 Yale University