cookiemonster
Feb 24, 2021Altostratus
AS3 Shared Objects and Virtual Service Address Lists
Below is a declaration that will create a virtual service that has a host 1.1.1.50/32 as the allowed source host. How in AS3 do you create a shared object address list if that is possible, or if that is not possible how do reference an existing address list in the declaration so I can specify multiple source hosts rather than a subnet?
{
"class": "AS3",
"action": "patch",
"patchBody": [
{
"op": "add",
"path": "/{{tenant}}/testvip",
"value": {
"class": "Application",
"template": "generic",
"testvip_http_8080": {
"class": "Service_HTTP",
"snat": "auto",
"virtualPort": 8080,
"virtualAddresses": [
["10.10.10.10", "1.1.1.50/32"]
],
"iRules": [],
"pool": "testvip_tcp_8080_pool",
"persistenceMethods": []
},
"testvip_tcp_8080_pool": {
"class": "Pool",
"monitors": [
{
"use": "testvip_http_8080_monitor"
}
],
"loadBalancingMode": "least-connections-member",
"members": [
{
"adminState": "enable",
"shareNodes": false,
"servicePort": 8080,
"serverAddresses": [
"2.2.2.2"
],
"hostname": "server1"
},
{
"adminState": "enable",
"shareNodes": false,
"servicePort": 8080,
"serverAddresses": [
"3.3.3.3"
],
"hostname": "server2"
},
{
"adminState": "enable",
"shareNodes": false,
"servicePort": 8080,
"serverAddresses": [
"4.4.4.4"
],
"hostname": "server3"
}
]
},
"testvip_http_8080_monitor": {
"class": "Monitor",
"monitorType": "http",
"send": "GET /keepalive.txt HTTP/1.0",
"receive": "200"
}
}
}
]
}