{
  "id": "@itentialopensource/adapter-avi_controller",
  "type": "Adapter",
  "export": "AviController",
  "title": "AviController",
  "src": "adapter.js",
  "roles": [
    "admin"
  ],
  "methods": [
    {
      "name": "iapUpdateAdapterConfiguration",
      "summary": "Updates the adapter configuration",
      "description": "Updates the adapter configuration file with the provided changes",
      "input": [
        {
          "name": "configFile",
          "type": "string",
          "info": "The name of the file to change",
          "required": true,
          "schema": {
            "title": "configFile",
            "type": "string"
          }
        },
        {
          "name": "changes",
          "type": "object",
          "info": "JSON object containing the configuration changes",
          "required": true,
          "schema": {
            "title": "changes",
            "type": "object"
          }
        },
        {
          "name": "entity",
          "type": "string",
          "info": "The entity in which the changes are being made",
          "required": false,
          "schema": {
            "title": "entity",
            "type": "string"
          }
        },
        {
          "name": "type",
          "type": "string",
          "info": "The type of file to change - action, schema, or mock",
          "required": false,
          "schema": {
            "title": "type",
            "type": "string"
          }
        },
        {
          "name": "action",
          "type": "string",
          "info": "The action to be changed",
          "required": false,
          "schema": {
            "title": "action",
            "type": "string"
          }
        },
        {
          "name" : "replace",
          "type": "boolean",
          "info": "True to replace entire mock data, false to merge/append",
          "required": false,
          "schema": {
            "title": "replace",
            "type" : "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapUpdateAdapterConfiguration"
      },
      "task": true
    },
    {
      "name": "iapSuspendAdapter",
      "summary": "Suspends the adapter",
      "description": "Suspends the adapter",
      "input": [
        {
          "name": "mode",
          "type": "enum",
          "enumerals": [
            "pause",
            "error"
          ],
          "info": "How incoming requests are handled. Defaults to 'pause'",
          "description": "How incoming requests are handled. Defaults to 'pause'",
          "schema": {
            "title": "mode",
            "type": "string"
          },
          "required": false
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the adapter suspended status",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapSuspendAdapter"
      },
      "task": true
    },
    {
      "name": "iapUnsuspendAdapter",
      "summary": "Unsuspends the adapter",
      "description": "Unsuspends the adapter",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the adapter suspended status",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapUnsuspendAdapter"
      },
      "task": true
    },
    {
      "name": "iapGetAdapterQueue",
      "summary": "Return the requests that are waiting in the queue if throttling is enabled",
      "description": "Return the requests that are waiting in the queue if throttling is enabled",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the adapter queue",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapGetAdapterQueue"
      },
      "task": true
    },
    {
      "name": "iapFindAdapterPath",
      "summary": "Provides the ability to see if a particular API path is supported by the adapter",
      "description": "Provides the ability to see if a particular API path is supported by the adapter",
      "input": [
        {
          "name": "apiPath",
          "type": "string",
          "info": "The API Path you want to check - make sure to not include base path and version",
          "description": "The API Path you want to check - make sure to not include base path and version",
          "schema": {
            "title": "apiPath",
            "type": "string"
          },
          "required": true
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapFindAdapterPath"
      },
      "task": true
    },
    {
      "name": "iapTroubleshootAdapter",
      "summary": "Runs troubleshoot script for adapter",
      "description": "Runs troubleshoot script for adapter",
      "input": [
        {
          "name": "props",
          "type": "object",
          "info": "Object containing configuration, healthcheck and auth properties {'connProps':{'host': 'api.service.com', 'base_path': '/', 'protocol': 'http', 'port': 443, 'version': 'v1'},'healthCheckEndpoint': '/healthcheck', 'auth': {'auth_method': 'no authentication', 'username': 'username', 'password': 'password'}}",
          "required": true,
          "schema": {
            "title": "props",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the test results",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapTroubleshootAdapter"
      },
      "task": true
    },
    {
      "name": "iapRunAdapterHealthcheck",
      "summary": "Runs healthcheck script for adapter",
      "description": "Runs healthcheck script for adapter",
      "input": [],
      "output": {
        "name": "result",
        "type": "boolean",
        "description": "Whether healthcheck passed or failed",
        "schema": {
          "title": "result",
          "type": "boolean"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapRunAdapterHealthcheck"
      },
      "task": true
    },
    {
      "name": "iapRunAdapterConnectivity",
      "summary": "Runs connectivity check script for adapter",
      "description": "Runs connectivity check script for adapter",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the test results",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapRunAdapterConnectivity"
      },
      "task": true
    },
    {
      "name": "iapRunAdapterBasicGet",
      "summary": "Runs basicGet script for adapter",
      "description": "Runs basicGet script for adapter",
      "input": [
        {
          "name": "maxCalls",
          "required": false,
          "type": "number", 
          "info": "How many GET endpoints to test (defaults to 5)",
          "schema": {
            "title": "maxCalls",
            "type": "number", 
            "default": 5
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the test results",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapRunAdapterBasicGet"
      },
      "task": true
    },
    {
      "name": "iapMoveAdapterEntitiesToDB",
      "summary": "Moves entities from an adapter into the Itential Platform database",
      "description": "Moves entities from an adapter into the Itential Platform database",
      "input": [],
      "output": {
        "name": "res",
        "type": "object",
        "description": "A JSON Object containing status, code and the response from the mongo transaction",
        "schema": {
          "title": "res",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapMoveAdapterEntitiesToDB"
      },
      "task": true
    },
    {
      "name": "iapDeactivateTasks",
      "summary": "Deactivate the inputted tasks",
      "description": "Deactivate the inputted tasks",
      "input": [
        {
          "name": "tasks",
          "type": "array",
          "description": "Tasks to deactivate",
          "schema": {
            "title": "tasks",
            "type": "array"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing success status",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapDeactivateTasks"
      },
      "task": true
    },
    {
      "name": "iapActivateTasks",
      "summary": "Activate the inputted tasks",
      "description": "activate the inputted tasks",
      "input": [
        {
          "name": "tasks",
          "type": "array",
          "description": "Tasks to activate",
          "schema": {
            "title": "tasks",
            "type": "array"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing success status",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapActivateTasks"
      },
      "task": true
    },
    {
      "name": "iapPopulateEntityCache",
      "summary": "Populate the cache for the given entities",
      "description": "Populate the cache for the given entities",
      "input": [
        {
          "name": "entityTypes",
          "type": "array",
          "info": "the entity type(s) to populate",
          "required": true,
          "schema": {
            "title": "entityTypes",
            "type": "array"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapPopulateEntityCache"
      },
      "task": true
    },
    {
      "name": "iapRetrieveEntitiesCache",
      "summary": "Retrieves data from cache for specified entity type",
      "description": "Retrieves data from cache for specified entity type",
      "input": [
        {
          "name": "entityType",
          "type": "string",
          "info": "entity of which to retrieve",
          "required": true,
          "schema": {
            "title": "entityType",
            "type": "string"
          }
        },
        {
          "name": "options",
          "type": "object",
          "info": "settings of which data to return and how to return it",
          "required": false,
          "schema": {
            "title": "options",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapRetrieveEntitiesCache"
      },
      "task": true
    },
    {
      "name": "getDevice",
      "summary": "Get the Appliance",
      "description": "Get the Appliance",
      "input": [
        {
          "name": "deviceName",
          "type": "string",
          "info": "An Appliance Device Name",
          "required": true,
          "schema": {
            "title": "deviceName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getDevice"
      },
      "task": false
    },
    {
      "name": "getDevicesFiltered",
      "summary": "Get Appliances that match the filter",
      "description": "Get Appliances that match the filter",
      "input": [
        {
          "name": "options",
          "type": "object",
          "info": "options - e.g. { 'start': 1, 'limit': 20, 'filter': { 'name': 'abc123' } }",
          "required": true,
          "schema": {
            "title": "options",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "array",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "array"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getDevicesFiltered"
      },
      "task": false
    },
    {
      "name": "isAlive",
      "summary": "Checks the status for the provided Appliance",
      "description": "Checks the status for the provided Appliance",
      "input": [
        {
          "name": "deviceName",
          "type": "string",
          "info": "An Appliance Device Name",
          "required": true,
          "schema": {
            "title": "deviceName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "boolean",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "boolean"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/isAlive"
      },
      "task": false
    },
    {
      "name": "getConfig",
      "summary": "Gets a config for the provided Appliance",
      "description": "Gets a config for the provided Appliance",
      "input": [
        {
          "name": "deviceName",
          "type": "string",
          "info": "An Appliance Device Name",
          "required": true,
          "schema": {
            "title": "deviceName",
            "type": "string"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The format to be returned - this is ignored as we always return json",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getConfig"
      },
      "task": false
    },
    {
      "name": "iapGetDeviceCount",
      "summary": "Gets a device count from the system",
      "description": "Gets a device count from the system",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapGetDeviceCount"
      },
      "task": false
    },
    {
      "name": "iapExpandedGenericAdapterRequest",
      "summary": "Makes the requested generic call with additional options",
      "description": "Makes the requested generic call with additional options via metadata",
      "input": [
        {
          "name": "metadata",
          "type": "object",
          "info": "metadata for the call (optional)",
          "description": "metadata for the call - allows for many enhancements (optional)",
          "schema": {
            "title": "metadata",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "uriPath",
          "type": "string",
          "info": "the path of the api call - do not include the host, port, base path or version",
          "description": "the path of the api call",
          "schema": {
            "title": "uriPath",
            "type": "string"
          },
          "required": false
        },
        {
          "name": "restMethod",
          "type": "string",
          "info": "the rest method (GET, POST, PUT, PATCH, DELETE)",
          "description": "the rest method (GET, POST, PUT, PATCH, DELETE)",
          "schema": {
            "title": "restMethod",
            "type": "string"
          },
          "required": false
        },
        {
          "name": "pathVars",
          "type": "object",
          "info": "the parameters to be put within the url path (optional)",
          "description": "the parameters to be put within the url path (optional)",
          "schema": {
            "title": "pathVars",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "queryData",
          "type": "object",
          "info": "the query parameters to be put on the url (optional)",
          "description": "the query parameters to be put on the url (optional)",
          "schema": {
            "title": "queryData",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "requestBody",
          "type": "object",
          "info": "the payload to be sent with the request (optional)",
          "description": "the payload to be sent with the request (optional)",
          "schema": {
            "title": "requestBody",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "addlHeaders",
          "type": "object",
          "info": "additional headers to be put on the call (optional)",
          "description": "additional headers to be put on the call (optional)",
          "schema": {
            "title": "addlHeaders",
            "type": "object"
          },
          "required": false
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapExpandedGenericAdapterRequest"
      },
      "task": true
    },
    {
      "name": "genericAdapterRequest",
      "summary": "Makes the requested generic call",
      "description": "Makes the requested generic call",
      "input": [
        {
          "name": "uriPath",
          "type": "string",
          "info": "the path of the api call - do not include the host, port, base path or version",
          "description": "the path of the api call",
          "schema": {
            "title": "uriPath",
            "type": "string"
          },
          "required": true
        },
        {
          "name": "restMethod",
          "type": "string",
          "info": "the rest method (GET, POST, PUT, PATCH, DELETE)",
          "description": "the rest method (GET, POST, PUT, PATCH, DELETE)",
          "schema": {
            "title": "restMethod",
            "type": "string"
          },
          "required": true
        },
        {
          "name": "queryData",
          "type": "object",
          "info": "the query parameters to be put on the url (optional)",
          "description": "the query parameters to be put on the url (optional)",
          "schema": {
            "title": "queryData",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "requestBody",
          "type": "object",
          "info": "the payload to be sent with the request (optional)",
          "description": "the payload to be sent with the request (optional)",
          "schema": {
            "title": "requestBody",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "addlHeaders",
          "type": "object",
          "info": "additional headers to be put on the call (optional)",
          "description": "additional headers to be put on the call (optional)",
          "schema": {
            "title": "addlHeaders",
            "type": "object"
          },
          "required": false
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/genericAdapterRequest"
      },
      "task": true
    },
    {
      "name": "genericAdapterRequestNoBasePath",
      "summary": "Makes the requested generic call",
      "description": "Makes the requested generic call",
      "input": [
        {
          "name": "uriPath",
          "type": "string",
          "info": "the path of the api call - do not include the host, port, base path or version",
          "description": "the path of the api call",
          "schema": {
            "title": "uriPath",
            "type": "string"
          },
          "required": true
        },
        {
          "name": "restMethod",
          "type": "string",
          "info": "the rest method (GET, POST, PUT, PATCH, DELETE)",
          "description": "the rest method (GET, POST, PUT, PATCH, DELETE)",
          "schema": {
            "title": "restMethod",
            "type": "string"
          },
          "required": true
        },
        {
          "name": "queryData",
          "type": "object",
          "info": "the query parameters to be put on the url (optional)",
          "description": "the query parameters to be put on the url (optional)",
          "schema": {
            "title": "queryData",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "requestBody",
          "type": "object",
          "info": "the payload to be sent with the request (optional)",
          "description": "the payload to be sent with the request (optional)",
          "schema": {
            "title": "requestBody",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "addlHeaders",
          "type": "object",
          "info": "additional headers to be put on the call (optional)",
          "description": "additional headers to be put on the call (optional)",
          "schema": {
            "title": "addlHeaders",
            "type": "object"
          },
          "required": false
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/genericAdapterRequestNoBasePath"
      },
      "task": true
    },
    {
      "name": "iapRunAdapterLint",
      "summary": "Run the adapter lint script to return the results",
      "description": "Run the adapter lint script to return the results",
      "input": [],
      "output": {
        "name": "result",
        "type": "string",
        "description": "A string containing the run results",
        "schema": {
          "title": "result",
          "type": "string"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/iapRunAdapterLint"
      },
      "task": true
    },
    {
      "name": "iapRunAdapterTests",
      "summary": "Run the adapter test scripts (baseunit and unit) to return the results",
      "description": "Run the adapter test scripts (baseunit and unit) to return the results",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/iapRunAdapterTests"
      },
      "task": true
    },
    {
      "name": "iapGetAdapterInventory",
      "summary": "Provide inventory information abbout the adapter",
      "description": "Provide inventory information abbout the adapter",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/iapGetAdapterInventory"
      },
      "task": true
    },
    {
      "name": "virtualserviceGET",
      "summary": "Virtualservice_GET",
      "description": "Virtualservice_GET",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "object name: string",
          "required": false,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "refersTo",
          "type": "string",
          "info": "Filter to request all objects that refers to another Avi resource. Its syntax is refers_to= : . Eg. get all virtual services referring to pool p1 will be refers_to=pool:p...(description truncated): string",
          "required": false,
          "schema": {
            "title": "refersTo",
            "type": "string"
          }
        },
        {
          "name": "referredBy",
          "type": "string",
          "info": "Filter to request all objects that are referred by another Avi resource. Its syntax is referred_by= : . Eg. get all pools referred_by virtual service vs1 - referred_by=vi...(description truncated): string",
          "required": false,
          "schema": {
            "title": "referredBy",
            "type": "string"
          }
        },
        {
          "name": "fields",
          "type": "string",
          "info": "List of fields to be returned for the resource. Some fields like name, URL, uuid etc. are always returned.: string",
          "required": false,
          "schema": {
            "title": "fields",
            "type": "string"
          }
        },
        {
          "name": "includeName",
          "type": "boolean",
          "info": "All the Avi REST reference URIs have a name suffix as URI#name. It is useful to get the referenced resource name without performing get on that object.: boolean",
          "required": false,
          "schema": {
            "title": "includeName",
            "type": "boolean"
          }
        },
        {
          "name": "skipDefault",
          "type": "boolean",
          "info": "Default values are not set.: boolean",
          "required": false,
          "schema": {
            "title": "skipDefault",
            "type": "boolean"
          }
        },
        {
          "name": "joinSubresources",
          "type": "string",
          "info": "It automatically returns additional dependent resources like runtime. Eg. join_subresources=runtime.: string",
          "required": false,
          "schema": {
            "title": "joinSubresources",
            "type": "string"
          }
        },
        {
          "name": "cloudUuid",
          "type": "string",
          "info": "Filter to get objects that belongs to a specific cloud using its uuid. Eg. cloud_uuid=cloud-xyz.: string",
          "required": false,
          "schema": {
            "title": "cloudUuid",
            "type": "string"
          }
        },
        {
          "name": "cloudRefName",
          "type": "string",
          "info": "Filter to get objects that belongs to a specific cloud usings its name. This uses cloud name rather than uuid. Eg. cloud_ref.name=Default-Cloud.: string",
          "required": false,
          "schema": {
            "title": "cloudRefName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "VirtualServiceApiResponse",
          "required": [
            "count",
            "results"
          ],
          "type": "object",
          "properties": {
            "count": {
              "type": "integer"
            },
            "results": {
              "type": "array",
              "items": {
                "title": "VirtualService",
                "required": [
                  "name"
                ],
                "type": "object",
                "properties": {
                  "_last_modified": {
                    "type": "string",
                    "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
                  },
                  "active_standby_se_tag": {
                    "type": "string",
                    "description": "This configuration only applies if the VirtualService is in Legacy Active Standby HA mode and Load Distribution among Active Standby is enabled. This field is used to tag the VirtualService so that VirtualServices with the same tag will share the same Active ServiceEngine. VirtualServices with different tags will have different Active ServiceEngines. If one of the ServiceEngine's in the ServiceEngineGroup fails, all VirtualServices will end up using the same Active ServiceEngine. Redistribution of the VirtualServices can be either manual or automated when the failed ServiceEngine recovers. Redistribution is based on the auto redistribute property of the ServiceEngineGroup. Enum options - ACTIVE_STANDBY_SE_1, ACTIVE_STANDBY_SE_2.",
                    "default": "ACTIVE_STANDBY_SE_1"
                  },
                  "advertise_down_vs": {
                    "type": "boolean",
                    "description": "Keep advertising Virtual Service via BGP even if it is marked down by health monitor. This setting takes effect for future Virtual Service flaps. To advertise current VSes that are down, please disable and re-enable the Virtual Service. Field introduced in 20.1.1."
                  },
                  "allow_invalid_client_cert": {
                    "type": "boolean",
                    "description": "Process request even if invalid client certificate is presented. Datascript APIs need to be used for processing of such requests. Field introduced in 18.2.3."
                  },
                  "analytics_policy": {
                    "title": "AnalyticsPolicy",
                    "type": "object",
                    "properties": {
                      "all_headers": {
                        "type": "boolean",
                        "description": "Log all headers. Field introduced in 18.1.4, 18.2.1."
                      },
                      "client_insights": {
                        "type": "string",
                        "description": "Gain insights from sampled client to server HTTP requests and responses. Enum options - NO_INSIGHTS, PASSIVE, ACTIVE.",
                        "default": "NO_INSIGHTS"
                      },
                      "client_insights_sampling": {
                        "title": "ClientInsightsSampling",
                        "type": "object",
                        "properties": {
                          "client_ip": {
                            "title": "IpAddrMatch",
                            "required": [
                              "match_criteria"
                            ],
                            "type": "object",
                            "properties": {
                              "addrs": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "description": ""
                                },
                                "description": "IP address(es)."
                              },
                              "group_refs": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                },
                                "description": "UUID of IP address group(s). It is a reference to an object of type IpAddrGroup."
                              },
                              "match_criteria": {
                                "type": "string",
                                "description": "Criterion to use for IP address matching the HTTP request. Enum options - IS_IN, IS_NOT_IN."
                              },
                              "prefixes": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "description": ""
                                },
                                "description": "IP address prefix(es)."
                              },
                              "ranges": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "description": ""
                                },
                                "description": "IP address range(s)."
                              }
                            }
                          },
                          "sample_uris": {
                            "title": "StringMatch",
                            "required": [
                              "match_criteria"
                            ],
                            "type": "object",
                            "properties": {
                              "match_criteria": {
                                "type": "string",
                                "description": "Criterion to use for string matching the HTTP request. Enum options - BEGINS_WITH, DOES_NOT_BEGIN_WITH, CONTAINS, DOES_NOT_CONTAIN, ENDS_WITH, DOES_NOT_END_WITH, EQUALS, DOES_NOT_EQUAL, REGEX_MATCH, REGEX_DOES_NOT_MATCH."
                              },
                              "match_str": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                },
                                "description": "String value(s)."
                              },
                              "string_group_refs": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                },
                                "description": "UUID of the string group(s). It is a reference to an object of type StringGroup."
                              }
                            }
                          },
                          "skip_uris": {
                            "title": "StringMatch",
                            "required": [
                              "match_criteria"
                            ],
                            "type": "object",
                            "properties": {
                              "match_criteria": {
                                "type": "string",
                                "description": "Criterion to use for string matching the HTTP request. Enum options - BEGINS_WITH, DOES_NOT_BEGIN_WITH, CONTAINS, DOES_NOT_CONTAIN, ENDS_WITH, DOES_NOT_END_WITH, EQUALS, DOES_NOT_EQUAL, REGEX_MATCH, REGEX_DOES_NOT_MATCH."
                              },
                              "match_str": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                },
                                "description": "String value(s)."
                              },
                              "string_group_refs": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                },
                                "description": "UUID of the string group(s). It is a reference to an object of type StringGroup."
                              }
                            }
                          }
                        }
                      },
                      "client_log_filters": {
                        "type": "array",
                        "items": {
                          "title": "ClientLogFilter",
                          "required": [
                            "enabled",
                            "index",
                            "name"
                          ],
                          "type": "object",
                          "properties": {
                            "all_headers": {
                              "type": "boolean",
                              "description": "Placeholder for description of property all_headers of obj type ClientLogFilter field type str  type boolean"
                            },
                            "client_ip": {
                              "title": "IpAddrMatch",
                              "required": [
                                "match_criteria"
                              ],
                              "type": "object",
                              "properties": {
                                "addrs": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "description": ""
                                  },
                                  "description": "IP address(es)."
                                },
                                "group_refs": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "UUID of IP address group(s). It is a reference to an object of type IpAddrGroup."
                                },
                                "match_criteria": {
                                  "type": "string",
                                  "description": "Criterion to use for IP address matching the HTTP request. Enum options - IS_IN, IS_NOT_IN."
                                },
                                "prefixes": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "description": ""
                                  },
                                  "description": "IP address prefix(es)."
                                },
                                "ranges": {
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "description": ""
                                  },
                                  "description": "IP address range(s)."
                                }
                              }
                            },
                            "duration": {
                              "type": "integer",
                              "description": "Special values are 0 - 'infinite'.",
                                            "default": 30
                            },
                            "enabled": {
                              "type": "boolean",
                              "description": "Placeholder for description of property enabled of obj type ClientLogFilter field type str  type boolean"
                            },
                            "index": {
                              "type": "integer",
                              "description": "Number of index."
                            },
                            "name": {
                              "type": "string",
                              "description": "Name of the object."
                            },
                            "uri": {
                              "title": "StringMatch",
                              "required": [
                                "match_criteria"
                              ],
                              "type": "object",
                              "properties": {
                                "match_criteria": {
                                  "type": "string",
                                  "description": "Criterion to use for string matching the HTTP request. Enum options - BEGINS_WITH, DOES_NOT_BEGIN_WITH, CONTAINS, DOES_NOT_CONTAIN, ENDS_WITH, DOES_NOT_END_WITH, EQUALS, DOES_NOT_EQUAL, REGEX_MATCH, REGEX_DOES_NOT_MATCH."
                                },
                                "match_str": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "String value(s)."
                                },
                                "string_group_refs": {
                                  "type": "array",
                                  "items": {
                                    "type": "string"
                                  },
                                  "description": "UUID of the string group(s). It is a reference to an object of type StringGroup."
                                }
                              }
                            }
                          }
                        },
                        "description": "Placeholder for description of property client_log_filters of obj type AnalyticsPolicy field type str  type object"
                      },
                      "enabled": {
                        "type": "boolean",
                        "description": "[DEPRECATED] Disable Analytics on this VirtualService. This will disable the collection of both metrics and logs. Please use following fields in AnalytcsProfile to control this behavior instead. disable_vs_analytics (for VirtualServices metrics), disable_server_analytics (for Pool metrics) and client_log_config (for logs). Field deprecated in 18.2.1. Field introduced in 17.2.4."
                      },
                      "full_client_logs": {
                        "title": "FullClientLogs",
                        "required": [
                          "enabled"
                        ],
                        "type": "object",
                        "properties": {
                          "all_headers": {
                            "type": "boolean",
                            "description": "[DEPRECATED] Log all headers. Please use the all_headers flag in AnalyticsPolicy. Field deprecated in 18.1.4, 18.2.1."
                          },
                          "duration": {
                            "type": "integer",
                            "description": "How long should the system capture all logs, measured in minutes. Set to 0 for infinite. Special values are 0 - 'infinite'.",
                                        "default": 30
                          },
                          "enabled": {
                            "type": "boolean",
                            "description": "Capture all client logs including connections and requests.  When disabled, only errors will be logged."
                          },
                          "throttle": {
                            "type": "integer",
                            "description": "This setting limits the number of non-significant logs generated per second for this VS on each SE. Default is 10 logs per second. Set it to zero (0) to disable throttling. Field introduced in 17.1.3.",
                                        "default": 10
                          }
                        }
                      },
                      "metrics_realtime_update": {
                        "title": "MetricsRealTimeUpdate",
                        "required": [
                          "enabled"
                        ],
                        "type": "object",
                        "properties": {
                          "duration": {
                            "type": "integer",
                            "description": "Real time metrics collection duration in minutes. 0 for infinite. Special values are 0 - 'infinite'.",
                                        "default": 30
                          },
                          "enabled": {
                            "type": "boolean",
                            "description": "Enables real time metrics collection.  When disabled, 6 hour view is the most granular the system will track."
                          }
                        }
                      },
                      "significant_log_throttle": {
                        "type": "integer",
                        "description": "This setting limits the number of significant logs generated per second for this VS on each SE. Default is 10 logs per second. Set it to zero (0) to disable throttling. Field introduced in 17.1.3.",
                                "default": 10
                      },
                      "udf_log_throttle": {
                        "type": "integer",
                        "description": "This setting limits the total number of UDF logs generated per second for this VS on each SE. UDF logs are generated due to the configured client log filters or the rules with logging enabled. Default is 10 logs per second. Set it to zero (0) to disable throttling. Field introduced in 17.1.3.",
                                "default": 10
                      }
                    }
                  },
                  "analytics_profile_ref": {
                    "type": "string",
                    "description": "Specifies settings related to analytics. It is a reference to an object of type AnalyticsProfile."
                  },
                  "apic_contract_graph": {
                    "type": "string",
                    "description": "The name of the Contract/Graph associated with the Virtual Service. Should be in the <Contract name> <Graph name> format. This is applicable only for Service Integration mode with Cisco APIC Controller . Field introduced in 17.2.12,18.1.2."
                  },
                  "application_profile_ref": {
                    "type": "string",
                    "description": "Enable application layer specific features for the Virtual Service. It is a reference to an object of type ApplicationProfile."
                  },
                  "auto_allocate_floating_ip": {
                    "type": "boolean",
                    "description": "Auto-allocate floating/elastic IP from the Cloud infrastructure. Field deprecated in 17.1.1."
                  },
                  "auto_allocate_ip": {
                    "type": "boolean",
                    "description": "Auto-allocate VIP from the provided subnet. Field deprecated in 17.1.1."
                  },
                  "availability_zone": {
                    "type": "string",
                    "description": "Availability-zone to place the Virtual Service. Field deprecated in 17.1.1."
                  },
                  "avi_allocated_fip": {
                    "type": "boolean",
                    "description": "(internal-use) FIP allocated by Avi in the Cloud infrastructure. Field deprecated in 17.1.1."
                  },
                  "avi_allocated_vip": {
                    "type": "boolean",
                    "description": "(internal-use) VIP allocated by Avi in the Cloud infrastructure. Field deprecated in 17.1.1."
                  },
                  "azure_availability_set": {
                    "type": "string",
                    "description": "(internal-use)Applicable for Azure only. Azure Availability set to which this VS is associated. Internally set by the cloud connector. Field introduced in 17.2.12, 18.1.2."
                  },
                  "bulk_sync_kvcache": {
                    "type": "boolean",
                    "description": "(This is a beta feature). Sync Key-Value cache to the new SEs when VS is scaled out. For ex  SSL sessions are stored using VS's Key-Value cache. When the VS is scaled out, the SSL session information is synced to the new SE, allowing existing SSL sessions to be reused on the new SE. . Field introduced in 17.2.7, 18.1.1."
                  },
                  "client_auth": {
                    "title": "HTTPClientAuthenticationParams",
                    "type": "object",
                    "properties": {
                      "auth_profile_ref": {
                        "type": "string",
                        "description": "Auth Profile to use for validating users. It is a reference to an object of type AuthProfile."
                      },
                      "realm": {
                        "type": "string",
                        "description": "Basic authentication realm to present to a user along with the prompt for credentials."
                      },
                      "request_uri_path": {
                        "title": "StringMatch",
                        "required": [
                          "match_criteria"
                        ],
                        "type": "object",
                        "properties": {
                          "match_criteria": {
                            "type": "string",
                            "description": "Criterion to use for string matching the HTTP request. Enum options - BEGINS_WITH, DOES_NOT_BEGIN_WITH, CONTAINS, DOES_NOT_CONTAIN, ENDS_WITH, DOES_NOT_END_WITH, EQUALS, DOES_NOT_EQUAL, REGEX_MATCH, REGEX_DOES_NOT_MATCH."
                          },
                          "match_str": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": "String value(s)."
                          },
                          "string_group_refs": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": "UUID of the string group(s). It is a reference to an object of type StringGroup."
                          }
                        }
                      },
                      "type": {
                        "type": "string",
                        "description": "type of client authentication. Enum options - HTTP_BASIC_AUTH."
                      }
                    }
                  },
                  "close_client_conn_on_config_update": {
                    "type": "boolean",
                    "description": "close client connection on vs config update. Field introduced in 17.2.4."
                  },
                  "cloud_config_cksum": {
                    "type": "string",
                    "description": "Checksum of cloud configuration for VS. Internally set by cloud connector."
                  },
                  "cloud_ref": {
                    "type": "string",
                    "description": "It is a reference to an object of type Cloud."
                  },
                  "cloud_type": {
                    "type": "string",
                    "description": "Enum options - CLOUD_NONE, CLOUD_VCENTER, CLOUD_OPENSTACK, CLOUD_AWS, CLOUD_VCA, CLOUD_APIC, CLOUD_MESOS, CLOUD_LINUXSERVER, CLOUD_DOCKER_UCP, CLOUD_RANCHER, CLOUD_OSHIFT_K8S, CLOUD_AZURE, CLOUD_GCP, CLOUD_NSXT.",
                    "default": "CLOUD_NONE"
                  },
                  "connections_rate_limit": {
                    "title": "RateProfile",
                    "required": [
                      "action"
                    ],
                    "type": "object",
                    "properties": {
                      "action": {
                        "title": "RateLimiterAction",
                        "type": "object",
                        "properties": {
                          "file": {
                            "title": "HTTPLocalFile",
                            "required": [
                              "content_type",
                              "file_content"
                            ],
                            "type": "object",
                            "properties": {
                              "content_type": {
                                "type": "string",
                                "description": "Mime-type of the content in the file."
                              },
                              "file_content": {
                                "type": "string",
                                "description": "File content to used in the local HTTP response body."
                              }
                            }
                          },
                          "redirect": {
                            "title": "HTTPRedirectAction",
                            "required": [
                              "protocol"
                            ],
                            "type": "object",
                            "properties": {
                              "host": {
                                "type": "object",
                                "description": ""
                              },
                              "keep_query": {
                                "type": "boolean",
                                "description": "Keep or drop the query of the incoming request URI in the redirected URI.",
                                "default": true
                              },
                              "path": {
                                "type": "object",
                                "description": ""
                              },
                              "port": {
                                "type": "integer",
                                "description": "Port to which redirect the request. Allowed values are 1-65535."
                              },
                              "protocol": {
                                "type": "string",
                                "description": "Protocol type. Enum options - HTTP, HTTPS."
                              },
                              "status_code": {
                                "type": "string",
                                "description": "HTTP redirect status code. Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307.",
                                "default": "HTTP_REDIRECT_STATUS_CODE_302"
                              }
                            }
                          },
                          "status_code": {
                            "type": "string",
                            "description": "HTTP status code for Local Response rate limit action. Enum options - HTTP_LOCAL_RESPONSE_STATUS_CODE_200, HTTP_LOCAL_RESPONSE_STATUS_CODE_204, HTTP_LOCAL_RESPONSE_STATUS_CODE_403, HTTP_LOCAL_RESPONSE_STATUS_CODE_404, HTTP_LOCAL_RESPONSE_STATUS_CODE_429, HTTP_LOCAL_RESPONSE_STATUS_CODE_501.",
                            "default": "HTTP_LOCAL_RESPONSE_STATUS_CODE_429"
                          },
                          "type": {
                            "type": "string",
                            "description": "Type of action to be enforced upon hitting the rate limit. Enum options - RL_ACTION_NONE, RL_ACTION_DROP_CONN, RL_ACTION_RESET_CONN, RL_ACTION_CLOSE_CONN, RL_ACTION_LOCAL_RSP, RL_ACTION_REDIRECT.",
                            "default": "RL_ACTION_NONE"
                          }
                        }
                      },
                      "burst_sz": {
                        "type": "integer",
                        "description": "Maximum number of connections or requests or packets to be let through instantaneously. Allowed values are 10-2500. Special values are 0- 'automatic'. Field deprecated in 18.2.9."
                      },
                      "count": {
                        "type": "integer",
                        "description": "Maximum number of connections or requests or packets. Allowed values are 1-1000000000. Special values are 0- 'unlimited'. Field deprecated in 18.2.9."
                      },
                      "explicit_tracking": {
                        "type": "boolean",
                        "description": "Explicitly tracks an attacker across rate periods."
                      },
                      "fine_grain": {
                        "type": "boolean",
                        "description": "Enable fine granularity."
                      },
                      "http_cookie": {
                        "type": "string",
                        "description": "HTTP cookie name. Field introduced in 17.1.1."
                      },
                      "http_header": {
                        "type": "string",
                        "description": "HTTP header name. Field introduced in 17.1.1."
                      },
                      "period": {
                        "type": "integer",
                        "description": "Time value in seconds to enforce rate count. Allowed values are 1-300. Field deprecated in 18.2.9."
                      },
                      "rate_limiter": {
                        "title": "RateLimiter",
                        "required": [
                          "count",
                          "period"
                        ],
                        "type": "object",
                        "properties": {
                          "burst_sz": {
                            "type": "integer",
                            "description": "Maximum number of connections, requests or packets to be let through instantaneously.  If this is less than count, it will have no effect. Allowed values are 0-1000000000. Field introduced in 18.2.9."
                          },
                          "count": {
                            "type": "integer",
                            "description": "Maximum number of connections, requests or packets permitted each period. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                                        "example": 1000000000
                          },
                          "name": {
                            "type": "string",
                            "description": "Identifier for Rate Limit. Constructed according to context. Field introduced in 18.2.9."
                          },
                          "period": {
                            "type": "integer",
                            "description": "Time value in seconds to enforce rate count. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                                        "example": 1
                          }
                        }
                      }
                    }
                  },
                  "content_rewrite": {
                    "title": "ContentRewriteProfile",
                    "type": "object",
                    "properties": {
                      "req_match_replace_pair": {
                        "type": "array",
                        "items": {
                          "title": "MatchReplacePair",
                          "required": [
                            "match_string"
                          ],
                          "type": "object",
                          "properties": {
                            "match_string": {
                              "type": "string",
                              "description": "String to be matched."
                            },
                            "replacement_string": {
                              "title": "ReplaceStringVar",
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "description": "Type of replacement string - can be a variable exposed from datascript, value of an HTTP header or a custom user-input literal string. Enum options - DATASCRIPT_VAR, HTTP_HEADER_VAR, LITERAL_STRING."
                                },
                                "val": {
                                  "type": "string",
                                  "description": "Value of the replacement string - name of variable exposed from datascript, name of the HTTP header or a custom user-input literal string."
                                }
                              }
                            }
                          }
                        },
                        "description": "Strings to be matched and replaced with on the request body."
                      },
                      "request_rewrite_enabled": {
                        "type": "boolean",
                        "description": "Enable rewrite on request body."
                      },
                      "response_rewrite_enabled": {
                        "type": "boolean",
                        "description": "Enable rewrite on response body."
                      },
                      "rewritable_content_ref": {
                        "type": "string",
                        "description": "Rewrite only content types listed in this string group. Content types not present in this list are not rewritten. It is a reference to an object of type StringGroup."
                      },
                      "rsp_match_replace_pair": {
                        "type": "array",
                        "items": {
                          "title": "MatchReplacePair",
                          "required": [
                            "match_string"
                          ],
                          "type": "object",
                          "properties": {
                            "match_string": {
                              "type": "string",
                              "description": "String to be matched."
                            },
                            "replacement_string": {
                              "title": "ReplaceStringVar",
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "string",
                                  "description": "Type of replacement string - can be a variable exposed from datascript, value of an HTTP header or a custom user-input literal string. Enum options - DATASCRIPT_VAR, HTTP_HEADER_VAR, LITERAL_STRING."
                                },
                                "val": {
                                  "type": "string",
                                  "description": "Value of the replacement string - name of variable exposed from datascript, name of the HTTP header or a custom user-input literal string."
                                }
                              }
                            }
                          }
                        },
                        "description": "Strings to be matched and replaced with on the response body."
                      }
                    }
                  },
                  "created_by": {
                    "type": "string",
                    "description": "Creator name."
                  },
                  "delay_fairness": {
                    "type": "boolean",
                    "description": "Select the algorithm for QoS fairness.  This determines how multiple Virtual Services sharing the same Service Engines will prioritize traffic over a congested network."
                  },
                  "description": {
                    "type": "string",
                    "description": "User defined description for the object."
                  },
                  "discovered_network_ref": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "(internal-use) Discovered networks providing reachability for client facing Virtual Service IP. This field is deprecated. It is a reference to an object of type Network. Field deprecated in 17.1.1."
                  },
                  "discovered_networks": {
                    "type": "array",
                    "items": {
                      "title": "DiscoveredNetwork",
                      "required": [
                        "network_ref"
                      ],
                      "type": "object",
                      "properties": {
                        "network_ref": {
                          "type": "string",
                          "description": "Discovered network for this IP. It is a reference to an object of type Network."
                        },
                        "subnet": {
                          "type": "array",
                          "items": {
                            "title": "IpAddrPrefix",
                            "required": [
                              "ip_addr",
                              "mask"
                            ],
                            "type": "object",
                            "properties": {
                              "ip_addr": {
                                "title": "IpAddr",
                                "required": [
                                  "addr",
                                  "type"
                                ],
                                "type": "object",
                                "properties": {
                                  "addr": {
                                    "type": "string",
                                    "description": "IP address."
                                  },
                                  "type": {
                                    "type": "string",
                                    "description": "Enum options - V4, DNS, V6."
                                  }
                                }
                              },
                              "mask": {
                                "type": "integer",
                                "description": "Number of mask."
                              }
                            }
                          },
                          "description": "Discovered subnet for this IP."
                        },
                        "subnet6": {
                          "type": "array",
                          "items": {
                            "title": "IpAddrPrefix",
                            "required": [
                              "ip_addr",
                              "mask"
                            ],
                            "type": "object",
                            "properties": {
                              "ip_addr": {
                                "title": "IpAddr",
                                "required": [
                                  "addr",
                                  "type"
                                ],
                                "type": "object",
                                "properties": {
                                  "addr": {
                                    "type": "string",
                                    "description": "IP address."
                                  },
                                  "type": {
                                    "type": "string",
                                    "description": "Enum options - V4, DNS, V6."
                                  }
                                }
                              },
                              "mask": {
                                "type": "integer",
                                "description": "Number of mask."
                              }
                            }
                          },
                          "description": "Discovered IPv6 subnet for this IP. Field introduced in 18.1.1."
                        }
                      }
                    },
                    "description": "(internal-use) Discovered networks providing reachability for client facing Virtual Service IP. This field is used internally by Avi, not editable by the user. Field deprecated in 17.1.1."
                  },
                  "discovered_subnet": {
                    "type": "array",
                    "items": {
                      "title": "IpAddrPrefix",
                      "required": [
                        "ip_addr",
                        "mask"
                      ],
                      "type": "object",
                      "properties": {
                        "ip_addr": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "mask": {
                          "type": "integer",
                          "description": "Number of mask."
                        }
                      }
                    },
                    "description": "(internal-use) Discovered subnets providing reachability for client facing Virtual Service IP. This field is deprecated. Field deprecated in 17.1.1."
                  },
                  "dns_info": {
                    "type": "array",
                    "items": {
                      "title": "DnsInfo",
                      "type": "object",
                      "properties": {
                        "algorithm": {
                          "type": "string",
                          "description": "Specifies the algorithm to pick the IP address(es) to be returned, when multiple entries are configured. This does not apply if num_records_in_response is 0. Default is consistent hash. Enum options - DNS_RECORD_RESPONSE_ROUND_ROBIN, DNS_RECORD_RESPONSE_CONSISTENT_HASH. Field introduced in 17.1.1.",
                          "default": "DNS_RECORD_RESPONSE_CONSISTENT_HASH"
                        },
                        "cname": {
                          "title": "DnsCnameRdata",
                          "required": [
                            "cname"
                          ],
                          "type": "object",
                          "properties": {
                            "cname": {
                              "type": "string",
                              "description": "Canonical name."
                            }
                          }
                        },
                        "fqdn": {
                          "type": "string",
                          "description": "Fully qualified domain name."
                        },
                        "metadata": {
                          "type": "string",
                          "description": "Any metadata associated with this record. Field introduced in 17.2.2."
                        },
                        "num_records_in_response": {
                          "type": "integer",
                          "description": "Specifies the number of records returned for this FQDN. Enter 0 to return all records. Default is 0. Allowed values are 0-20. Special values are 0- 'Return all records'. Field introduced in 17.1.1.",
                                    "default": 1
                        },
                        "ttl": {
                          "type": "integer",
                          "description": "Time to live for fqdn record. Default value is chosen from DNS profile for this cloud if no value provided."
                        },
                        "type": {
                          "type": "string",
                          "description": "DNS record type. Enum options - DNS_RECORD_OTHER, DNS_RECORD_A, DNS_RECORD_NS, DNS_RECORD_CNAME, DNS_RECORD_SOA, DNS_RECORD_PTR, DNS_RECORD_HINFO, DNS_RECORD_MX, DNS_RECORD_TXT, DNS_RECORD_RP, DNS_RECORD_DNSKEY, DNS_RECORD_AAAA, DNS_RECORD_SRV, DNS_RECORD_OPT, DNS_RECORD_RRSIG, DNS_RECORD_AXFR, DNS_RECORD_ANY.",
                          "default": "DNS_RECORD_A"
                        }
                      }
                    },
                    "description": "Service discovery specific data including fully qualified domain name, type and Time-To-Live of the DNS record. Note that only one of fqdn and dns_info setting is allowed."
                  },
                  "dns_policies": {
                    "type": "array",
                    "items": {
                      "title": "DnsPolicies",
                      "required": [
                        "dns_policy_ref",
                        "index"
                      ],
                      "type": "object",
                      "properties": {
                        "dns_policy_ref": {
                          "type": "string",
                          "description": "UUID of the dns policy. It is a reference to an object of type DnsPolicy. Field introduced in 17.1.1."
                        },
                        "index": {
                          "type": "integer",
                          "description": "Index of the dns policy. Field introduced in 17.1.1."
                        }
                      }
                    },
                    "description": "DNS Policies applied on the dns traffic of the Virtual Service. Field introduced in 17.1.1."
                  },
                  "east_west_placement": {
                    "type": "boolean",
                    "description": "Force placement on all SE's in service group (Mesos mode only)."
                  },
                  "enable_autogw": {
                    "type": "boolean",
                    "description": "Response traffic to clients will be sent back to the source MAC address of the connection, rather than statically sent to a default gateway.",
                    "default": true
                  },
                  "enable_rhi": {
                    "type": "boolean",
                    "description": "Enable Route Health Injection using the BGP Config in the vrf context."
                  },
                  "enable_rhi_snat": {
                    "type": "boolean",
                    "description": "Enable Route Health Injection for Source NAT'ted floating IP Address using the BGP Config in the vrf context."
                  },
                  "enabled": {
                    "type": "boolean",
                    "description": "Enable or disable the Virtual Service.",
                    "default": true
                  },
                  "error_page_profile_ref": {
                    "type": "string",
                    "description": "Error Page Profile to be used for this virtualservice.This profile is used to send the custom error page to the client generated by the proxy. It is a reference to an object of type ErrorPageProfile. Field introduced in 17.2.4."
                  },
                  "floating_ip": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "floating_subnet_uuid": {
                    "type": "string",
                    "description": "If auto_allocate_floating_ip is True and more than one floating-ip subnets exist, then the subnet for the floating IP address allocation. This field is applicable only if the VirtualService belongs to an OpenStack or AWS cloud. In OpenStack or AWS cloud it is required when auto_allocate_floating_ip is selected. Field deprecated in 17.1.1."
                  },
                  "flow_dist": {
                    "type": "string",
                    "description": "Criteria for flow distribution among SEs. Enum options - LOAD_AWARE, CONSISTENT_HASH_SOURCE_IP_ADDRESS, CONSISTENT_HASH_SOURCE_IP_ADDRESS_AND_PORT.",
                    "default": "LOAD_AWARE"
                  },
                  "flow_label_type": {
                    "type": "string",
                    "description": "Criteria for flow labelling. Enum options - NO_LABEL, APPLICATION_LABEL, SERVICE_LABEL.",
                    "default": "NO_LABEL"
                  },
                  "fqdn": {
                    "type": "string",
                    "description": "DNS resolvable, fully qualified domain name of the virtualservice. Only one of 'fqdn' and 'dns_info' configuration is allowed."
                  },
                  "host_name_xlate": {
                    "type": "string",
                    "description": "Translate the host name sent to the servers to this value.  Translate the host name sent from servers back to the value used by the client."
                  },
                  "http_policies": {
                    "type": "array",
                    "items": {
                      "title": "HTTPPolicies",
                      "required": [
                        "http_policy_set_ref",
                        "index"
                      ],
                      "type": "object",
                      "properties": {
                        "http_policy_set_ref": {
                          "type": "string",
                          "description": "UUID of the virtual service HTTP policy collection. It is a reference to an object of type HTTPPolicySet."
                        },
                        "index": {
                          "type": "integer",
                          "description": "Index of the virtual service HTTP policy collection."
                        }
                      }
                    },
                    "description": "HTTP Policies applied on the data traffic of the Virtual Service."
                  },
                  "icap_request_profile_refs": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "The config settings for the ICAP server when checking the HTTP request. It is a reference to an object of type IcapProfile. Field introduced in 20.1.1."
                  },
                  "ign_pool_net_reach": {
                    "type": "boolean",
                    "description": "Ignore Pool servers network reachability constraints for Virtual Service placement."
                  },
                  "ip_address": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "ipam_network_subnet": {
                    "title": "IPNetworkSubnet",
                    "type": "object",
                    "properties": {
                      "network_ref": {
                        "type": "string",
                        "description": "Network for VirtualService IP allocation with Vantage as the IPAM provider. Network should be created before this is configured. It is a reference to an object of type Network."
                      },
                      "subnet": {
                        "title": "IpAddrPrefix",
                        "required": [
                          "ip_addr",
                          "mask"
                        ],
                        "type": "object",
                        "properties": {
                          "ip_addr": {
                            "title": "IpAddr",
                            "required": [
                              "addr",
                              "type"
                            ],
                            "type": "object",
                            "properties": {
                              "addr": {
                                "type": "string",
                                "description": "IP address."
                              },
                              "type": {
                                "type": "string",
                                "description": "Enum options - V4, DNS, V6."
                              }
                            }
                          },
                          "mask": {
                            "type": "integer",
                            "description": "Number of mask."
                          }
                        }
                      },
                      "subnet6": {
                        "title": "IpAddrPrefix",
                        "required": [
                          "ip_addr",
                          "mask"
                        ],
                        "type": "object",
                        "properties": {
                          "ip_addr": {
                            "title": "IpAddr",
                            "required": [
                              "addr",
                              "type"
                            ],
                            "type": "object",
                            "properties": {
                              "addr": {
                                "type": "string",
                                "description": "IP address."
                              },
                              "type": {
                                "type": "string",
                                "description": "Enum options - V4, DNS, V6."
                              }
                            }
                          },
                          "mask": {
                            "type": "integer",
                            "description": "Number of mask."
                          }
                        }
                      },
                      "subnet6_uuid": {
                        "type": "string",
                        "description": "Subnet UUID or Name or Prefix for VirtualService IPv6 allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed. Field introduced in 18.1.1."
                      },
                      "subnet_uuid": {
                        "type": "string",
                        "description": "Subnet UUID or Name or Prefix for VirtualService IP allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed."
                      }
                    }
                  },
                  "l4_policies": {
                    "type": "array",
                    "items": {
                      "title": "L4Policies",
                      "required": [
                        "index",
                        "l4_policy_set_ref"
                      ],
                      "type": "object",
                      "properties": {
                        "index": {
                          "type": "integer",
                          "description": "Index of the virtual service L4 policy set. Field introduced in 17.2.7."
                        },
                        "l4_policy_set_ref": {
                          "type": "string",
                          "description": "ID of the virtual service L4 policy set. It is a reference to an object of type L4PolicySet. Field introduced in 17.2.7."
                        }
                      }
                    },
                    "description": "L4 Policies applied to the data traffic of the Virtual Service. Field introduced in 17.2.7."
                  },
                  "limit_doser": {
                    "type": "boolean",
                    "description": "Limit potential DoS attackers who exceed max_cps_per_client significantly to a fraction of max_cps_per_client for a while."
                  },
                  "max_cps_per_client": {
                    "type": "integer",
                    "description": "Maximum connections per second per client IP. Allowed values are 10-1000. Special values are 0- 'unlimited'."
                  },
                  "microservice_ref": {
                    "type": "string",
                    "description": "Microservice representing the virtual service. It is a reference to an object of type MicroService."
                  },
                  "min_pools_up": {
                    "type": "integer",
                    "description": "Minimum number of UP pools to mark VS up. Field introduced in 18.2.1, 17.2.12."
                  },
                  "name": {
                    "type": "string",
                    "description": "Name for the Virtual Service."
                  },
                  "network_profile_ref": {
                    "type": "string",
                    "description": "Determines network settings such as protocol, TCP or UDP, and related options for the protocol. It is a reference to an object of type NetworkProfile."
                  },
                  "network_ref": {
                    "type": "string",
                    "description": "Manually override the network on which the Virtual Service is placed. It is a reference to an object of type Network. Field deprecated in 17.1.1."
                  },
                  "network_security_policy_ref": {
                    "type": "string",
                    "description": "Network security policies for the Virtual Service. It is a reference to an object of type NetworkSecurityPolicy."
                  },
                  "nsx_securitygroup": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "A list of NSX Service Groups representing the Clients which can access the Virtual IP of the Virtual Service. Field introduced in 17.1.1."
                  },
                  "performance_limits": {
                    "title": "PerformanceLimits",
                    "type": "object",
                    "properties": {
                      "max_concurrent_connections": {
                        "type": "integer",
                        "description": "The maximum number of concurrent client conections allowed to the Virtual Service."
                      },
                      "max_throughput": {
                        "type": "integer",
                        "description": "The maximum throughput per second for all clients allowed through the client side of the Virtual Service."
                      }
                    }
                  },
                  "pool_group_ref": {
                    "type": "string",
                    "description": "The pool group is an object that contains pools. It is a reference to an object of type PoolGroup."
                  },
                  "pool_ref": {
                    "type": "string",
                    "description": "The pool is an object that contains destination servers and related attributes such as load-balancing and persistence. It is a reference to an object of type Pool."
                  },
                  "port_uuid": {
                    "type": "string",
                    "description": "(internal-use) Network port assigned to the Virtual Service IP address. Field deprecated in 17.1.1."
                  },
                  "remove_listening_port_on_vs_down": {
                    "type": "boolean",
                    "description": "Remove listening port if VirtualService is down."
                  },
                  "requests_rate_limit": {
                    "title": "RateProfile",
                    "required": [
                      "action"
                    ],
                    "type": "object",
                    "properties": {
                      "action": {
                        "title": "RateLimiterAction",
                        "type": "object",
                        "properties": {
                          "file": {
                            "title": "HTTPLocalFile",
                            "required": [
                              "content_type",
                              "file_content"
                            ],
                            "type": "object",
                            "properties": {
                              "content_type": {
                                "type": "string",
                                "description": "Mime-type of the content in the file."
                              },
                              "file_content": {
                                "type": "string",
                                "description": "File content to used in the local HTTP response body."
                              }
                            }
                          },
                          "redirect": {
                            "title": "HTTPRedirectAction",
                            "required": [
                              "protocol"
                            ],
                            "type": "object",
                            "properties": {
                              "host": {
                                "type": "object",
                                "description": ""
                              },
                              "keep_query": {
                                "type": "boolean",
                                "description": "Keep or drop the query of the incoming request URI in the redirected URI.",
                                "default": true
                              },
                              "path": {
                                "type": "object",
                                "description": ""
                              },
                              "port": {
                                "type": "integer",
                                "description": "Port to which redirect the request. Allowed values are 1-65535."
                              },
                              "protocol": {
                                "type": "string",
                                "description": "Protocol type. Enum options - HTTP, HTTPS."
                              },
                              "status_code": {
                                "type": "string",
                                "description": "HTTP redirect status code. Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307.",
                                "default": "HTTP_REDIRECT_STATUS_CODE_302"
                              }
                            }
                          },
                          "status_code": {
                            "type": "string",
                            "description": "HTTP status code for Local Response rate limit action. Enum options - HTTP_LOCAL_RESPONSE_STATUS_CODE_200, HTTP_LOCAL_RESPONSE_STATUS_CODE_204, HTTP_LOCAL_RESPONSE_STATUS_CODE_403, HTTP_LOCAL_RESPONSE_STATUS_CODE_404, HTTP_LOCAL_RESPONSE_STATUS_CODE_429, HTTP_LOCAL_RESPONSE_STATUS_CODE_501.",
                            "default": "HTTP_LOCAL_RESPONSE_STATUS_CODE_429"
                          },
                          "type": {
                            "type": "string",
                            "description": "Type of action to be enforced upon hitting the rate limit. Enum options - RL_ACTION_NONE, RL_ACTION_DROP_CONN, RL_ACTION_RESET_CONN, RL_ACTION_CLOSE_CONN, RL_ACTION_LOCAL_RSP, RL_ACTION_REDIRECT.",
                            "default": "RL_ACTION_NONE"
                          }
                        }
                      },
                      "burst_sz": {
                        "type": "integer",
                        "description": "Maximum number of connections or requests or packets to be let through instantaneously. Allowed values are 10-2500. Special values are 0- 'automatic'. Field deprecated in 18.2.9."
                      },
                      "count": {
                        "type": "integer",
                        "description": "Maximum number of connections or requests or packets. Allowed values are 1-1000000000. Special values are 0- 'unlimited'. Field deprecated in 18.2.9."
                      },
                      "explicit_tracking": {
                        "type": "boolean",
                        "description": "Explicitly tracks an attacker across rate periods."
                      },
                      "fine_grain": {
                        "type": "boolean",
                        "description": "Enable fine granularity."
                      },
                      "http_cookie": {
                        "type": "string",
                        "description": "HTTP cookie name. Field introduced in 17.1.1."
                      },
                      "http_header": {
                        "type": "string",
                        "description": "HTTP header name. Field introduced in 17.1.1."
                      },
                      "period": {
                        "type": "integer",
                        "description": "Time value in seconds to enforce rate count. Allowed values are 1-300. Field deprecated in 18.2.9."
                      },
                      "rate_limiter": {
                        "title": "RateLimiter",
                        "required": [
                          "count",
                          "period"
                        ],
                        "type": "object",
                        "properties": {
                          "burst_sz": {
                            "type": "integer",
                            "description": "Maximum number of connections, requests or packets to be let through instantaneously.  If this is less than count, it will have no effect. Allowed values are 0-1000000000. Field introduced in 18.2.9."
                          },
                          "count": {
                            "type": "integer",
                            "description": "Maximum number of connections, requests or packets permitted each period. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                                        "example": 1000000000
                          },
                          "name": {
                            "type": "string",
                            "description": "Identifier for Rate Limit. Constructed according to context. Field introduced in 18.2.9."
                          },
                          "period": {
                            "type": "integer",
                            "description": "Time value in seconds to enforce rate count. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                                        "example": 1
                          }
                        }
                      }
                    }
                  },
                  "saml_sp_config": {
                    "title": "SAMLSPConfig",
                    "required": [
                      "entity_id",
                      "single_signon_url"
                    ],
                    "type": "object",
                    "properties": {
                      "cookie_name": {
                        "type": "string",
                        "description": "HTTP cookie name for authenticated session. Field introduced in 18.2.3."
                      },
                      "cookie_timeout": {
                        "type": "integer",
                        "description": "Cookie timeout in minutes. Allowed values are 1-1440. Field introduced in 18.2.3.",
                                "default": 60
                      },
                      "entity_id": {
                        "type": "string",
                        "description": "Globally unique SAML entityID for this node. The SAML application entity ID on the IDP should match this. Field introduced in 18.2.3."
                      },
                      "key": {
                        "type": "array",
                        "items": {
                          "title": "HttpCookiePersistenceKey",
                          "type": "object",
                          "properties": {
                            "aes_key": {
                              "type": "string",
                              "description": "aes_key of HttpCookiePersistenceKey."
                            },
                            "hmac_key": {
                              "type": "string",
                              "description": "hmac_key of HttpCookiePersistenceKey."
                            },
                            "name": {
                              "type": "string",
                              "description": "name to use for cookie encryption."
                            }
                          }
                        },
                        "description": "Key to generate the cookie. Field introduced in 18.2.3."
                      },
                      "signing_ssl_key_and_certificate_ref": {
                        "type": "string",
                        "description": "SP will use this SSL certificate to sign requests going to the IdP and decrypt the assertions coming from IdP. It is a reference to an object of type SSLKeyAndCertificate. Field introduced in 18.2.3."
                      },
                      "single_signon_url": {
                        "type": "string",
                        "description": "SAML Single Signon URL to be programmed on the IDP. Field introduced in 18.2.3."
                      },
                      "sp_metadata": {
                        "type": "string",
                        "description": "SAML SP metadata for this application. Field introduced in 18.2.3."
                      },
                      "use_idp_session_timeout": {
                        "type": "boolean",
                        "description": "By enabling this field IdP can control how long the SP session can exist through the SessionNotOnOrAfter field in the AuthNStatement of SAML Response. Field introduced in 20.1.1."
                      }
                    }
                  },
                  "scaleout_ecmp": {
                    "type": "boolean",
                    "description": "Disable re-distribution of flows across service engines for a virtual service. Enable if the network itself performs flow hashing with ECMP in environments such as GCP."
                  },
                  "se_group_ref": {
                    "type": "string",
                    "description": "The Service Engine Group to use for this Virtual Service. Moving to a new SE Group is disruptive to existing connections for this VS. It is a reference to an object of type ServiceEngineGroup."
                  },
                  "security_policy_ref": {
                    "type": "string",
                    "description": "Security policy applied on the traffic of the Virtual Service. This policy is used to perform security actions such as Distributed Denial of Service (DDoS) attack mitigation, etc. It is a reference to an object of type SecurityPolicy. Field introduced in 18.2.1."
                  },
                  "server_network_profile_ref": {
                    "type": "string",
                    "description": "Determines the network settings profile for the server side of TCP proxied connections.  Leave blank to use the same settings as the client to VS side of the connection. It is a reference to an object of type NetworkProfile."
                  },
                  "service_metadata": {
                    "type": "string",
                    "description": "Metadata pertaining to the Service provided by this virtual service. In Openshift/Kubernetes environments, egress pod info is stored. Any user input to this field will be overwritten by Avi Vantage."
                  },
                  "service_pool_select": {
                    "type": "array",
                    "items": {
                      "title": "ServicePoolSelector",
                      "required": [
                        "service_port"
                      ],
                      "type": "object",
                      "properties": {
                        "service_pool_group_ref": {
                          "type": "string",
                          "description": "It is a reference to an object of type PoolGroup."
                        },
                        "service_pool_ref": {
                          "type": "string",
                          "description": "It is a reference to an object of type Pool."
                        },
                        "service_port": {
                          "type": "integer",
                          "description": "Pool based destination port. Allowed values are 1-65535."
                        },
                        "service_port_range_end": {
                          "type": "integer",
                          "description": "The end of the Service port number range. Allowed values are 1-65535. Special values are 0- 'single port'. Field introduced in 17.2.4."
                        },
                        "service_protocol": {
                          "type": "string",
                          "description": "Destination protocol to match for the pool selection. If not specified, it will match any protocol. Enum options - PROTOCOL_TYPE_TCP_PROXY, PROTOCOL_TYPE_TCP_FAST_PATH, PROTOCOL_TYPE_UDP_FAST_PATH, PROTOCOL_TYPE_UDP_PROXY."
                        }
                      }
                    },
                    "description": "Select pool based on destination port."
                  },
                  "services": {
                    "type": "array",
                    "items": {
                      "title": "Service",
                      "required": [
                        "port"
                      ],
                      "type": "object",
                      "properties": {
                        "enable_http2": {
                          "type": "boolean",
                          "description": "Enable HTTP2 on this port. Field introduced in 20.1.1."
                        },
                        "enable_ssl": {
                          "type": "boolean",
                          "description": "Enable SSL termination and offload for traffic from clients."
                        },
                        "override_application_profile_ref": {
                          "type": "string",
                          "description": "Enable application layer specific features for the this specific service. It is a reference to an object of type ApplicationProfile. Field introduced in 17.2.4."
                        },
                        "override_network_profile_ref": {
                          "type": "string",
                          "description": "Override the network profile for this specific service port. It is a reference to an object of type NetworkProfile."
                        },
                        "port": {
                          "type": "integer",
                          "description": "The Virtual Service's port number. Allowed values are 0-65535."
                        },
                        "port_range_end": {
                          "type": "integer",
                          "description": "The end of the Virtual Service's port number range. Allowed values are 1-65535. Special values are 0- 'single port'."
                        }
                      }
                    },
                    "description": "List of Services defined for this Virtual Service."
                  },
                  "sideband_profile": {
                    "title": "SidebandProfile",
                    "type": "object",
                    "properties": {
                      "ip": {
                        "type": "array",
                        "items": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "description": "IP Address of the sideband server."
                      },
                      "sideband_max_request_body_size": {
                        "type": "integer",
                        "description": "Maximum size of the request body that will be sent on the sideband. Allowed values are 0-16384.",
                                "default": 1024
                      }
                    }
                  },
                  "snat_ip": {
                    "type": "array",
                    "items": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "description": "NAT'ted floating source IP Address(es) for upstream connection to servers."
                  },
                  "sp_pool_refs": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "GSLB pools used to manage site-persistence functionality. Each site-persistence pool contains the virtualservices in all the other sites, that is auto-generated by the GSLB manager. This is a read-only field for the user. It is a reference to an object of type Pool. Field introduced in 17.2.2."
                  },
                  "ssl_key_and_certificate_refs": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "Select or create one or two certificates, EC and/or RSA, that will be presented to SSL/TLS terminated connections. It is a reference to an object of type SSLKeyAndCertificate."
                  },
                  "ssl_profile_ref": {
                    "type": "string",
                    "description": "Determines the set of SSL versions and ciphers to accept for SSL/TLS terminated connections. It is a reference to an object of type SSLProfile."
                  },
                  "ssl_profile_selectors": {
                    "type": "array",
                    "items": {
                      "title": "SSLProfileSelector",
                      "required": [
                        "client_ip_list",
                        "ssl_profile_ref"
                      ],
                      "type": "object",
                      "properties": {
                        "client_ip_list": {
                          "title": "IpAddrMatch",
                          "required": [
                            "match_criteria"
                          ],
                          "type": "object",
                          "properties": {
                            "addrs": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "description": ""
                              },
                              "description": "IP address(es)."
                            },
                            "group_refs": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "UUID of IP address group(s). It is a reference to an object of type IpAddrGroup."
                            },
                            "match_criteria": {
                              "type": "string",
                              "description": "Criterion to use for IP address matching the HTTP request. Enum options - IS_IN, IS_NOT_IN."
                            },
                            "prefixes": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "description": ""
                              },
                              "description": "IP address prefix(es)."
                            },
                            "ranges": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "description": ""
                              },
                              "description": "IP address range(s)."
                            }
                          }
                        },
                        "ssl_profile_ref": {
                          "type": "string",
                          "description": "SSL profile for the client IP addresses listed. It is a reference to an object of type SSLProfile. Field introduced in 18.2.3."
                        }
                      }
                    },
                    "description": "Select SSL Profile based on client IP address match. Field introduced in 18.2.3."
                  },
                  "ssl_sess_cache_avg_size": {
                    "type": "integer",
                    "description": "Expected number of SSL session cache entries (may be exceeded). Allowed values are 1024-16383.",
                        "default": 1024
                  },
                  "sso_policy": {
                    "title": "SSOPolicy",
                    "required": [
                      "authentication_policy",
                      "name",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "_last_modified": {
                        "type": "string",
                        "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
                      },
                      "authentication_policy": {
                        "title": "AuthenticationPolicy",
                        "required": [
                          "default_auth_profile_ref"
                        ],
                        "type": "object",
                        "properties": {
                          "auth_profile_ref": {
                            "type": "string",
                            "description": "Auth Profile to use for validating users. It is a reference to an object of type AuthProfile. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                          },
                          "authn_rules": {
                            "type": "array",
                            "items": {
                              "title": "AuthenticationRule",
                              "required": [
                                "enable",
                                "index",
                                "name"
                              ],
                              "type": "object",
                              "properties": {
                                "action": {
                                  "type": "object",
                                  "description": ""
                                },
                                "enable": {
                                  "type": "boolean",
                                  "description": "Enable or disable the rule. Field introduced in 18.2.5.",
                                  "example": true
                                },
                                "index": {
                                  "type": "integer",
                                  "description": "Index of the rule. Field introduced in 18.2.5."
                                },
                                "match": {
                                  "type": "object",
                                  "description": ""
                                },
                                "name": {
                                  "type": "string",
                                  "description": "Name of the rule. Field introduced in 18.2.5."
                                }
                              }
                            },
                            "description": "Add rules to apply auth profile to specific targets. Field introduced in 18.2.5."
                          },
                          "cookie_name": {
                            "type": "string",
                            "description": "HTTP cookie name for authenticated session. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                          },
                          "cookie_timeout": {
                            "type": "integer",
                            "description": "Cookie timeout in minutes. Allowed values are 1-1440. Field deprecated in 18.2.3. Field introduced in 18.2.1.",
                                        "default": 60
                          },
                          "default_auth_profile_ref": {
                            "type": "string",
                            "description": "Auth Profile to use for validating users. It is a reference to an object of type AuthProfile. Field introduced in 18.2.3."
                          },
                          "entity_id": {
                            "type": "string",
                            "description": "Globally unique entityID for this node. Entity ID on the IDP should match this. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                          },
                          "key": {
                            "type": "array",
                            "items": {
                              "title": "HttpCookiePersistenceKey",
                              "type": "object",
                              "properties": {
                                "aes_key": {
                                  "type": "string",
                                  "description": "aes_key of HttpCookiePersistenceKey."
                                },
                                "hmac_key": {
                                  "type": "string",
                                  "description": "hmac_key of HttpCookiePersistenceKey."
                                },
                                "name": {
                                  "type": "string",
                                  "description": "name to use for cookie encryption."
                                }
                              }
                            },
                            "description": "Key to generate the cookie. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                          },
                          "single_signon_url": {
                            "type": "string",
                            "description": "Single Signon URL to be programmed on the IDP. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                          },
                          "sp_metadata": {
                            "type": "string",
                            "description": "SAML SP metadata. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                          }
                        }
                      },
                      "authorization_policy": {
                        "title": "AuthorizationPolicy",
                        "type": "object",
                        "properties": {
                          "authz_rules": {
                            "type": "array",
                            "items": {
                              "title": "AuthorizationRule",
                              "required": [
                                "action",
                                "enable",
                                "index",
                                "match",
                                "name"
                              ],
                              "type": "object",
                              "properties": {
                                "action": {
                                  "type": "object",
                                  "description": ""
                                },
                                "enable": {
                                  "type": "boolean",
                                  "description": "Enable or disable the rule. Field introduced in 18.2.5.",
                                  "example": true
                                },
                                "index": {
                                  "type": "integer",
                                  "description": "Index of the Authorization Policy rule. Field introduced in 18.2.5."
                                },
                                "match": {
                                  "type": "object",
                                  "description": ""
                                },
                                "name": {
                                  "type": "string",
                                  "description": "Name of the rule. Field introduced in 18.2.5."
                                }
                              }
                            },
                            "description": "Authorization Policy Rules. Field introduced in 18.2.5."
                          }
                        }
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the SSO Policy. Field introduced in 18.2.3."
                      },
                      "tenant_ref": {
                        "type": "string",
                        "description": "UUID of the Tenant. It is a reference to an object of type Tenant. Field introduced in 18.2.3."
                      },
                      "type": {
                        "type": "string",
                        "description": "SSO Policy Type. Enum options - SSO_TYPE_SAML, SSO_TYPE_PINGACCESS. Field introduced in 18.2.5.",
                        "example": "SSO_TYPE_SAML"
                      },
                      "url": {
                        "type": "string",
                        "description": "url"
                      },
                      "uuid": {
                        "type": "string",
                        "description": "UUID of the SSO Policy. Field introduced in 18.2.3."
                      }
                    }
                  },
                  "sso_policy_ref": {
                    "type": "string",
                    "description": "The SSO Policy attached to the virtualservice. It is a reference to an object of type SSOPolicy. Field introduced in 18.2.3."
                  },
                  "static_dns_records": {
                    "type": "array",
                    "items": {
                      "title": "DnsRecord",
                      "required": [
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "algorithm": {
                          "type": "string",
                          "description": "Specifies the algorithm to pick the IP address(es) to be returned, when multiple entries are configured. This does not apply if num_records_in_response is 0. Default is round-robin. Enum options - DNS_RECORD_RESPONSE_ROUND_ROBIN, DNS_RECORD_RESPONSE_CONSISTENT_HASH. Field introduced in 17.1.1.",
                          "default": "DNS_RECORD_RESPONSE_ROUND_ROBIN"
                        },
                        "cname": {
                          "title": "DnsCnameRdata",
                          "required": [
                            "cname"
                          ],
                          "type": "object",
                          "properties": {
                            "cname": {
                              "type": "string",
                              "description": "Canonical name."
                            }
                          }
                        },
                        "delegated": {
                          "type": "boolean",
                          "description": "Configured FQDNs are delegated domains (i.e. they represent a zone cut). Field introduced in 17.1.2."
                        },
                        "description": {
                          "type": "string",
                          "description": "Details of DNS record."
                        },
                        "fqdn": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "Fully Qualified Domain Name."
                        },
                        "ip6_address": {
                          "type": "array",
                          "items": {
                            "title": "DnsAAAARdata",
                            "required": [
                              "ip6_address"
                            ],
                            "type": "object",
                            "properties": {
                              "ip6_address": {
                                "title": "IpAddr",
                                "required": [
                                  "addr",
                                  "type"
                                ],
                                "type": "object",
                                "properties": {
                                  "addr": {
                                    "type": "string",
                                    "description": "IP address."
                                  },
                                  "type": {
                                    "type": "string",
                                    "description": "Enum options - V4, DNS, V6."
                                  }
                                }
                              }
                            }
                          },
                          "description": "IPv6 address in AAAA record. Field introduced in 18.1.1."
                        },
                        "ip_address": {
                          "type": "array",
                          "items": {
                            "title": "DnsARdata",
                            "required": [
                              "ip_address"
                            ],
                            "type": "object",
                            "properties": {
                              "ip_address": {
                                "title": "IpAddr",
                                "required": [
                                  "addr",
                                  "type"
                                ],
                                "type": "object",
                                "properties": {
                                  "addr": {
                                    "type": "string",
                                    "description": "IP address."
                                  },
                                  "type": {
                                    "type": "string",
                                    "description": "Enum options - V4, DNS, V6."
                                  }
                                }
                              }
                            }
                          },
                          "description": "IP address in A record."
                        },
                        "metadata": {
                          "type": "string",
                          "description": "Internal metadata for the DNS record. Field introduced in 18.2.5."
                        },
                        "mx_records": {
                          "type": "array",
                          "items": {
                            "title": "DnsMxRdata",
                            "required": [
                              "host",
                              "priority"
                            ],
                            "type": "object",
                            "properties": {
                              "host": {
                                "type": "string",
                                "description": "Fully qualified domain name of a mailserver . The host name maps directly to one or more address records in the DNS table, and must not point to any CNAME records (RFC 2181). Field introduced in 18.2.9, 20.1.1."
                              },
                              "priority": {
                                "type": "integer",
                                "description": "The priority field identifies which mail server should be preferred. Allowed values are 0-65535. Field introduced in 18.2.9, 20.1.1."
                              }
                            }
                          },
                          "description": "MX record. Field introduced in 18.2.9, 20.1.1."
                        },
                        "ns": {
                          "type": "array",
                          "items": {
                            "title": "DnsNsRdata",
                            "required": [
                              "nsname"
                            ],
                            "type": "object",
                            "properties": {
                              "ip6_address": {
                                "title": "IpAddr",
                                "required": [
                                  "addr",
                                  "type"
                                ],
                                "type": "object",
                                "properties": {
                                  "addr": {
                                    "type": "string",
                                    "description": "IP address."
                                  },
                                  "type": {
                                    "type": "string",
                                    "description": "Enum options - V4, DNS, V6."
                                  }
                                }
                              },
                              "ip_address": {
                                "title": "IpAddr",
                                "required": [
                                  "addr",
                                  "type"
                                ],
                                "type": "object",
                                "properties": {
                                  "addr": {
                                    "type": "string",
                                    "description": "IP address."
                                  },
                                  "type": {
                                    "type": "string",
                                    "description": "Enum options - V4, DNS, V6."
                                  }
                                }
                              },
                              "nsname": {
                                "type": "string",
                                "description": "Name Server name. Field introduced in 17.1.1."
                              }
                            }
                          },
                          "description": "Name Server information in NS record. Field introduced in 17.1.1."
                        },
                        "num_records_in_response": {
                          "type": "integer",
                          "description": "Specifies the number of records returned by the DNS service. Enter 0 to return all records. Default is 0. Allowed values are 0-20. Special values are 0- 'Return all records'. Field introduced in 17.1.1."
                        },
                        "service_locator": {
                          "type": "array",
                          "items": {
                            "title": "DnsSrvRdata",
                            "required": [
                              "port"
                            ],
                            "type": "object",
                            "properties": {
                              "port": {
                                "type": "integer",
                                "description": "Service port. Allowed values are 0-65535."
                              },
                              "priority": {
                                "type": "integer",
                                "description": "Priority of the target hosting the service, low value implies higher priority for this service record. Allowed values are 0-65535."
                              },
                              "target": {
                                "type": "string",
                                "description": "Canonical hostname, of the machine hosting the service, with no trailing period. 'default.host' is valid but not 'default.host.'.",
                                "default": "default.host"
                              },
                              "weight": {
                                "type": "integer",
                                "description": "Relative weight for service records with same priority, high value implies higher preference for this service record. Allowed values are 0-65535."
                              }
                            }
                          },
                          "description": "Service locator info in SRV record."
                        },
                        "ttl": {
                          "type": "integer",
                          "description": "Time To Live for this DNS record."
                        },
                        "txt_records": {
                          "type": "array",
                          "items": {
                            "title": "DnsTxtRdata",
                            "required": [
                              "text_str"
                            ],
                            "type": "object",
                            "properties": {
                              "text_str": {
                                "type": "string",
                                "description": "Text data associated with the FQDN. Field introduced in 18.2.9, 20.1.1."
                              }
                            }
                          },
                          "description": "Text record. Field introduced in 18.2.9, 20.1.1."
                        },
                        "type": {
                          "type": "string",
                          "description": "DNS record type. Enum options - DNS_RECORD_OTHER, DNS_RECORD_A, DNS_RECORD_NS, DNS_RECORD_CNAME, DNS_RECORD_SOA, DNS_RECORD_PTR, DNS_RECORD_HINFO, DNS_RECORD_MX, DNS_RECORD_TXT, DNS_RECORD_RP, DNS_RECORD_DNSKEY, DNS_RECORD_AAAA, DNS_RECORD_SRV, DNS_RECORD_OPT, DNS_RECORD_RRSIG, DNS_RECORD_AXFR, DNS_RECORD_ANY."
                        },
                        "wildcard_match": {
                          "type": "boolean",
                          "description": "Enable wild-card match of fqdn  if an exact match is not found in the DNS table, the longest match is chosen by wild-carding the fqdn in the DNS request. Default is false. Field introduced in 17.1.1."
                        }
                      }
                    },
                    "description": "List of static DNS records applied to this Virtual Service. These are static entries and no health monitoring is performed against the IP addresses."
                  },
                  "subnet": {
                    "title": "IpAddrPrefix",
                    "required": [
                      "ip_addr",
                      "mask"
                    ],
                    "type": "object",
                    "properties": {
                      "ip_addr": {
                        "title": "IpAddr",
                        "required": [
                          "addr",
                          "type"
                        ],
                        "type": "object",
                        "properties": {
                          "addr": {
                            "type": "string",
                            "description": "IP address."
                          },
                          "type": {
                            "type": "string",
                            "description": "Enum options - V4, DNS, V6."
                          }
                        }
                      },
                      "mask": {
                        "type": "integer",
                        "description": "Number of mask."
                      }
                    }
                  },
                  "subnet_uuid": {
                    "type": "string",
                    "description": "It represents subnet for the Virtual Service IP address allocation when auto_allocate_ip is True.It is only applicable in OpenStack or AWS cloud. This field is required if auto_allocate_ip is True. Field deprecated in 17.1.1."
                  },
                  "tenant_ref": {
                    "type": "string",
                    "description": "It is a reference to an object of type Tenant."
                  },
                  "test_se_datastore_level_1_ref": {
                    "type": "string",
                    "description": "Used for testing SE Datastore Upgrade 2.0 functionality. It is a reference to an object of type TestSeDatastoreLevel1. Field introduced in 18.2.6."
                  },
                  "topology_policies": {
                    "type": "array",
                    "items": {
                      "title": "DnsPolicies",
                      "required": [
                        "dns_policy_ref",
                        "index"
                      ],
                      "type": "object",
                      "properties": {
                        "dns_policy_ref": {
                          "type": "string",
                          "description": "UUID of the dns policy. It is a reference to an object of type DnsPolicy. Field introduced in 17.1.1."
                        },
                        "index": {
                          "type": "integer",
                          "description": "Index of the dns policy. Field introduced in 17.1.1."
                        }
                      }
                    },
                    "description": "Topology Policies applied on the dns traffic of the Virtual Service based onGSLB Topology algorithm. Field introduced in 18.2.3."
                  },
                  "traffic_clone_profile_ref": {
                    "type": "string",
                    "description": "Server network or list of servers for cloning traffic. It is a reference to an object of type TrafficCloneProfile. Field introduced in 17.1.1."
                  },
                  "traffic_enabled": {
                    "type": "boolean",
                    "description": "Knob to enable the Virtual Service traffic on its assigned service engines. This setting is effective only when the enabled flag is set to True. Field introduced in 17.2.8.",
                    "default": true
                  },
                  "type": {
                    "type": "string",
                    "description": "Specify if this is a normal Virtual Service, or if it is the parent or child of an SNI-enabled virtual hosted Virtual Service. Enum options - VS_TYPE_NORMAL, VS_TYPE_VH_PARENT, VS_TYPE_VH_CHILD.",
                    "default": "VS_TYPE_NORMAL"
                  },
                  "url": {
                    "type": "string",
                    "description": "url"
                  },
                  "use_bridge_ip_as_vip": {
                    "type": "boolean",
                    "description": "Use Bridge IP as VIP on each Host in Mesos deployments."
                  },
                  "use_vip_as_snat": {
                    "type": "boolean",
                    "description": "Use the Virtual IP as the SNAT IP for health monitoring and sending traffic to the backend servers instead of the Service Engine interface IP. The caveat of enabling this option is that the VirtualService cannot be configued in an Active-Active HA mode. DNS based Multi VIP solution has to be used for HA & Non-disruptive Upgrade purposes. Field introduced in 17.1.9,17.2.3."
                  },
                  "uuid": {
                    "type": "string",
                    "description": "UUID of the VirtualService."
                  },
                  "vh_domain_name": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "The exact name requested from the client's SNI-enabled TLS hello domain name field. If this is a match, the parent VS will forward the connection to this child VS."
                  },
                  "vh_parent_vs_uuid": {
                    "type": "string",
                    "description": "Specifies the Virtual Service acting as Virtual Hosting (SNI) parent."
                  },
                  "vip": {
                    "type": "array",
                    "items": {
                      "title": "Vip",
                      "required": [
                        "vip_id"
                      ],
                      "type": "object",
                      "properties": {
                        "auto_allocate_floating_ip": {
                          "type": "boolean",
                          "description": "Auto-allocate floating/elastic IP from the Cloud infrastructure. Field introduced in 17.1.1."
                        },
                        "auto_allocate_ip": {
                          "type": "boolean",
                          "description": "Auto-allocate VIP from the provided subnet. Field introduced in 17.1.1."
                        },
                        "auto_allocate_ip_type": {
                          "type": "string",
                          "description": "Specifies whether to auto-allocate only a V4 address, only a V6 address, or one of each type. Enum options - V4_ONLY, V6_ONLY, V4_V6. Field introduced in 18.1.1.",
                          "default": "V4_ONLY"
                        },
                        "availability_zone": {
                          "type": "string",
                          "description": "Availability-zone to place the Virtual Service. Field introduced in 17.1.1."
                        },
                        "avi_allocated_fip": {
                          "type": "boolean",
                          "description": "(internal-use) FIP allocated by Avi in the Cloud infrastructure. Field introduced in 17.1.1."
                        },
                        "avi_allocated_vip": {
                          "type": "boolean",
                          "description": "(internal-use) VIP allocated by Avi in the Cloud infrastructure. Field introduced in 17.1.1."
                        },
                        "discovered_networks": {
                          "type": "array",
                          "items": {
                            "title": "DiscoveredNetwork",
                            "required": [
                              "network_ref"
                            ],
                            "type": "object",
                            "properties": {
                              "network_ref": {
                                "type": "string",
                                "description": "Discovered network for this IP. It is a reference to an object of type Network."
                              },
                              "subnet": {
                                "type": "array",
                                "items": {
                                  "title": "IpAddrPrefix",
                                  "required": [
                                    "ip_addr",
                                    "mask"
                                  ],
                                  "type": "object",
                                  "properties": {
                                    "ip_addr": {
                                      "title": "IpAddr",
                                      "required": [
                                        "addr",
                                        "type"
                                      ],
                                      "type": "object",
                                      "properties": {
                                        "addr": {
                                          "type": "string",
                                          "description": "IP address."
                                        },
                                        "type": {
                                          "type": "string",
                                          "description": "Enum options - V4, DNS, V6."
                                        }
                                      }
                                    },
                                    "mask": {
                                      "type": "integer",
                                      "description": "Number of mask."
                                    }
                                  }
                                },
                                "description": "Discovered subnet for this IP."
                              },
                              "subnet6": {
                                "type": "array",
                                "items": {
                                  "title": "IpAddrPrefix",
                                  "required": [
                                    "ip_addr",
                                    "mask"
                                  ],
                                  "type": "object",
                                  "properties": {
                                    "ip_addr": {
                                      "title": "IpAddr",
                                      "required": [
                                        "addr",
                                        "type"
                                      ],
                                      "type": "object",
                                      "properties": {
                                        "addr": {
                                          "type": "string",
                                          "description": "IP address."
                                        },
                                        "type": {
                                          "type": "string",
                                          "description": "Enum options - V4, DNS, V6."
                                        }
                                      }
                                    },
                                    "mask": {
                                      "type": "integer",
                                      "description": "Number of mask."
                                    }
                                  }
                                },
                                "description": "Discovered IPv6 subnet for this IP. Field introduced in 18.1.1."
                              }
                            }
                          },
                          "description": "Discovered networks providing reachability for client facing Vip IP. Field introduced in 17.1.1."
                        },
                        "enabled": {
                          "type": "boolean",
                          "description": "Enable or disable the Vip. Field introduced in 17.1.1.",
                          "default": true
                        },
                        "floating_ip": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "floating_ip6": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "floating_subnet6_uuid": {
                          "type": "string",
                          "description": "If auto_allocate_floating_ip is True and more than one floating-ip subnets exist, then the subnet for the floating IPv6 address allocation. Field introduced in 18.1.1."
                        },
                        "floating_subnet_uuid": {
                          "type": "string",
                          "description": "If auto_allocate_floating_ip is True and more than one floating-ip subnets exist, then the subnet for the floating IP address allocation. Field introduced in 17.1.1."
                        },
                        "ip6_address": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "ip_address": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "ipam_network_subnet": {
                          "title": "IPNetworkSubnet",
                          "type": "object",
                          "properties": {
                            "network_ref": {
                              "type": "string",
                              "description": "Network for VirtualService IP allocation with Vantage as the IPAM provider. Network should be created before this is configured. It is a reference to an object of type Network."
                            },
                            "subnet": {
                              "title": "IpAddrPrefix",
                              "required": [
                                "ip_addr",
                                "mask"
                              ],
                              "type": "object",
                              "properties": {
                                "ip_addr": {
                                  "title": "IpAddr",
                                  "required": [
                                    "addr",
                                    "type"
                                  ],
                                  "type": "object",
                                  "properties": {
                                    "addr": {
                                      "type": "string",
                                      "description": "IP address."
                                    },
                                    "type": {
                                      "type": "string",
                                      "description": "Enum options - V4, DNS, V6."
                                    }
                                  }
                                },
                                "mask": {
                                  "type": "integer",
                                  "description": "Number of mask."
                                }
                              }
                            },
                            "subnet6": {
                              "title": "IpAddrPrefix",
                              "required": [
                                "ip_addr",
                                "mask"
                              ],
                              "type": "object",
                              "properties": {
                                "ip_addr": {
                                  "title": "IpAddr",
                                  "required": [
                                    "addr",
                                    "type"
                                  ],
                                  "type": "object",
                                  "properties": {
                                    "addr": {
                                      "type": "string",
                                      "description": "IP address."
                                    },
                                    "type": {
                                      "type": "string",
                                      "description": "Enum options - V4, DNS, V6."
                                    }
                                  }
                                },
                                "mask": {
                                  "type": "integer",
                                  "description": "Number of mask."
                                }
                              }
                            },
                            "subnet6_uuid": {
                              "type": "string",
                              "description": "Subnet UUID or Name or Prefix for VirtualService IPv6 allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed. Field introduced in 18.1.1."
                            },
                            "subnet_uuid": {
                              "type": "string",
                              "description": "Subnet UUID or Name or Prefix for VirtualService IP allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed."
                            }
                          }
                        },
                        "network_ref": {
                          "type": "string",
                          "description": "Manually override the network on which the Vip is placed. It is a reference to an object of type Network. Field introduced in 17.1.1."
                        },
                        "placement_networks": {
                          "type": "array",
                          "items": {
                            "title": "VipPlacementNetwork",
                            "type": "object",
                            "properties": {
                              "network_ref": {
                                "type": "string",
                                "description": "Network to use for vip placement. It is a reference to an object of type Network. Field introduced in 18.2.5."
                              },
                              "subnet": {
                                "title": "IpAddrPrefix",
                                "required": [
                                  "ip_addr",
                                  "mask"
                                ],
                                "type": "object",
                                "properties": {
                                  "ip_addr": {
                                    "title": "IpAddr",
                                    "required": [
                                      "addr",
                                      "type"
                                    ],
                                    "type": "object",
                                    "properties": {
                                      "addr": {
                                        "type": "string",
                                        "description": "IP address."
                                      },
                                      "type": {
                                        "type": "string",
                                        "description": "Enum options - V4, DNS, V6."
                                      }
                                    }
                                  },
                                  "mask": {
                                    "type": "integer",
                                    "description": "Number of mask."
                                  }
                                }
                              },
                              "subnet6": {
                                "title": "IpAddrPrefix",
                                "required": [
                                  "ip_addr",
                                  "mask"
                                ],
                                "type": "object",
                                "properties": {
                                  "ip_addr": {
                                    "title": "IpAddr",
                                    "required": [
                                      "addr",
                                      "type"
                                    ],
                                    "type": "object",
                                    "properties": {
                                      "addr": {
                                        "type": "string",
                                        "description": "IP address."
                                      },
                                      "type": {
                                        "type": "string",
                                        "description": "Enum options - V4, DNS, V6."
                                      }
                                    }
                                  },
                                  "mask": {
                                    "type": "integer",
                                    "description": "Number of mask."
                                  }
                                }
                              }
                            }
                          },
                          "description": "Placement networks/subnets to use for vip placement. Field introduced in 18.2.5."
                        },
                        "port_uuid": {
                          "type": "string",
                          "description": "(internal-use) Network port assigned to the Vip IP address. Field introduced in 17.1.1."
                        },
                        "prefix_length": {
                          "type": "integer",
                          "description": "Mask applied for the Vip, non-default mask supported only for wildcard Vip. Allowed values are 0-32. Field introduced in 20.1.1.",
                                    "default": 32
                        },
                        "subnet": {
                          "title": "IpAddrPrefix",
                          "required": [
                            "ip_addr",
                            "mask"
                          ],
                          "type": "object",
                          "properties": {
                            "ip_addr": {
                              "title": "IpAddr",
                              "required": [
                                "addr",
                                "type"
                              ],
                              "type": "object",
                              "properties": {
                                "addr": {
                                  "type": "string",
                                  "description": "IP address."
                                },
                                "type": {
                                  "type": "string",
                                  "description": "Enum options - V4, DNS, V6."
                                }
                              }
                            },
                            "mask": {
                              "type": "integer",
                              "description": "Number of mask."
                            }
                          }
                        },
                        "subnet6": {
                          "title": "IpAddrPrefix",
                          "required": [
                            "ip_addr",
                            "mask"
                          ],
                          "type": "object",
                          "properties": {
                            "ip_addr": {
                              "title": "IpAddr",
                              "required": [
                                "addr",
                                "type"
                              ],
                              "type": "object",
                              "properties": {
                                "addr": {
                                  "type": "string",
                                  "description": "IP address."
                                },
                                "type": {
                                  "type": "string",
                                  "description": "Enum options - V4, DNS, V6."
                                }
                              }
                            },
                            "mask": {
                              "type": "integer",
                              "description": "Number of mask."
                            }
                          }
                        },
                        "subnet6_uuid": {
                          "type": "string",
                          "description": "If auto_allocate_ip is True, then the subnet for the Vip IPv6 address allocation. This field is applicable only if the VirtualService belongs to an Openstack or AWS cloud, in which case it is mandatory, if auto_allocate is selected. Field introduced in 18.1.1."
                        },
                        "subnet_uuid": {
                          "type": "string",
                          "description": "If auto_allocate_ip is True, then the subnet for the Vip IP address allocation. This field is applicable only if the VirtualService belongs to an Openstack or AWS cloud, in which case it is mandatory, if auto_allocate is selected. Field introduced in 17.1.1."
                        },
                        "vip_id": {
                          "type": "string",
                          "description": "Unique ID associated with the vip. Field introduced in 17.1.1."
                        }
                      }
                    },
                    "description": "List of Virtual Service IPs. While creating a 'Shared VS',please use vsvip_ref to point to the shared entities. Field introduced in 17.1.1."
                  },
                  "vrf_context_ref": {
                    "type": "string",
                    "description": "Virtual Routing Context that the Virtual Service is bound to. This is used to provide the isolation of the set of networks the application is attached to. It is a reference to an object of type VrfContext."
                  },
                  "vs_datascripts": {
                    "type": "array",
                    "items": {
                      "title": "VSDataScripts",
                      "required": [
                        "index",
                        "vs_datascript_set_ref"
                      ],
                      "type": "object",
                      "properties": {
                        "index": {
                          "type": "integer",
                          "description": "Index of the virtual service datascript collection."
                        },
                        "vs_datascript_set_ref": {
                          "type": "string",
                          "description": "UUID of the virtual service datascript collection. It is a reference to an object of type VSDataScriptSet."
                        }
                      }
                    },
                    "description": "Datascripts applied on the data traffic of the Virtual Service."
                  },
                  "vsvip_cloud_config_cksum": {
                    "type": "string",
                    "description": "Checksum of cloud configuration for VsVip. Internally set by cloud connector. Field introduced in 17.2.9, 18.1.2."
                  },
                  "vsvip_ref": {
                    "type": "string",
                    "description": "Mostly used during the creation of Shared VS, this field refers to entities that can be shared across Virtual Services. It is a reference to an object of type VsVip. Field introduced in 17.1.1."
                  },
                  "waf_policy_ref": {
                    "type": "string",
                    "description": "WAF policy for the Virtual Service. It is a reference to an object of type WafPolicy. Field introduced in 17.2.1."
                  },
                  "weight": {
                    "type": "integer",
                    "description": "The Quality of Service weight to assign to traffic transmitted from this Virtual Service.  A higher weight will prioritize traffic versus other Virtual Services sharing the same Service Engines. Allowed values are 1-128.",
                        "default": 1
                  }
                }
              },
              "description": ""
            },
            "next": {
              "type": "string"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceGET"
      },
      "task": true
    },
    {
      "name": "virtualservicePOST",
      "summary": "Virtualservice_POST",
      "description": "Virtualservice_POST",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "VirtualService object creation: {\"_last_modified\": \"string\", \"active_standby_se_tag\": \"string\", \"advertise_down_vs\": \"boolean\", \"allow_invalid_client_cert\": \"boolean\", \"analytics_policy\": {\"all_headers\": \"boolean\", \"client_insights\": \"string\", \"client_insights_sampling\": {\"client_ip\": {\"addrs\": \"array\", \"group_refs\": \"array\", \"match_criteria\": \"string\", \"prefixes\": \"array\", \"ranges\": \"array\"}, \"sample_uris\": {\"match_criteria\": \"string\", \"match_str\": \"array\", \"string_group_refs\": \"array\"}, \"skip_uris\": {\"match_criteria\": \"string\", \"match_str\": \"array\", \"string_group_refs\": \"array\"}}, \"client_log_filters\": [{\"all_headers\": \"boolean\", \"client_ip\": {\"addrs\": \"array\", \"group_refs\": \"array\", \"match_criteria\": \"string\", \"prefixes\": \"array\", \"ranges\": \"array\"}, \"duration\": 123, \"enabled\": \"boolean\", \"index\": 123, \"name\": \"string\", \"uri\": {\"match_criteria\": \"string\", \"match_str\": \"array\", \"string_group_refs\": \"array\"}}], \"enabled\": \"boolean\", \"full_client_logs\": {\"all_headers\": \"boolean\", \"duration\": 123, \"enabled\": \"boolean\", \"throttle\": 123}, \"metrics_realtime_update\": {\"duration\": 123, \"enabled\": \"boolean\"}, \"significant_log_throttle\": 123, \"udf_log_throttle\": 123}, \"analytics_profile_ref\": \"string\", \"apic_contract_graph\": \"string\", \"application_profile_ref\": \"string\", \"auto_allocate_floating_ip\": \"boolean\", \"auto_allocate_ip\": \"boolean\", \"availability_zone\": \"string\", \"avi_allocated_fip\": \"boolean\", \"avi_allocated_vip\": \"boolean\", \"azure_availability_set\": \"string\", \"bulk_sync_kvcache\": \"boolean\", \"client_auth\": {\"auth_profile_ref\": \"string\", \"realm\": \"string\", \"request_uri_path\": {\"match_criteria\": \"string\", \"match_str\": \"array\", \"string_group_refs\": \"array\"}, \"type\": \"string\"}, \"close_client_conn_on_config_update\": \"boolean\", \"cloud_config_cksum\": \"string\", \"cloud_ref\": \"string\", \"cloud_type\": \"string\", \"connections_rate_limit\": {\"action\": {\"file\": {\"content_type\": \"string\", \"file_content\": \"string\"}, \"redirect\": {\"host\": \"object\", \"keep_query\": \"boolean\", \"path\": \"object\", \"port\": 123, \"protocol\": \"string\", \"status_code\": \"string\"}, \"status_code\": \"string\", \"type\": \"string\"}, \"burst_sz\": 123, \"count\": 123, \"explicit_tracking\": \"boolean\", \"fine_grain\": \"boolean\", \"http_cookie\": \"string\", \"http_header\": \"string\", \"period\": 123, \"rate_limiter\": {\"burst_sz\": 123, \"count\": 123, \"name\": \"string\", \"period\": 123}}, \"content_rewrite\": {\"req_match_replace_pair\": [{\"match_string\": \"string\", \"replacement_string\": {\"type\": \"string\", \"val\": \"string\"}}], \"request_rewrite_enabled\": \"boolean\", \"response_rewrite_enabled\": \"boolean\", \"rewritable_content_ref\": \"string\", \"rsp_match_replace_pair\": [{\"match_string\": \"string\", \"replacement_string\": {\"type\": \"string\", \"val\": \"string\"}}]}, \"created_by\": \"string\", \"delay_fairness\": \"boolean\", \"description\": \"string\", \"discovered_network_ref\": \"array\", \"discovered_networks\": [{\"network_ref\": \"string\", \"subnet\": [{\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}], \"subnet6\": [{\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}]}], \"discovered_subnet\": [{\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}], \"dns_info\": [{\"algorithm\": \"string\", \"cname\": {\"cname\": \"string\"}, \"fqdn\": \"string\", \"metadata\": \"string\", \"num_records_in_response\": 123, \"ttl\": 123, \"type\": \"string\"}], \"dns_policies\": [{\"dns_policy_ref\": \"string\", \"index\": 123}], \"east_west_placement\": \"boolean\", \"enable_autogw\": \"boolean\", \"enable_rhi\": \"boolean\", \"enable_rhi_snat\": \"boolean\", \"enabled\": \"boolean\", \"error_page_profile_ref\": \"string\", \"floating_ip\": {\"addr\": \"string\", \"type\": \"string\"}, \"floating_subnet_uuid\": \"string\", \"flow_dist\": \"string\", \"flow_label_type\": \"string\", \"fqdn\": \"string\", \"host_name_xlate\": \"string\", \"http_policies\": [{\"http_policy_set_ref\": \"string\", \"index\": 123}], \"icap_request_profile_refs\": \"array\", \"ign_pool_net_reach\": \"boolean\", \"ip_address\": {\"addr\": \"string\", \"type\": \"string\"}, \"ipam_network_subnet\": {\"network_ref\": \"string\", \"subnet\": {\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}, \"subnet6\": {\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}, \"subnet6_uuid\": \"string\", \"subnet_uuid\": \"string\"}, \"l4_policies\": [{\"index\": 123, \"l4_policy_set_ref\": \"string\"}], \"limit_doser\": \"boolean\", \"max_cps_per_client\": 123, \"microservice_ref\": \"string\", \"min_pools_up\": 123, \"name\": \"string\", \"network_profile_ref\": \"string\", \"network_ref\": \"string\", \"network_security_policy_ref\": \"string\", \"nsx_securitygroup\": \"array\", \"performance_limits\": {\"max_concurrent_connections\": 123, \"max_throughput\": 123}, \"pool_group_ref\": \"string\", \"pool_ref\": \"string\", \"port_uuid\": \"string\", \"remove_listening_port_on_vs_down\": \"boolean\", \"requests_rate_limit\": {\"action\": {\"file\": {\"content_type\": \"string\", \"file_content\": \"string\"}, \"redirect\": {\"host\": \"object\", \"keep_query\": \"boolean\", \"path\": \"object\", \"port\": 123, \"protocol\": \"string\", \"status_code\": \"string\"}, \"status_code\": \"string\", \"type\": \"string\"}, \"burst_sz\": 123, \"count\": 123, \"explicit_tracking\": \"boolean\", \"fine_grain\": \"boolean\", \"http_cookie\": \"string\", \"http_header\": \"string\", \"period\": 123, \"rate_limiter\": {\"burst_sz\": 123, \"count\": 123, \"name\": \"string\", \"period\": 123}}, \"saml_sp_config\": {\"cookie_name\": \"string\", \"cookie_timeout\": 123, \"entity_id\": \"string\", \"key\": [{\"aes_key\": \"string\", \"hmac_key\": \"string\", \"name\": \"string\"}], \"signing_ssl_key_and_certificate_ref\": \"string\", \"single_signon_url\": \"string\", \"sp_metadata\": \"string\", \"use_idp_session_timeout\": \"boolean\"}, \"scaleout_ecmp\": \"boolean\", \"se_group_ref\": \"string\", \"security_policy_ref\": \"string\", \"server_network_profile_ref\": \"string\", \"service_metadata\": \"string\", \"service_pool_select\": [{\"service_pool_group_ref\": \"string\", \"service_pool_ref\": \"string\", \"service_port\": 123, \"service_port_range_end\": 123, \"service_protocol\": \"string\"}], \"services\": [{\"enable_http2\": \"boolean\", \"enable_ssl\": \"boolean\", \"override_application_profile_ref\": \"string\", \"override_network_profile_ref\": \"string\", \"port\": 123, \"port_range_end\": 123}], \"sideband_profile\": {\"ip\": [{\"addr\": \"string\", \"type\": \"string\"}], \"sideband_max_request_body_size\": 123}, \"snat_ip\": [{\"addr\": \"string\", \"type\": \"string\"}], \"sp_pool_refs\": \"array\", \"ssl_key_and_certificate_refs\": \"array\", \"ssl_profile_ref\": \"string\", \"ssl_profile_selectors\": [{\"client_ip_list\": {\"addrs\": \"array\", \"group_refs\": \"array\", \"match_criteria\": \"string\", \"prefixes\": \"array\", \"ranges\": \"array\"}, \"ssl_profile_ref\": \"string\"}], \"ssl_sess_cache_avg_size\": 123, \"sso_policy\": {\"_last_modified\": \"string\", \"authentication_policy\": {\"auth_profile_ref\": \"string\", \"authn_rules\": [{\"action\": \"object\", \"enable\": \"boolean\", \"index\": 123, \"match\": \"object\", \"name\": \"string\"}], \"cookie_name\": \"string\", \"cookie_timeout\": 123, \"default_auth_profile_ref\": \"string\", \"entity_id\": \"string\", \"key\": [{\"aes_key\": \"string\", \"hmac_key\": \"string\", \"name\": \"string\"}], \"single_signon_url\": \"string\", \"sp_metadata\": \"string\"}, \"authorization_policy\": {\"authz_rules\": [{\"action\": \"object\", \"enable\": \"boolean\", \"index\": 123, \"match\": \"object\", \"name\": \"string\"}]}, \"name\": \"string\", \"tenant_ref\": \"string\", \"type\": \"string\", \"url\": \"string\", \"uuid\": \"string\"}, \"sso_policy_ref\": \"string\", \"static_dns_records\": [{\"algorithm\": \"string\", \"cname\": {\"cname\": \"string\"}, \"delegated\": \"boolean\", \"description\": \"string\", \"fqdn\": \"array\", \"ip6_address\": [{\"ip6_address\": {\"addr\": \"string\", \"type\": \"string\"}}], \"ip_address\": [{\"ip_address\": {\"addr\": \"string\", \"type\": \"string\"}}], \"metadata\": \"string\", \"mx_records\": [{\"host\": \"string\", \"priority\": 123}], \"ns\": [{\"ip6_address\": {\"addr\": \"string\", \"type\": \"string\"}, \"ip_address\": {\"addr\": \"string\", \"type\": \"string\"}, \"nsname\": \"string\"}], \"num_records_in_response\": 123, \"service_locator\": [{\"port\": 123, \"priority\": 123, \"target\": \"string\", \"weight\": 123}], \"ttl\": 123, \"txt_records\": [{\"text_str\": \"string\"}], \"type\": \"string\", \"wildcard_match\": \"boolean\"}], \"subnet\": {\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}, \"subnet_uuid\": \"string\", \"tenant_ref\": \"string\", \"test_se_datastore_level_1_ref\": \"string\", \"topology_policies\": [{\"dns_policy_ref\": \"string\", \"index\": 123}], \"traffic_clone_profile_ref\": \"string\", \"traffic_enabled\": \"boolean\", \"type\": \"string\", \"url\": \"string\", \"use_bridge_ip_as_vip\": \"boolean\", \"use_vip_as_snat\": \"boolean\", \"uuid\": \"string\", \"vh_domain_name\": \"array\", \"vh_parent_vs_uuid\": \"string\", \"vip\": [{\"auto_allocate_floating_ip\": \"boolean\", \"auto_allocate_ip\": \"boolean\", \"auto_allocate_ip_type\": \"string\", \"availability_zone\": \"string\", \"avi_allocated_fip\": \"boolean\", \"avi_allocated_vip\": \"boolean\", \"discovered_networks\": [{\"network_ref\": \"string\", \"subnet\": [{\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}], \"subnet6\": [{\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}]}], \"enabled\": \"boolean\", \"floating_ip\": {\"addr\": \"string\", \"type\": \"string\"}, \"floating_ip6\": {\"addr\": \"string\", \"type\": \"string\"}, \"floating_subnet6_uuid\": \"string\", \"floating_subnet_uuid\": \"string\", \"ip6_address\": {\"addr\": \"string\", \"type\": \"string\"}, \"ip_address\": {\"addr\": \"string\", \"type\": \"string\"}, \"ipam_network_subnet\": {\"network_ref\": \"string\", \"subnet\": {\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}, \"subnet6\": {\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}, \"subnet6_uuid\": \"string\", \"subnet_uuid\": \"string\"}, \"network_ref\": \"string\", \"placement_networks\": [{\"network_ref\": \"string\", \"subnet\": {\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}, \"subnet6\": {\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}}], \"port_uuid\": \"string\", \"prefix_length\": 123, \"subnet\": {\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}, \"subnet6\": {\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}, \"subnet6_uuid\": \"string\", \"subnet_uuid\": \"string\", \"vip_id\": \"string\"}], \"vrf_context_ref\": \"string\", \"vs_datascripts\": [{\"index\": 123, \"vs_datascript_set_ref\": \"string\"}], \"vsvip_cloud_config_cksum\": \"string\", \"vsvip_ref\": \"string\", \"waf_policy_ref\": \"string\", \"weight\": 123}",
          "required": true,
          "schema": {
            "title": "VirtualService",
            "required": [
              "name"
            ],
            "type": "object",
            "properties": {
              "_last_modified": {
                "type": "string",
                "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
              },
              "active_standby_se_tag": {
                "type": "string",
                "description": "This configuration only applies if the VirtualService is in Legacy Active Standby HA mode and Load Distribution among Active Standby is enabled. This field is used to tag the VirtualService so that VirtualServices with the same tag will share the same Active ServiceEngine. VirtualServices with different tags will have different Active ServiceEngines. If one of the ServiceEngine's in the ServiceEngineGroup fails, all VirtualServices will end up using the same Active ServiceEngine. Redistribution of the VirtualServices can be either manual or automated when the failed ServiceEngine recovers. Redistribution is based on the auto redistribute property of the ServiceEngineGroup. Enum options - ACTIVE_STANDBY_SE_1, ACTIVE_STANDBY_SE_2.",
                "default": "ACTIVE_STANDBY_SE_1"
              },
              "advertise_down_vs": {
                "type": "boolean",
                "description": "Keep advertising Virtual Service via BGP even if it is marked down by health monitor. This setting takes effect for future Virtual Service flaps. To advertise current VSes that are down, please disable and re-enable the Virtual Service. Field introduced in 20.1.1."
              },
              "allow_invalid_client_cert": {
                "type": "boolean",
                "description": "Process request even if invalid client certificate is presented. Datascript APIs need to be used for processing of such requests. Field introduced in 18.2.3."
              },
              "analytics_policy": {
                "title": "AnalyticsPolicy",
                "type": "object",
                "properties": {
                  "all_headers": {
                    "type": "boolean",
                    "description": "Log all headers. Field introduced in 18.1.4, 18.2.1."
                  },
                  "client_insights": {
                    "type": "string",
                    "description": "Gain insights from sampled client to server HTTP requests and responses. Enum options - NO_INSIGHTS, PASSIVE, ACTIVE.",
                    "default": "NO_INSIGHTS"
                  },
                  "client_insights_sampling": {
                    "title": "ClientInsightsSampling",
                    "type": "object",
                    "properties": {
                      "client_ip": {
                        "title": "IpAddrMatch",
                        "required": [
                          "match_criteria"
                        ],
                        "type": "object",
                        "properties": {
                          "addrs": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "description": ""
                            },
                            "description": "IP address(es)."
                          },
                          "group_refs": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": "UUID of IP address group(s). It is a reference to an object of type IpAddrGroup."
                          },
                          "match_criteria": {
                            "type": "string",
                            "description": "Criterion to use for IP address matching the HTTP request. Enum options - IS_IN, IS_NOT_IN."
                          },
                          "prefixes": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "description": ""
                            },
                            "description": "IP address prefix(es)."
                          },
                          "ranges": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "description": ""
                            },
                            "description": "IP address range(s)."
                          }
                        }
                      },
                      "sample_uris": {
                        "title": "StringMatch",
                        "required": [
                          "match_criteria"
                        ],
                        "type": "object",
                        "properties": {
                          "match_criteria": {
                            "type": "string",
                            "description": "Criterion to use for string matching the HTTP request. Enum options - BEGINS_WITH, DOES_NOT_BEGIN_WITH, CONTAINS, DOES_NOT_CONTAIN, ENDS_WITH, DOES_NOT_END_WITH, EQUALS, DOES_NOT_EQUAL, REGEX_MATCH, REGEX_DOES_NOT_MATCH."
                          },
                          "match_str": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": "String value(s)."
                          },
                          "string_group_refs": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": "UUID of the string group(s). It is a reference to an object of type StringGroup."
                          }
                        }
                      },
                      "skip_uris": {
                        "title": "StringMatch",
                        "required": [
                          "match_criteria"
                        ],
                        "type": "object",
                        "properties": {
                          "match_criteria": {
                            "type": "string",
                            "description": "Criterion to use for string matching the HTTP request. Enum options - BEGINS_WITH, DOES_NOT_BEGIN_WITH, CONTAINS, DOES_NOT_CONTAIN, ENDS_WITH, DOES_NOT_END_WITH, EQUALS, DOES_NOT_EQUAL, REGEX_MATCH, REGEX_DOES_NOT_MATCH."
                          },
                          "match_str": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": "String value(s)."
                          },
                          "string_group_refs": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": "UUID of the string group(s). It is a reference to an object of type StringGroup."
                          }
                        }
                      }
                    }
                  },
                  "client_log_filters": {
                    "type": "array",
                    "items": {
                      "title": "ClientLogFilter",
                      "required": [
                        "enabled",
                        "index",
                        "name"
                      ],
                      "type": "object",
                      "properties": {
                        "all_headers": {
                          "type": "boolean",
                          "description": "Placeholder for description of property all_headers of obj type ClientLogFilter field type str  type boolean"
                        },
                        "client_ip": {
                          "title": "IpAddrMatch",
                          "required": [
                            "match_criteria"
                          ],
                          "type": "object",
                          "properties": {
                            "addrs": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "description": ""
                              },
                              "description": "IP address(es)."
                            },
                            "group_refs": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "UUID of IP address group(s). It is a reference to an object of type IpAddrGroup."
                            },
                            "match_criteria": {
                              "type": "string",
                              "description": "Criterion to use for IP address matching the HTTP request. Enum options - IS_IN, IS_NOT_IN."
                            },
                            "prefixes": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "description": ""
                              },
                              "description": "IP address prefix(es)."
                            },
                            "ranges": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "description": ""
                              },
                              "description": "IP address range(s)."
                            }
                          }
                        },
                        "duration": {
                          "type": "integer",
                          "description": "Special values are 0 - 'infinite'.",
                                    "default": 30
                        },
                        "enabled": {
                          "type": "boolean",
                          "description": "Placeholder for description of property enabled of obj type ClientLogFilter field type str  type boolean"
                        },
                        "index": {
                          "type": "integer",
                          "description": "Number of index."
                        },
                        "name": {
                          "type": "string",
                          "description": "Name of the object."
                        },
                        "uri": {
                          "title": "StringMatch",
                          "required": [
                            "match_criteria"
                          ],
                          "type": "object",
                          "properties": {
                            "match_criteria": {
                              "type": "string",
                              "description": "Criterion to use for string matching the HTTP request. Enum options - BEGINS_WITH, DOES_NOT_BEGIN_WITH, CONTAINS, DOES_NOT_CONTAIN, ENDS_WITH, DOES_NOT_END_WITH, EQUALS, DOES_NOT_EQUAL, REGEX_MATCH, REGEX_DOES_NOT_MATCH."
                            },
                            "match_str": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "String value(s)."
                            },
                            "string_group_refs": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "UUID of the string group(s). It is a reference to an object of type StringGroup."
                            }
                          }
                        }
                      }
                    },
                    "description": "Placeholder for description of property client_log_filters of obj type AnalyticsPolicy field type str  type object"
                  },
                  "enabled": {
                    "type": "boolean",
                    "description": "[DEPRECATED] Disable Analytics on this VirtualService. This will disable the collection of both metrics and logs. Please use following fields in AnalytcsProfile to control this behavior instead. disable_vs_analytics (for VirtualServices metrics), disable_server_analytics (for Pool metrics) and client_log_config (for logs). Field deprecated in 18.2.1. Field introduced in 17.2.4."
                  },
                  "full_client_logs": {
                    "title": "FullClientLogs",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "all_headers": {
                        "type": "boolean",
                        "description": "[DEPRECATED] Log all headers. Please use the all_headers flag in AnalyticsPolicy. Field deprecated in 18.1.4, 18.2.1."
                      },
                      "duration": {
                        "type": "integer",
                        "description": "How long should the system capture all logs, measured in minutes. Set to 0 for infinite. Special values are 0 - 'infinite'.",
                                "default": 30
                      },
                      "enabled": {
                        "type": "boolean",
                        "description": "Capture all client logs including connections and requests.  When disabled, only errors will be logged."
                      },
                      "throttle": {
                        "type": "integer",
                        "description": "This setting limits the number of non-significant logs generated per second for this VS on each SE. Default is 10 logs per second. Set it to zero (0) to disable throttling. Field introduced in 17.1.3.",
                                "default": 10
                      }
                    }
                  },
                  "metrics_realtime_update": {
                    "title": "MetricsRealTimeUpdate",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "duration": {
                        "type": "integer",
                        "description": "Real time metrics collection duration in minutes. 0 for infinite. Special values are 0 - 'infinite'.",
                                "default": 30
                      },
                      "enabled": {
                        "type": "boolean",
                        "description": "Enables real time metrics collection.  When disabled, 6 hour view is the most granular the system will track."
                      }
                    }
                  },
                  "significant_log_throttle": {
                    "type": "integer",
                    "description": "This setting limits the number of significant logs generated per second for this VS on each SE. Default is 10 logs per second. Set it to zero (0) to disable throttling. Field introduced in 17.1.3.",
                        "default": 10
                  },
                  "udf_log_throttle": {
                    "type": "integer",
                    "description": "This setting limits the total number of UDF logs generated per second for this VS on each SE. UDF logs are generated due to the configured client log filters or the rules with logging enabled. Default is 10 logs per second. Set it to zero (0) to disable throttling. Field introduced in 17.1.3.",
                        "default": 10
                  }
                }
              },
              "analytics_profile_ref": {
                "type": "string",
                "description": "Specifies settings related to analytics. It is a reference to an object of type AnalyticsProfile."
              },
              "apic_contract_graph": {
                "type": "string",
                "description": "The name of the Contract/Graph associated with the Virtual Service. Should be in the <Contract name> <Graph name> format. This is applicable only for Service Integration mode with Cisco APIC Controller . Field introduced in 17.2.12,18.1.2."
              },
              "application_profile_ref": {
                "type": "string",
                "description": "Enable application layer specific features for the Virtual Service. It is a reference to an object of type ApplicationProfile."
              },
              "auto_allocate_floating_ip": {
                "type": "boolean",
                "description": "Auto-allocate floating/elastic IP from the Cloud infrastructure. Field deprecated in 17.1.1."
              },
              "auto_allocate_ip": {
                "type": "boolean",
                "description": "Auto-allocate VIP from the provided subnet. Field deprecated in 17.1.1."
              },
              "availability_zone": {
                "type": "string",
                "description": "Availability-zone to place the Virtual Service. Field deprecated in 17.1.1."
              },
              "avi_allocated_fip": {
                "type": "boolean",
                "description": "(internal-use) FIP allocated by Avi in the Cloud infrastructure. Field deprecated in 17.1.1."
              },
              "avi_allocated_vip": {
                "type": "boolean",
                "description": "(internal-use) VIP allocated by Avi in the Cloud infrastructure. Field deprecated in 17.1.1."
              },
              "azure_availability_set": {
                "type": "string",
                "description": "(internal-use)Applicable for Azure only. Azure Availability set to which this VS is associated. Internally set by the cloud connector. Field introduced in 17.2.12, 18.1.2."
              },
              "bulk_sync_kvcache": {
                "type": "boolean",
                "description": "(This is a beta feature). Sync Key-Value cache to the new SEs when VS is scaled out. For ex  SSL sessions are stored using VS's Key-Value cache. When the VS is scaled out, the SSL session information is synced to the new SE, allowing existing SSL sessions to be reused on the new SE. . Field introduced in 17.2.7, 18.1.1."
              },
              "client_auth": {
                "title": "HTTPClientAuthenticationParams",
                "type": "object",
                "properties": {
                  "auth_profile_ref": {
                    "type": "string",
                    "description": "Auth Profile to use for validating users. It is a reference to an object of type AuthProfile."
                  },
                  "realm": {
                    "type": "string",
                    "description": "Basic authentication realm to present to a user along with the prompt for credentials."
                  },
                  "request_uri_path": {
                    "title": "StringMatch",
                    "required": [
                      "match_criteria"
                    ],
                    "type": "object",
                    "properties": {
                      "match_criteria": {
                        "type": "string",
                        "description": "Criterion to use for string matching the HTTP request. Enum options - BEGINS_WITH, DOES_NOT_BEGIN_WITH, CONTAINS, DOES_NOT_CONTAIN, ENDS_WITH, DOES_NOT_END_WITH, EQUALS, DOES_NOT_EQUAL, REGEX_MATCH, REGEX_DOES_NOT_MATCH."
                      },
                      "match_str": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "description": "String value(s)."
                      },
                      "string_group_refs": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "description": "UUID of the string group(s). It is a reference to an object of type StringGroup."
                      }
                    }
                  },
                  "type": {
                    "type": "string",
                    "description": "type of client authentication. Enum options - HTTP_BASIC_AUTH."
                  }
                }
              },
              "close_client_conn_on_config_update": {
                "type": "boolean",
                "description": "close client connection on vs config update. Field introduced in 17.2.4."
              },
              "cloud_config_cksum": {
                "type": "string",
                "description": "Checksum of cloud configuration for VS. Internally set by cloud connector."
              },
              "cloud_ref": {
                "type": "string",
                "description": "It is a reference to an object of type Cloud."
              },
              "cloud_type": {
                "type": "string",
                "description": "Enum options - CLOUD_NONE, CLOUD_VCENTER, CLOUD_OPENSTACK, CLOUD_AWS, CLOUD_VCA, CLOUD_APIC, CLOUD_MESOS, CLOUD_LINUXSERVER, CLOUD_DOCKER_UCP, CLOUD_RANCHER, CLOUD_OSHIFT_K8S, CLOUD_AZURE, CLOUD_GCP, CLOUD_NSXT.",
                "default": "CLOUD_NONE"
              },
              "connections_rate_limit": {
                "title": "RateProfile",
                "required": [
                  "action"
                ],
                "type": "object",
                "properties": {
                  "action": {
                    "title": "RateLimiterAction",
                    "type": "object",
                    "properties": {
                      "file": {
                        "title": "HTTPLocalFile",
                        "required": [
                          "content_type",
                          "file_content"
                        ],
                        "type": "object",
                        "properties": {
                          "content_type": {
                            "type": "string",
                            "description": "Mime-type of the content in the file."
                          },
                          "file_content": {
                            "type": "string",
                            "description": "File content to used in the local HTTP response body."
                          }
                        }
                      },
                      "redirect": {
                        "title": "HTTPRedirectAction",
                        "required": [
                          "protocol"
                        ],
                        "type": "object",
                        "properties": {
                          "host": {
                            "type": "object",
                            "description": ""
                          },
                          "keep_query": {
                            "type": "boolean",
                            "description": "Keep or drop the query of the incoming request URI in the redirected URI.",
                            "default": true
                          },
                          "path": {
                            "type": "object",
                            "description": ""
                          },
                          "port": {
                            "type": "integer",
                            "description": "Port to which redirect the request. Allowed values are 1-65535."
                          },
                          "protocol": {
                            "type": "string",
                            "description": "Protocol type. Enum options - HTTP, HTTPS."
                          },
                          "status_code": {
                            "type": "string",
                            "description": "HTTP redirect status code. Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307.",
                            "default": "HTTP_REDIRECT_STATUS_CODE_302"
                          }
                        }
                      },
                      "status_code": {
                        "type": "string",
                        "description": "HTTP status code for Local Response rate limit action. Enum options - HTTP_LOCAL_RESPONSE_STATUS_CODE_200, HTTP_LOCAL_RESPONSE_STATUS_CODE_204, HTTP_LOCAL_RESPONSE_STATUS_CODE_403, HTTP_LOCAL_RESPONSE_STATUS_CODE_404, HTTP_LOCAL_RESPONSE_STATUS_CODE_429, HTTP_LOCAL_RESPONSE_STATUS_CODE_501.",
                        "default": "HTTP_LOCAL_RESPONSE_STATUS_CODE_429"
                      },
                      "type": {
                        "type": "string",
                        "description": "Type of action to be enforced upon hitting the rate limit. Enum options - RL_ACTION_NONE, RL_ACTION_DROP_CONN, RL_ACTION_RESET_CONN, RL_ACTION_CLOSE_CONN, RL_ACTION_LOCAL_RSP, RL_ACTION_REDIRECT.",
                        "default": "RL_ACTION_NONE"
                      }
                    }
                  },
                  "burst_sz": {
                    "type": "integer",
                    "description": "Maximum number of connections or requests or packets to be let through instantaneously. Allowed values are 10-2500. Special values are 0- 'automatic'. Field deprecated in 18.2.9."
                  },
                  "count": {
                    "type": "integer",
                    "description": "Maximum number of connections or requests or packets. Allowed values are 1-1000000000. Special values are 0- 'unlimited'. Field deprecated in 18.2.9."
                  },
                  "explicit_tracking": {
                    "type": "boolean",
                    "description": "Explicitly tracks an attacker across rate periods."
                  },
                  "fine_grain": {
                    "type": "boolean",
                    "description": "Enable fine granularity."
                  },
                  "http_cookie": {
                    "type": "string",
                    "description": "HTTP cookie name. Field introduced in 17.1.1."
                  },
                  "http_header": {
                    "type": "string",
                    "description": "HTTP header name. Field introduced in 17.1.1."
                  },
                  "period": {
                    "type": "integer",
                    "description": "Time value in seconds to enforce rate count. Allowed values are 1-300. Field deprecated in 18.2.9."
                  },
                  "rate_limiter": {
                    "title": "RateLimiter",
                    "required": [
                      "count",
                      "period"
                    ],
                    "type": "object",
                    "properties": {
                      "burst_sz": {
                        "type": "integer",
                        "description": "Maximum number of connections, requests or packets to be let through instantaneously.  If this is less than count, it will have no effect. Allowed values are 0-1000000000. Field introduced in 18.2.9."
                      },
                      "count": {
                        "type": "integer",
                        "description": "Maximum number of connections, requests or packets permitted each period. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                                "example": 1000000000
                      },
                      "name": {
                        "type": "string",
                        "description": "Identifier for Rate Limit. Constructed according to context. Field introduced in 18.2.9."
                      },
                      "period": {
                        "type": "integer",
                        "description": "Time value in seconds to enforce rate count. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                                "example": 1
                      }
                    }
                  }
                }
              },
              "content_rewrite": {
                "title": "ContentRewriteProfile",
                "type": "object",
                "properties": {
                  "req_match_replace_pair": {
                    "type": "array",
                    "items": {
                      "title": "MatchReplacePair",
                      "required": [
                        "match_string"
                      ],
                      "type": "object",
                      "properties": {
                        "match_string": {
                          "type": "string",
                          "description": "String to be matched."
                        },
                        "replacement_string": {
                          "title": "ReplaceStringVar",
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string",
                              "description": "Type of replacement string - can be a variable exposed from datascript, value of an HTTP header or a custom user-input literal string. Enum options - DATASCRIPT_VAR, HTTP_HEADER_VAR, LITERAL_STRING."
                            },
                            "val": {
                              "type": "string",
                              "description": "Value of the replacement string - name of variable exposed from datascript, name of the HTTP header or a custom user-input literal string."
                            }
                          }
                        }
                      }
                    },
                    "description": "Strings to be matched and replaced with on the request body."
                  },
                  "request_rewrite_enabled": {
                    "type": "boolean",
                    "description": "Enable rewrite on request body."
                  },
                  "response_rewrite_enabled": {
                    "type": "boolean",
                    "description": "Enable rewrite on response body."
                  },
                  "rewritable_content_ref": {
                    "type": "string",
                    "description": "Rewrite only content types listed in this string group. Content types not present in this list are not rewritten. It is a reference to an object of type StringGroup."
                  },
                  "rsp_match_replace_pair": {
                    "type": "array",
                    "items": {
                      "title": "MatchReplacePair",
                      "required": [
                        "match_string"
                      ],
                      "type": "object",
                      "properties": {
                        "match_string": {
                          "type": "string",
                          "description": "String to be matched."
                        },
                        "replacement_string": {
                          "title": "ReplaceStringVar",
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string",
                              "description": "Type of replacement string - can be a variable exposed from datascript, value of an HTTP header or a custom user-input literal string. Enum options - DATASCRIPT_VAR, HTTP_HEADER_VAR, LITERAL_STRING."
                            },
                            "val": {
                              "type": "string",
                              "description": "Value of the replacement string - name of variable exposed from datascript, name of the HTTP header or a custom user-input literal string."
                            }
                          }
                        }
                      }
                    },
                    "description": "Strings to be matched and replaced with on the response body."
                  }
                }
              },
              "created_by": {
                "type": "string",
                "description": "Creator name."
              },
              "delay_fairness": {
                "type": "boolean",
                "description": "Select the algorithm for QoS fairness.  This determines how multiple Virtual Services sharing the same Service Engines will prioritize traffic over a congested network."
              },
              "description": {
                "type": "string",
                "description": "User defined description for the object."
              },
              "discovered_network_ref": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "(internal-use) Discovered networks providing reachability for client facing Virtual Service IP. This field is deprecated. It is a reference to an object of type Network. Field deprecated in 17.1.1."
              },
              "discovered_networks": {
                "type": "array",
                "items": {
                  "title": "DiscoveredNetwork",
                  "required": [
                    "network_ref"
                  ],
                  "type": "object",
                  "properties": {
                    "network_ref": {
                      "type": "string",
                      "description": "Discovered network for this IP. It is a reference to an object of type Network."
                    },
                    "subnet": {
                      "type": "array",
                      "items": {
                        "title": "IpAddrPrefix",
                        "required": [
                          "ip_addr",
                          "mask"
                        ],
                        "type": "object",
                        "properties": {
                          "ip_addr": {
                            "title": "IpAddr",
                            "required": [
                              "addr",
                              "type"
                            ],
                            "type": "object",
                            "properties": {
                              "addr": {
                                "type": "string",
                                "description": "IP address."
                              },
                              "type": {
                                "type": "string",
                                "description": "Enum options - V4, DNS, V6."
                              }
                            }
                          },
                          "mask": {
                            "type": "integer",
                            "description": "Number of mask."
                          }
                        }
                      },
                      "description": "Discovered subnet for this IP."
                    },
                    "subnet6": {
                      "type": "array",
                      "items": {
                        "title": "IpAddrPrefix",
                        "required": [
                          "ip_addr",
                          "mask"
                        ],
                        "type": "object",
                        "properties": {
                          "ip_addr": {
                            "title": "IpAddr",
                            "required": [
                              "addr",
                              "type"
                            ],
                            "type": "object",
                            "properties": {
                              "addr": {
                                "type": "string",
                                "description": "IP address."
                              },
                              "type": {
                                "type": "string",
                                "description": "Enum options - V4, DNS, V6."
                              }
                            }
                          },
                          "mask": {
                            "type": "integer",
                            "description": "Number of mask."
                          }
                        }
                      },
                      "description": "Discovered IPv6 subnet for this IP. Field introduced in 18.1.1."
                    }
                  }
                },
                "description": "(internal-use) Discovered networks providing reachability for client facing Virtual Service IP. This field is used internally by Avi, not editable by the user. Field deprecated in 17.1.1."
              },
              "discovered_subnet": {
                "type": "array",
                "items": {
                  "title": "IpAddrPrefix",
                  "required": [
                    "ip_addr",
                    "mask"
                  ],
                  "type": "object",
                  "properties": {
                    "ip_addr": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "mask": {
                      "type": "integer",
                      "description": "Number of mask."
                    }
                  }
                },
                "description": "(internal-use) Discovered subnets providing reachability for client facing Virtual Service IP. This field is deprecated. Field deprecated in 17.1.1."
              },
              "dns_info": {
                "type": "array",
                "items": {
                  "title": "DnsInfo",
                  "type": "object",
                  "properties": {
                    "algorithm": {
                      "type": "string",
                      "description": "Specifies the algorithm to pick the IP address(es) to be returned, when multiple entries are configured. This does not apply if num_records_in_response is 0. Default is consistent hash. Enum options - DNS_RECORD_RESPONSE_ROUND_ROBIN, DNS_RECORD_RESPONSE_CONSISTENT_HASH. Field introduced in 17.1.1.",
                      "default": "DNS_RECORD_RESPONSE_CONSISTENT_HASH"
                    },
                    "cname": {
                      "title": "DnsCnameRdata",
                      "required": [
                        "cname"
                      ],
                      "type": "object",
                      "properties": {
                        "cname": {
                          "type": "string",
                          "description": "Canonical name."
                        }
                      }
                    },
                    "fqdn": {
                      "type": "string",
                      "description": "Fully qualified domain name."
                    },
                    "metadata": {
                      "type": "string",
                      "description": "Any metadata associated with this record. Field introduced in 17.2.2."
                    },
                    "num_records_in_response": {
                      "type": "integer",
                      "description": "Specifies the number of records returned for this FQDN. Enter 0 to return all records. Default is 0. Allowed values are 0-20. Special values are 0- 'Return all records'. Field introduced in 17.1.1.",
                            "default": 1
                    },
                    "ttl": {
                      "type": "integer",
                      "description": "Time to live for fqdn record. Default value is chosen from DNS profile for this cloud if no value provided."
                    },
                    "type": {
                      "type": "string",
                      "description": "DNS record type. Enum options - DNS_RECORD_OTHER, DNS_RECORD_A, DNS_RECORD_NS, DNS_RECORD_CNAME, DNS_RECORD_SOA, DNS_RECORD_PTR, DNS_RECORD_HINFO, DNS_RECORD_MX, DNS_RECORD_TXT, DNS_RECORD_RP, DNS_RECORD_DNSKEY, DNS_RECORD_AAAA, DNS_RECORD_SRV, DNS_RECORD_OPT, DNS_RECORD_RRSIG, DNS_RECORD_AXFR, DNS_RECORD_ANY.",
                      "default": "DNS_RECORD_A"
                    }
                  }
                },
                "description": "Service discovery specific data including fully qualified domain name, type and Time-To-Live of the DNS record. Note that only one of fqdn and dns_info setting is allowed."
              },
              "dns_policies": {
                "type": "array",
                "items": {
                  "title": "DnsPolicies",
                  "required": [
                    "dns_policy_ref",
                    "index"
                  ],
                  "type": "object",
                  "properties": {
                    "dns_policy_ref": {
                      "type": "string",
                      "description": "UUID of the dns policy. It is a reference to an object of type DnsPolicy. Field introduced in 17.1.1."
                    },
                    "index": {
                      "type": "integer",
                      "description": "Index of the dns policy. Field introduced in 17.1.1."
                    }
                  }
                },
                "description": "DNS Policies applied on the dns traffic of the Virtual Service. Field introduced in 17.1.1."
              },
              "east_west_placement": {
                "type": "boolean",
                "description": "Force placement on all SE's in service group (Mesos mode only)."
              },
              "enable_autogw": {
                "type": "boolean",
                "description": "Response traffic to clients will be sent back to the source MAC address of the connection, rather than statically sent to a default gateway.",
                "default": true
              },
              "enable_rhi": {
                "type": "boolean",
                "description": "Enable Route Health Injection using the BGP Config in the vrf context."
              },
              "enable_rhi_snat": {
                "type": "boolean",
                "description": "Enable Route Health Injection for Source NAT'ted floating IP Address using the BGP Config in the vrf context."
              },
              "enabled": {
                "type": "boolean",
                "description": "Enable or disable the Virtual Service.",
                "default": true
              },
              "error_page_profile_ref": {
                "type": "string",
                "description": "Error Page Profile to be used for this virtualservice.This profile is used to send the custom error page to the client generated by the proxy. It is a reference to an object of type ErrorPageProfile. Field introduced in 17.2.4."
              },
              "floating_ip": {
                "title": "IpAddr",
                "required": [
                  "addr",
                  "type"
                ],
                "type": "object",
                "properties": {
                  "addr": {
                    "type": "string",
                    "description": "IP address."
                  },
                  "type": {
                    "type": "string",
                    "description": "Enum options - V4, DNS, V6."
                  }
                }
              },
              "floating_subnet_uuid": {
                "type": "string",
                "description": "If auto_allocate_floating_ip is True and more than one floating-ip subnets exist, then the subnet for the floating IP address allocation. This field is applicable only if the VirtualService belongs to an OpenStack or AWS cloud. In OpenStack or AWS cloud it is required when auto_allocate_floating_ip is selected. Field deprecated in 17.1.1."
              },
              "flow_dist": {
                "type": "string",
                "description": "Criteria for flow distribution among SEs. Enum options - LOAD_AWARE, CONSISTENT_HASH_SOURCE_IP_ADDRESS, CONSISTENT_HASH_SOURCE_IP_ADDRESS_AND_PORT.",
                "default": "LOAD_AWARE"
              },
              "flow_label_type": {
                "type": "string",
                "description": "Criteria for flow labelling. Enum options - NO_LABEL, APPLICATION_LABEL, SERVICE_LABEL.",
                "default": "NO_LABEL"
              },
              "fqdn": {
                "type": "string",
                "description": "DNS resolvable, fully qualified domain name of the virtualservice. Only one of 'fqdn' and 'dns_info' configuration is allowed."
              },
              "host_name_xlate": {
                "type": "string",
                "description": "Translate the host name sent to the servers to this value.  Translate the host name sent from servers back to the value used by the client."
              },
              "http_policies": {
                "type": "array",
                "items": {
                  "title": "HTTPPolicies",
                  "required": [
                    "http_policy_set_ref",
                    "index"
                  ],
                  "type": "object",
                  "properties": {
                    "http_policy_set_ref": {
                      "type": "string",
                      "description": "UUID of the virtual service HTTP policy collection. It is a reference to an object of type HTTPPolicySet."
                    },
                    "index": {
                      "type": "integer",
                      "description": "Index of the virtual service HTTP policy collection."
                    }
                  }
                },
                "description": "HTTP Policies applied on the data traffic of the Virtual Service."
              },
              "icap_request_profile_refs": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "The config settings for the ICAP server when checking the HTTP request. It is a reference to an object of type IcapProfile. Field introduced in 20.1.1."
              },
              "ign_pool_net_reach": {
                "type": "boolean",
                "description": "Ignore Pool servers network reachability constraints for Virtual Service placement."
              },
              "ip_address": {
                "title": "IpAddr",
                "required": [
                  "addr",
                  "type"
                ],
                "type": "object",
                "properties": {
                  "addr": {
                    "type": "string",
                    "description": "IP address."
                  },
                  "type": {
                    "type": "string",
                    "description": "Enum options - V4, DNS, V6."
                  }
                }
              },
              "ipam_network_subnet": {
                "title": "IPNetworkSubnet",
                "type": "object",
                "properties": {
                  "network_ref": {
                    "type": "string",
                    "description": "Network for VirtualService IP allocation with Vantage as the IPAM provider. Network should be created before this is configured. It is a reference to an object of type Network."
                  },
                  "subnet": {
                    "title": "IpAddrPrefix",
                    "required": [
                      "ip_addr",
                      "mask"
                    ],
                    "type": "object",
                    "properties": {
                      "ip_addr": {
                        "title": "IpAddr",
                        "required": [
                          "addr",
                          "type"
                        ],
                        "type": "object",
                        "properties": {
                          "addr": {
                            "type": "string",
                            "description": "IP address."
                          },
                          "type": {
                            "type": "string",
                            "description": "Enum options - V4, DNS, V6."
                          }
                        }
                      },
                      "mask": {
                        "type": "integer",
                        "description": "Number of mask."
                      }
                    }
                  },
                  "subnet6": {
                    "title": "IpAddrPrefix",
                    "required": [
                      "ip_addr",
                      "mask"
                    ],
                    "type": "object",
                    "properties": {
                      "ip_addr": {
                        "title": "IpAddr",
                        "required": [
                          "addr",
                          "type"
                        ],
                        "type": "object",
                        "properties": {
                          "addr": {
                            "type": "string",
                            "description": "IP address."
                          },
                          "type": {
                            "type": "string",
                            "description": "Enum options - V4, DNS, V6."
                          }
                        }
                      },
                      "mask": {
                        "type": "integer",
                        "description": "Number of mask."
                      }
                    }
                  },
                  "subnet6_uuid": {
                    "type": "string",
                    "description": "Subnet UUID or Name or Prefix for VirtualService IPv6 allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed. Field introduced in 18.1.1."
                  },
                  "subnet_uuid": {
                    "type": "string",
                    "description": "Subnet UUID or Name or Prefix for VirtualService IP allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed."
                  }
                }
              },
              "l4_policies": {
                "type": "array",
                "items": {
                  "title": "L4Policies",
                  "required": [
                    "index",
                    "l4_policy_set_ref"
                  ],
                  "type": "object",
                  "properties": {
                    "index": {
                      "type": "integer",
                      "description": "Index of the virtual service L4 policy set. Field introduced in 17.2.7."
                    },
                    "l4_policy_set_ref": {
                      "type": "string",
                      "description": "ID of the virtual service L4 policy set. It is a reference to an object of type L4PolicySet. Field introduced in 17.2.7."
                    }
                  }
                },
                "description": "L4 Policies applied to the data traffic of the Virtual Service. Field introduced in 17.2.7."
              },
              "limit_doser": {
                "type": "boolean",
                "description": "Limit potential DoS attackers who exceed max_cps_per_client significantly to a fraction of max_cps_per_client for a while."
              },
              "max_cps_per_client": {
                "type": "integer",
                "description": "Maximum connections per second per client IP. Allowed values are 10-1000. Special values are 0- 'unlimited'."
              },
              "microservice_ref": {
                "type": "string",
                "description": "Microservice representing the virtual service. It is a reference to an object of type MicroService."
              },
              "min_pools_up": {
                "type": "integer",
                "description": "Minimum number of UP pools to mark VS up. Field introduced in 18.2.1, 17.2.12."
              },
              "name": {
                "type": "string",
                "description": "Name for the Virtual Service."
              },
              "network_profile_ref": {
                "type": "string",
                "description": "Determines network settings such as protocol, TCP or UDP, and related options for the protocol. It is a reference to an object of type NetworkProfile."
              },
              "network_ref": {
                "type": "string",
                "description": "Manually override the network on which the Virtual Service is placed. It is a reference to an object of type Network. Field deprecated in 17.1.1."
              },
              "network_security_policy_ref": {
                "type": "string",
                "description": "Network security policies for the Virtual Service. It is a reference to an object of type NetworkSecurityPolicy."
              },
              "nsx_securitygroup": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "A list of NSX Service Groups representing the Clients which can access the Virtual IP of the Virtual Service. Field introduced in 17.1.1."
              },
              "performance_limits": {
                "title": "PerformanceLimits",
                "type": "object",
                "properties": {
                  "max_concurrent_connections": {
                    "type": "integer",
                    "description": "The maximum number of concurrent client conections allowed to the Virtual Service."
                  },
                  "max_throughput": {
                    "type": "integer",
                    "description": "The maximum throughput per second for all clients allowed through the client side of the Virtual Service."
                  }
                }
              },
              "pool_group_ref": {
                "type": "string",
                "description": "The pool group is an object that contains pools. It is a reference to an object of type PoolGroup."
              },
              "pool_ref": {
                "type": "string",
                "description": "The pool is an object that contains destination servers and related attributes such as load-balancing and persistence. It is a reference to an object of type Pool."
              },
              "port_uuid": {
                "type": "string",
                "description": "(internal-use) Network port assigned to the Virtual Service IP address. Field deprecated in 17.1.1."
              },
              "remove_listening_port_on_vs_down": {
                "type": "boolean",
                "description": "Remove listening port if VirtualService is down."
              },
              "requests_rate_limit": {
                "title": "RateProfile",
                "required": [
                  "action"
                ],
                "type": "object",
                "properties": {
                  "action": {
                    "title": "RateLimiterAction",
                    "type": "object",
                    "properties": {
                      "file": {
                        "title": "HTTPLocalFile",
                        "required": [
                          "content_type",
                          "file_content"
                        ],
                        "type": "object",
                        "properties": {
                          "content_type": {
                            "type": "string",
                            "description": "Mime-type of the content in the file."
                          },
                          "file_content": {
                            "type": "string",
                            "description": "File content to used in the local HTTP response body."
                          }
                        }
                      },
                      "redirect": {
                        "title": "HTTPRedirectAction",
                        "required": [
                          "protocol"
                        ],
                        "type": "object",
                        "properties": {
                          "host": {
                            "type": "object",
                            "description": ""
                          },
                          "keep_query": {
                            "type": "boolean",
                            "description": "Keep or drop the query of the incoming request URI in the redirected URI.",
                            "default": true
                          },
                          "path": {
                            "type": "object",
                            "description": ""
                          },
                          "port": {
                            "type": "integer",
                            "description": "Port to which redirect the request. Allowed values are 1-65535."
                          },
                          "protocol": {
                            "type": "string",
                            "description": "Protocol type. Enum options - HTTP, HTTPS."
                          },
                          "status_code": {
                            "type": "string",
                            "description": "HTTP redirect status code. Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307.",
                            "default": "HTTP_REDIRECT_STATUS_CODE_302"
                          }
                        }
                      },
                      "status_code": {
                        "type": "string",
                        "description": "HTTP status code for Local Response rate limit action. Enum options - HTTP_LOCAL_RESPONSE_STATUS_CODE_200, HTTP_LOCAL_RESPONSE_STATUS_CODE_204, HTTP_LOCAL_RESPONSE_STATUS_CODE_403, HTTP_LOCAL_RESPONSE_STATUS_CODE_404, HTTP_LOCAL_RESPONSE_STATUS_CODE_429, HTTP_LOCAL_RESPONSE_STATUS_CODE_501.",
                        "default": "HTTP_LOCAL_RESPONSE_STATUS_CODE_429"
                      },
                      "type": {
                        "type": "string",
                        "description": "Type of action to be enforced upon hitting the rate limit. Enum options - RL_ACTION_NONE, RL_ACTION_DROP_CONN, RL_ACTION_RESET_CONN, RL_ACTION_CLOSE_CONN, RL_ACTION_LOCAL_RSP, RL_ACTION_REDIRECT.",
                        "default": "RL_ACTION_NONE"
                      }
                    }
                  },
                  "burst_sz": {
                    "type": "integer",
                    "description": "Maximum number of connections or requests or packets to be let through instantaneously. Allowed values are 10-2500. Special values are 0- 'automatic'. Field deprecated in 18.2.9."
                  },
                  "count": {
                    "type": "integer",
                    "description": "Maximum number of connections or requests or packets. Allowed values are 1-1000000000. Special values are 0- 'unlimited'. Field deprecated in 18.2.9."
                  },
                  "explicit_tracking": {
                    "type": "boolean",
                    "description": "Explicitly tracks an attacker across rate periods."
                  },
                  "fine_grain": {
                    "type": "boolean",
                    "description": "Enable fine granularity."
                  },
                  "http_cookie": {
                    "type": "string",
                    "description": "HTTP cookie name. Field introduced in 17.1.1."
                  },
                  "http_header": {
                    "type": "string",
                    "description": "HTTP header name. Field introduced in 17.1.1."
                  },
                  "period": {
                    "type": "integer",
                    "description": "Time value in seconds to enforce rate count. Allowed values are 1-300. Field deprecated in 18.2.9."
                  },
                  "rate_limiter": {
                    "title": "RateLimiter",
                    "required": [
                      "count",
                      "period"
                    ],
                    "type": "object",
                    "properties": {
                      "burst_sz": {
                        "type": "integer",
                        "description": "Maximum number of connections, requests or packets to be let through instantaneously.  If this is less than count, it will have no effect. Allowed values are 0-1000000000. Field introduced in 18.2.9."
                      },
                      "count": {
                        "type": "integer",
                        "description": "Maximum number of connections, requests or packets permitted each period. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                                "example": 1000000000
                      },
                      "name": {
                        "type": "string",
                        "description": "Identifier for Rate Limit. Constructed according to context. Field introduced in 18.2.9."
                      },
                      "period": {
                        "type": "integer",
                        "description": "Time value in seconds to enforce rate count. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                                "example": 1
                      }
                    }
                  }
                }
              },
              "saml_sp_config": {
                "title": "SAMLSPConfig",
                "required": [
                  "entity_id",
                  "single_signon_url"
                ],
                "type": "object",
                "properties": {
                  "cookie_name": {
                    "type": "string",
                    "description": "HTTP cookie name for authenticated session. Field introduced in 18.2.3."
                  },
                  "cookie_timeout": {
                    "type": "integer",
                    "description": "Cookie timeout in minutes. Allowed values are 1-1440. Field introduced in 18.2.3.",
                        "default": 60
                  },
                  "entity_id": {
                    "type": "string",
                    "description": "Globally unique SAML entityID for this node. The SAML application entity ID on the IDP should match this. Field introduced in 18.2.3."
                  },
                  "key": {
                    "type": "array",
                    "items": {
                      "title": "HttpCookiePersistenceKey",
                      "type": "object",
                      "properties": {
                        "aes_key": {
                          "type": "string",
                          "description": "aes_key of HttpCookiePersistenceKey."
                        },
                        "hmac_key": {
                          "type": "string",
                          "description": "hmac_key of HttpCookiePersistenceKey."
                        },
                        "name": {
                          "type": "string",
                          "description": "name to use for cookie encryption."
                        }
                      }
                    },
                    "description": "Key to generate the cookie. Field introduced in 18.2.3."
                  },
                  "signing_ssl_key_and_certificate_ref": {
                    "type": "string",
                    "description": "SP will use this SSL certificate to sign requests going to the IdP and decrypt the assertions coming from IdP. It is a reference to an object of type SSLKeyAndCertificate. Field introduced in 18.2.3."
                  },
                  "single_signon_url": {
                    "type": "string",
                    "description": "SAML Single Signon URL to be programmed on the IDP. Field introduced in 18.2.3."
                  },
                  "sp_metadata": {
                    "type": "string",
                    "description": "SAML SP metadata for this application. Field introduced in 18.2.3."
                  },
                  "use_idp_session_timeout": {
                    "type": "boolean",
                    "description": "By enabling this field IdP can control how long the SP session can exist through the SessionNotOnOrAfter field in the AuthNStatement of SAML Response. Field introduced in 20.1.1."
                  }
                }
              },
              "scaleout_ecmp": {
                "type": "boolean",
                "description": "Disable re-distribution of flows across service engines for a virtual service. Enable if the network itself performs flow hashing with ECMP in environments such as GCP."
              },
              "se_group_ref": {
                "type": "string",
                "description": "The Service Engine Group to use for this Virtual Service. Moving to a new SE Group is disruptive to existing connections for this VS. It is a reference to an object of type ServiceEngineGroup."
              },
              "security_policy_ref": {
                "type": "string",
                "description": "Security policy applied on the traffic of the Virtual Service. This policy is used to perform security actions such as Distributed Denial of Service (DDoS) attack mitigation, etc. It is a reference to an object of type SecurityPolicy. Field introduced in 18.2.1."
              },
              "server_network_profile_ref": {
                "type": "string",
                "description": "Determines the network settings profile for the server side of TCP proxied connections.  Leave blank to use the same settings as the client to VS side of the connection. It is a reference to an object of type NetworkProfile."
              },
              "service_metadata": {
                "type": "string",
                "description": "Metadata pertaining to the Service provided by this virtual service. In Openshift/Kubernetes environments, egress pod info is stored. Any user input to this field will be overwritten by Avi Vantage."
              },
              "service_pool_select": {
                "type": "array",
                "items": {
                  "title": "ServicePoolSelector",
                  "required": [
                    "service_port"
                  ],
                  "type": "object",
                  "properties": {
                    "service_pool_group_ref": {
                      "type": "string",
                      "description": "It is a reference to an object of type PoolGroup."
                    },
                    "service_pool_ref": {
                      "type": "string",
                      "description": "It is a reference to an object of type Pool."
                    },
                    "service_port": {
                      "type": "integer",
                      "description": "Pool based destination port. Allowed values are 1-65535."
                    },
                    "service_port_range_end": {
                      "type": "integer",
                      "description": "The end of the Service port number range. Allowed values are 1-65535. Special values are 0- 'single port'. Field introduced in 17.2.4."
                    },
                    "service_protocol": {
                      "type": "string",
                      "description": "Destination protocol to match for the pool selection. If not specified, it will match any protocol. Enum options - PROTOCOL_TYPE_TCP_PROXY, PROTOCOL_TYPE_TCP_FAST_PATH, PROTOCOL_TYPE_UDP_FAST_PATH, PROTOCOL_TYPE_UDP_PROXY."
                    }
                  }
                },
                "description": "Select pool based on destination port."
              },
              "services": {
                "type": "array",
                "items": {
                  "title": "Service",
                  "required": [
                    "port"
                  ],
                  "type": "object",
                  "properties": {
                    "enable_http2": {
                      "type": "boolean",
                      "description": "Enable HTTP2 on this port. Field introduced in 20.1.1."
                    },
                    "enable_ssl": {
                      "type": "boolean",
                      "description": "Enable SSL termination and offload for traffic from clients."
                    },
                    "override_application_profile_ref": {
                      "type": "string",
                      "description": "Enable application layer specific features for the this specific service. It is a reference to an object of type ApplicationProfile. Field introduced in 17.2.4."
                    },
                    "override_network_profile_ref": {
                      "type": "string",
                      "description": "Override the network profile for this specific service port. It is a reference to an object of type NetworkProfile."
                    },
                    "port": {
                      "type": "integer",
                      "description": "The Virtual Service's port number. Allowed values are 0-65535."
                    },
                    "port_range_end": {
                      "type": "integer",
                      "description": "The end of the Virtual Service's port number range. Allowed values are 1-65535. Special values are 0- 'single port'."
                    }
                  }
                },
                "description": "List of Services defined for this Virtual Service."
              },
              "sideband_profile": {
                "title": "SidebandProfile",
                "type": "object",
                "properties": {
                  "ip": {
                    "type": "array",
                    "items": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "description": "IP Address of the sideband server."
                  },
                  "sideband_max_request_body_size": {
                    "type": "integer",
                    "description": "Maximum size of the request body that will be sent on the sideband. Allowed values are 0-16384.",
                        "default": 1024
                  }
                }
              },
              "snat_ip": {
                "type": "array",
                "items": {
                  "title": "IpAddr",
                  "required": [
                    "addr",
                    "type"
                  ],
                  "type": "object",
                  "properties": {
                    "addr": {
                      "type": "string",
                      "description": "IP address."
                    },
                    "type": {
                      "type": "string",
                      "description": "Enum options - V4, DNS, V6."
                    }
                  }
                },
                "description": "NAT'ted floating source IP Address(es) for upstream connection to servers."
              },
              "sp_pool_refs": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "GSLB pools used to manage site-persistence functionality. Each site-persistence pool contains the virtualservices in all the other sites, that is auto-generated by the GSLB manager. This is a read-only field for the user. It is a reference to an object of type Pool. Field introduced in 17.2.2."
              },
              "ssl_key_and_certificate_refs": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select or create one or two certificates, EC and/or RSA, that will be presented to SSL/TLS terminated connections. It is a reference to an object of type SSLKeyAndCertificate."
              },
              "ssl_profile_ref": {
                "type": "string",
                "description": "Determines the set of SSL versions and ciphers to accept for SSL/TLS terminated connections. It is a reference to an object of type SSLProfile."
              },
              "ssl_profile_selectors": {
                "type": "array",
                "items": {
                  "title": "SSLProfileSelector",
                  "required": [
                    "client_ip_list",
                    "ssl_profile_ref"
                  ],
                  "type": "object",
                  "properties": {
                    "client_ip_list": {
                      "title": "IpAddrMatch",
                      "required": [
                        "match_criteria"
                      ],
                      "type": "object",
                      "properties": {
                        "addrs": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "description": ""
                          },
                          "description": "IP address(es)."
                        },
                        "group_refs": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "UUID of IP address group(s). It is a reference to an object of type IpAddrGroup."
                        },
                        "match_criteria": {
                          "type": "string",
                          "description": "Criterion to use for IP address matching the HTTP request. Enum options - IS_IN, IS_NOT_IN."
                        },
                        "prefixes": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "description": ""
                          },
                          "description": "IP address prefix(es)."
                        },
                        "ranges": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "description": ""
                          },
                          "description": "IP address range(s)."
                        }
                      }
                    },
                    "ssl_profile_ref": {
                      "type": "string",
                      "description": "SSL profile for the client IP addresses listed. It is a reference to an object of type SSLProfile. Field introduced in 18.2.3."
                    }
                  }
                },
                "description": "Select SSL Profile based on client IP address match. Field introduced in 18.2.3."
              },
              "ssl_sess_cache_avg_size": {
                "type": "integer",
                "description": "Expected number of SSL session cache entries (may be exceeded). Allowed values are 1024-16383.",
                "default": 1024
              },
              "sso_policy": {
                "title": "SSOPolicy",
                "required": [
                  "authentication_policy",
                  "name",
                  "type"
                ],
                "type": "object",
                "properties": {
                  "_last_modified": {
                    "type": "string",
                    "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
                  },
                  "authentication_policy": {
                    "title": "AuthenticationPolicy",
                    "required": [
                      "default_auth_profile_ref"
                    ],
                    "type": "object",
                    "properties": {
                      "auth_profile_ref": {
                        "type": "string",
                        "description": "Auth Profile to use for validating users. It is a reference to an object of type AuthProfile. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                      },
                      "authn_rules": {
                        "type": "array",
                        "items": {
                          "title": "AuthenticationRule",
                          "required": [
                            "enable",
                            "index",
                            "name"
                          ],
                          "type": "object",
                          "properties": {
                            "action": {
                              "type": "object",
                              "description": ""
                            },
                            "enable": {
                              "type": "boolean",
                              "description": "Enable or disable the rule. Field introduced in 18.2.5.",
                              "example": true
                            },
                            "index": {
                              "type": "integer",
                              "description": "Index of the rule. Field introduced in 18.2.5."
                            },
                            "match": {
                              "type": "object",
                              "description": ""
                            },
                            "name": {
                              "type": "string",
                              "description": "Name of the rule. Field introduced in 18.2.5."
                            }
                          }
                        },
                        "description": "Add rules to apply auth profile to specific targets. Field introduced in 18.2.5."
                      },
                      "cookie_name": {
                        "type": "string",
                        "description": "HTTP cookie name for authenticated session. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                      },
                      "cookie_timeout": {
                        "type": "integer",
                        "description": "Cookie timeout in minutes. Allowed values are 1-1440. Field deprecated in 18.2.3. Field introduced in 18.2.1.",
                                "default": 60
                      },
                      "default_auth_profile_ref": {
                        "type": "string",
                        "description": "Auth Profile to use for validating users. It is a reference to an object of type AuthProfile. Field introduced in 18.2.3."
                      },
                      "entity_id": {
                        "type": "string",
                        "description": "Globally unique entityID for this node. Entity ID on the IDP should match this. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                      },
                      "key": {
                        "type": "array",
                        "items": {
                          "title": "HttpCookiePersistenceKey",
                          "type": "object",
                          "properties": {
                            "aes_key": {
                              "type": "string",
                              "description": "aes_key of HttpCookiePersistenceKey."
                            },
                            "hmac_key": {
                              "type": "string",
                              "description": "hmac_key of HttpCookiePersistenceKey."
                            },
                            "name": {
                              "type": "string",
                              "description": "name to use for cookie encryption."
                            }
                          }
                        },
                        "description": "Key to generate the cookie. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                      },
                      "single_signon_url": {
                        "type": "string",
                        "description": "Single Signon URL to be programmed on the IDP. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                      },
                      "sp_metadata": {
                        "type": "string",
                        "description": "SAML SP metadata. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                      }
                    }
                  },
                  "authorization_policy": {
                    "title": "AuthorizationPolicy",
                    "type": "object",
                    "properties": {
                      "authz_rules": {
                        "type": "array",
                        "items": {
                          "title": "AuthorizationRule",
                          "required": [
                            "action",
                            "enable",
                            "index",
                            "match",
                            "name"
                          ],
                          "type": "object",
                          "properties": {
                            "action": {
                              "type": "object",
                              "description": ""
                            },
                            "enable": {
                              "type": "boolean",
                              "description": "Enable or disable the rule. Field introduced in 18.2.5.",
                              "example": true
                            },
                            "index": {
                              "type": "integer",
                              "description": "Index of the Authorization Policy rule. Field introduced in 18.2.5."
                            },
                            "match": {
                              "type": "object",
                              "description": ""
                            },
                            "name": {
                              "type": "string",
                              "description": "Name of the rule. Field introduced in 18.2.5."
                            }
                          }
                        },
                        "description": "Authorization Policy Rules. Field introduced in 18.2.5."
                      }
                    }
                  },
                  "name": {
                    "type": "string",
                    "description": "Name of the SSO Policy. Field introduced in 18.2.3."
                  },
                  "tenant_ref": {
                    "type": "string",
                    "description": "UUID of the Tenant. It is a reference to an object of type Tenant. Field introduced in 18.2.3."
                  },
                  "type": {
                    "type": "string",
                    "description": "SSO Policy Type. Enum options - SSO_TYPE_SAML, SSO_TYPE_PINGACCESS. Field introduced in 18.2.5.",
                    "example": "SSO_TYPE_SAML"
                  },
                  "url": {
                    "type": "string",
                    "description": "url"
                  },
                  "uuid": {
                    "type": "string",
                    "description": "UUID of the SSO Policy. Field introduced in 18.2.3."
                  }
                }
              },
              "sso_policy_ref": {
                "type": "string",
                "description": "The SSO Policy attached to the virtualservice. It is a reference to an object of type SSOPolicy. Field introduced in 18.2.3."
              },
              "static_dns_records": {
                "type": "array",
                "items": {
                  "title": "DnsRecord",
                  "required": [
                    "type"
                  ],
                  "type": "object",
                  "properties": {
                    "algorithm": {
                      "type": "string",
                      "description": "Specifies the algorithm to pick the IP address(es) to be returned, when multiple entries are configured. This does not apply if num_records_in_response is 0. Default is round-robin. Enum options - DNS_RECORD_RESPONSE_ROUND_ROBIN, DNS_RECORD_RESPONSE_CONSISTENT_HASH. Field introduced in 17.1.1.",
                      "default": "DNS_RECORD_RESPONSE_ROUND_ROBIN"
                    },
                    "cname": {
                      "title": "DnsCnameRdata",
                      "required": [
                        "cname"
                      ],
                      "type": "object",
                      "properties": {
                        "cname": {
                          "type": "string",
                          "description": "Canonical name."
                        }
                      }
                    },
                    "delegated": {
                      "type": "boolean",
                      "description": "Configured FQDNs are delegated domains (i.e. they represent a zone cut). Field introduced in 17.1.2."
                    },
                    "description": {
                      "type": "string",
                      "description": "Details of DNS record."
                    },
                    "fqdn": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "Fully Qualified Domain Name."
                    },
                    "ip6_address": {
                      "type": "array",
                      "items": {
                        "title": "DnsAAAARdata",
                        "required": [
                          "ip6_address"
                        ],
                        "type": "object",
                        "properties": {
                          "ip6_address": {
                            "title": "IpAddr",
                            "required": [
                              "addr",
                              "type"
                            ],
                            "type": "object",
                            "properties": {
                              "addr": {
                                "type": "string",
                                "description": "IP address."
                              },
                              "type": {
                                "type": "string",
                                "description": "Enum options - V4, DNS, V6."
                              }
                            }
                          }
                        }
                      },
                      "description": "IPv6 address in AAAA record. Field introduced in 18.1.1."
                    },
                    "ip_address": {
                      "type": "array",
                      "items": {
                        "title": "DnsARdata",
                        "required": [
                          "ip_address"
                        ],
                        "type": "object",
                        "properties": {
                          "ip_address": {
                            "title": "IpAddr",
                            "required": [
                              "addr",
                              "type"
                            ],
                            "type": "object",
                            "properties": {
                              "addr": {
                                "type": "string",
                                "description": "IP address."
                              },
                              "type": {
                                "type": "string",
                                "description": "Enum options - V4, DNS, V6."
                              }
                            }
                          }
                        }
                      },
                      "description": "IP address in A record."
                    },
                    "metadata": {
                      "type": "string",
                      "description": "Internal metadata for the DNS record. Field introduced in 18.2.5."
                    },
                    "mx_records": {
                      "type": "array",
                      "items": {
                        "title": "DnsMxRdata",
                        "required": [
                          "host",
                          "priority"
                        ],
                        "type": "object",
                        "properties": {
                          "host": {
                            "type": "string",
                            "description": "Fully qualified domain name of a mailserver . The host name maps directly to one or more address records in the DNS table, and must not point to any CNAME records (RFC 2181). Field introduced in 18.2.9, 20.1.1."
                          },
                          "priority": {
                            "type": "integer",
                            "description": "The priority field identifies which mail server should be preferred. Allowed values are 0-65535. Field introduced in 18.2.9, 20.1.1."
                          }
                        }
                      },
                      "description": "MX record. Field introduced in 18.2.9, 20.1.1."
                    },
                    "ns": {
                      "type": "array",
                      "items": {
                        "title": "DnsNsRdata",
                        "required": [
                          "nsname"
                        ],
                        "type": "object",
                        "properties": {
                          "ip6_address": {
                            "title": "IpAddr",
                            "required": [
                              "addr",
                              "type"
                            ],
                            "type": "object",
                            "properties": {
                              "addr": {
                                "type": "string",
                                "description": "IP address."
                              },
                              "type": {
                                "type": "string",
                                "description": "Enum options - V4, DNS, V6."
                              }
                            }
                          },
                          "ip_address": {
                            "title": "IpAddr",
                            "required": [
                              "addr",
                              "type"
                            ],
                            "type": "object",
                            "properties": {
                              "addr": {
                                "type": "string",
                                "description": "IP address."
                              },
                              "type": {
                                "type": "string",
                                "description": "Enum options - V4, DNS, V6."
                              }
                            }
                          },
                          "nsname": {
                            "type": "string",
                            "description": "Name Server name. Field introduced in 17.1.1."
                          }
                        }
                      },
                      "description": "Name Server information in NS record. Field introduced in 17.1.1."
                    },
                    "num_records_in_response": {
                      "type": "integer",
                      "description": "Specifies the number of records returned by the DNS service. Enter 0 to return all records. Default is 0. Allowed values are 0-20. Special values are 0- 'Return all records'. Field introduced in 17.1.1."
                    },
                    "service_locator": {
                      "type": "array",
                      "items": {
                        "title": "DnsSrvRdata",
                        "required": [
                          "port"
                        ],
                        "type": "object",
                        "properties": {
                          "port": {
                            "type": "integer",
                            "description": "Service port. Allowed values are 0-65535."
                          },
                          "priority": {
                            "type": "integer",
                            "description": "Priority of the target hosting the service, low value implies higher priority for this service record. Allowed values are 0-65535."
                          },
                          "target": {
                            "type": "string",
                            "description": "Canonical hostname, of the machine hosting the service, with no trailing period. 'default.host' is valid but not 'default.host.'.",
                            "default": "default.host"
                          },
                          "weight": {
                            "type": "integer",
                            "description": "Relative weight for service records with same priority, high value implies higher preference for this service record. Allowed values are 0-65535."
                          }
                        }
                      },
                      "description": "Service locator info in SRV record."
                    },
                    "ttl": {
                      "type": "integer",
                      "description": "Time To Live for this DNS record."
                    },
                    "txt_records": {
                      "type": "array",
                      "items": {
                        "title": "DnsTxtRdata",
                        "required": [
                          "text_str"
                        ],
                        "type": "object",
                        "properties": {
                          "text_str": {
                            "type": "string",
                            "description": "Text data associated with the FQDN. Field introduced in 18.2.9, 20.1.1."
                          }
                        }
                      },
                      "description": "Text record. Field introduced in 18.2.9, 20.1.1."
                    },
                    "type": {
                      "type": "string",
                      "description": "DNS record type. Enum options - DNS_RECORD_OTHER, DNS_RECORD_A, DNS_RECORD_NS, DNS_RECORD_CNAME, DNS_RECORD_SOA, DNS_RECORD_PTR, DNS_RECORD_HINFO, DNS_RECORD_MX, DNS_RECORD_TXT, DNS_RECORD_RP, DNS_RECORD_DNSKEY, DNS_RECORD_AAAA, DNS_RECORD_SRV, DNS_RECORD_OPT, DNS_RECORD_RRSIG, DNS_RECORD_AXFR, DNS_RECORD_ANY."
                    },
                    "wildcard_match": {
                      "type": "boolean",
                      "description": "Enable wild-card match of fqdn  if an exact match is not found in the DNS table, the longest match is chosen by wild-carding the fqdn in the DNS request. Default is false. Field introduced in 17.1.1."
                    }
                  }
                },
                "description": "List of static DNS records applied to this Virtual Service. These are static entries and no health monitoring is performed against the IP addresses."
              },
              "subnet": {
                "title": "IpAddrPrefix",
                "required": [
                  "ip_addr",
                  "mask"
                ],
                "type": "object",
                "properties": {
                  "ip_addr": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "mask": {
                    "type": "integer",
                    "description": "Number of mask."
                  }
                }
              },
              "subnet_uuid": {
                "type": "string",
                "description": "It represents subnet for the Virtual Service IP address allocation when auto_allocate_ip is True.It is only applicable in OpenStack or AWS cloud. This field is required if auto_allocate_ip is True. Field deprecated in 17.1.1."
              },
              "tenant_ref": {
                "type": "string",
                "description": "It is a reference to an object of type Tenant."
              },
              "test_se_datastore_level_1_ref": {
                "type": "string",
                "description": "Used for testing SE Datastore Upgrade 2.0 functionality. It is a reference to an object of type TestSeDatastoreLevel1. Field introduced in 18.2.6."
              },
              "topology_policies": {
                "type": "array",
                "items": {
                  "title": "DnsPolicies",
                  "required": [
                    "dns_policy_ref",
                    "index"
                  ],
                  "type": "object",
                  "properties": {
                    "dns_policy_ref": {
                      "type": "string",
                      "description": "UUID of the dns policy. It is a reference to an object of type DnsPolicy. Field introduced in 17.1.1."
                    },
                    "index": {
                      "type": "integer",
                      "description": "Index of the dns policy. Field introduced in 17.1.1."
                    }
                  }
                },
                "description": "Topology Policies applied on the dns traffic of the Virtual Service based onGSLB Topology algorithm. Field introduced in 18.2.3."
              },
              "traffic_clone_profile_ref": {
                "type": "string",
                "description": "Server network or list of servers for cloning traffic. It is a reference to an object of type TrafficCloneProfile. Field introduced in 17.1.1."
              },
              "traffic_enabled": {
                "type": "boolean",
                "description": "Knob to enable the Virtual Service traffic on its assigned service engines. This setting is effective only when the enabled flag is set to True. Field introduced in 17.2.8.",
                "default": true
              },
              "type": {
                "type": "string",
                "description": "Specify if this is a normal Virtual Service, or if it is the parent or child of an SNI-enabled virtual hosted Virtual Service. Enum options - VS_TYPE_NORMAL, VS_TYPE_VH_PARENT, VS_TYPE_VH_CHILD.",
                "default": "VS_TYPE_NORMAL"
              },
              "url": {
                "type": "string",
                "description": "url"
              },
              "use_bridge_ip_as_vip": {
                "type": "boolean",
                "description": "Use Bridge IP as VIP on each Host in Mesos deployments."
              },
              "use_vip_as_snat": {
                "type": "boolean",
                "description": "Use the Virtual IP as the SNAT IP for health monitoring and sending traffic to the backend servers instead of the Service Engine interface IP. The caveat of enabling this option is that the VirtualService cannot be configued in an Active-Active HA mode. DNS based Multi VIP solution has to be used for HA & Non-disruptive Upgrade purposes. Field introduced in 17.1.9,17.2.3."
              },
              "uuid": {
                "type": "string",
                "description": "UUID of the VirtualService."
              },
              "vh_domain_name": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "The exact name requested from the client's SNI-enabled TLS hello domain name field. If this is a match, the parent VS will forward the connection to this child VS."
              },
              "vh_parent_vs_uuid": {
                "type": "string",
                "description": "Specifies the Virtual Service acting as Virtual Hosting (SNI) parent."
              },
              "vip": {
                "type": "array",
                "items": {
                  "title": "Vip",
                  "required": [
                    "vip_id"
                  ],
                  "type": "object",
                  "properties": {
                    "auto_allocate_floating_ip": {
                      "type": "boolean",
                      "description": "Auto-allocate floating/elastic IP from the Cloud infrastructure. Field introduced in 17.1.1."
                    },
                    "auto_allocate_ip": {
                      "type": "boolean",
                      "description": "Auto-allocate VIP from the provided subnet. Field introduced in 17.1.1."
                    },
                    "auto_allocate_ip_type": {
                      "type": "string",
                      "description": "Specifies whether to auto-allocate only a V4 address, only a V6 address, or one of each type. Enum options - V4_ONLY, V6_ONLY, V4_V6. Field introduced in 18.1.1.",
                      "default": "V4_ONLY"
                    },
                    "availability_zone": {
                      "type": "string",
                      "description": "Availability-zone to place the Virtual Service. Field introduced in 17.1.1."
                    },
                    "avi_allocated_fip": {
                      "type": "boolean",
                      "description": "(internal-use) FIP allocated by Avi in the Cloud infrastructure. Field introduced in 17.1.1."
                    },
                    "avi_allocated_vip": {
                      "type": "boolean",
                      "description": "(internal-use) VIP allocated by Avi in the Cloud infrastructure. Field introduced in 17.1.1."
                    },
                    "discovered_networks": {
                      "type": "array",
                      "items": {
                        "title": "DiscoveredNetwork",
                        "required": [
                          "network_ref"
                        ],
                        "type": "object",
                        "properties": {
                          "network_ref": {
                            "type": "string",
                            "description": "Discovered network for this IP. It is a reference to an object of type Network."
                          },
                          "subnet": {
                            "type": "array",
                            "items": {
                              "title": "IpAddrPrefix",
                              "required": [
                                "ip_addr",
                                "mask"
                              ],
                              "type": "object",
                              "properties": {
                                "ip_addr": {
                                  "title": "IpAddr",
                                  "required": [
                                    "addr",
                                    "type"
                                  ],
                                  "type": "object",
                                  "properties": {
                                    "addr": {
                                      "type": "string",
                                      "description": "IP address."
                                    },
                                    "type": {
                                      "type": "string",
                                      "description": "Enum options - V4, DNS, V6."
                                    }
                                  }
                                },
                                "mask": {
                                  "type": "integer",
                                  "description": "Number of mask."
                                }
                              }
                            },
                            "description": "Discovered subnet for this IP."
                          },
                          "subnet6": {
                            "type": "array",
                            "items": {
                              "title": "IpAddrPrefix",
                              "required": [
                                "ip_addr",
                                "mask"
                              ],
                              "type": "object",
                              "properties": {
                                "ip_addr": {
                                  "title": "IpAddr",
                                  "required": [
                                    "addr",
                                    "type"
                                  ],
                                  "type": "object",
                                  "properties": {
                                    "addr": {
                                      "type": "string",
                                      "description": "IP address."
                                    },
                                    "type": {
                                      "type": "string",
                                      "description": "Enum options - V4, DNS, V6."
                                    }
                                  }
                                },
                                "mask": {
                                  "type": "integer",
                                  "description": "Number of mask."
                                }
                              }
                            },
                            "description": "Discovered IPv6 subnet for this IP. Field introduced in 18.1.1."
                          }
                        }
                      },
                      "description": "Discovered networks providing reachability for client facing Vip IP. Field introduced in 17.1.1."
                    },
                    "enabled": {
                      "type": "boolean",
                      "description": "Enable or disable the Vip. Field introduced in 17.1.1.",
                      "default": true
                    },
                    "floating_ip": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "floating_ip6": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "floating_subnet6_uuid": {
                      "type": "string",
                      "description": "If auto_allocate_floating_ip is True and more than one floating-ip subnets exist, then the subnet for the floating IPv6 address allocation. Field introduced in 18.1.1."
                    },
                    "floating_subnet_uuid": {
                      "type": "string",
                      "description": "If auto_allocate_floating_ip is True and more than one floating-ip subnets exist, then the subnet for the floating IP address allocation. Field introduced in 17.1.1."
                    },
                    "ip6_address": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "ip_address": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "ipam_network_subnet": {
                      "title": "IPNetworkSubnet",
                      "type": "object",
                      "properties": {
                        "network_ref": {
                          "type": "string",
                          "description": "Network for VirtualService IP allocation with Vantage as the IPAM provider. Network should be created before this is configured. It is a reference to an object of type Network."
                        },
                        "subnet": {
                          "title": "IpAddrPrefix",
                          "required": [
                            "ip_addr",
                            "mask"
                          ],
                          "type": "object",
                          "properties": {
                            "ip_addr": {
                              "title": "IpAddr",
                              "required": [
                                "addr",
                                "type"
                              ],
                              "type": "object",
                              "properties": {
                                "addr": {
                                  "type": "string",
                                  "description": "IP address."
                                },
                                "type": {
                                  "type": "string",
                                  "description": "Enum options - V4, DNS, V6."
                                }
                              }
                            },
                            "mask": {
                              "type": "integer",
                              "description": "Number of mask."
                            }
                          }
                        },
                        "subnet6": {
                          "title": "IpAddrPrefix",
                          "required": [
                            "ip_addr",
                            "mask"
                          ],
                          "type": "object",
                          "properties": {
                            "ip_addr": {
                              "title": "IpAddr",
                              "required": [
                                "addr",
                                "type"
                              ],
                              "type": "object",
                              "properties": {
                                "addr": {
                                  "type": "string",
                                  "description": "IP address."
                                },
                                "type": {
                                  "type": "string",
                                  "description": "Enum options - V4, DNS, V6."
                                }
                              }
                            },
                            "mask": {
                              "type": "integer",
                              "description": "Number of mask."
                            }
                          }
                        },
                        "subnet6_uuid": {
                          "type": "string",
                          "description": "Subnet UUID or Name or Prefix for VirtualService IPv6 allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed. Field introduced in 18.1.1."
                        },
                        "subnet_uuid": {
                          "type": "string",
                          "description": "Subnet UUID or Name or Prefix for VirtualService IP allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed."
                        }
                      }
                    },
                    "network_ref": {
                      "type": "string",
                      "description": "Manually override the network on which the Vip is placed. It is a reference to an object of type Network. Field introduced in 17.1.1."
                    },
                    "placement_networks": {
                      "type": "array",
                      "items": {
                        "title": "VipPlacementNetwork",
                        "type": "object",
                        "properties": {
                          "network_ref": {
                            "type": "string",
                            "description": "Network to use for vip placement. It is a reference to an object of type Network. Field introduced in 18.2.5."
                          },
                          "subnet": {
                            "title": "IpAddrPrefix",
                            "required": [
                              "ip_addr",
                              "mask"
                            ],
                            "type": "object",
                            "properties": {
                              "ip_addr": {
                                "title": "IpAddr",
                                "required": [
                                  "addr",
                                  "type"
                                ],
                                "type": "object",
                                "properties": {
                                  "addr": {
                                    "type": "string",
                                    "description": "IP address."
                                  },
                                  "type": {
                                    "type": "string",
                                    "description": "Enum options - V4, DNS, V6."
                                  }
                                }
                              },
                              "mask": {
                                "type": "integer",
                                "description": "Number of mask."
                              }
                            }
                          },
                          "subnet6": {
                            "title": "IpAddrPrefix",
                            "required": [
                              "ip_addr",
                              "mask"
                            ],
                            "type": "object",
                            "properties": {
                              "ip_addr": {
                                "title": "IpAddr",
                                "required": [
                                  "addr",
                                  "type"
                                ],
                                "type": "object",
                                "properties": {
                                  "addr": {
                                    "type": "string",
                                    "description": "IP address."
                                  },
                                  "type": {
                                    "type": "string",
                                    "description": "Enum options - V4, DNS, V6."
                                  }
                                }
                              },
                              "mask": {
                                "type": "integer",
                                "description": "Number of mask."
                              }
                            }
                          }
                        }
                      },
                      "description": "Placement networks/subnets to use for vip placement. Field introduced in 18.2.5."
                    },
                    "port_uuid": {
                      "type": "string",
                      "description": "(internal-use) Network port assigned to the Vip IP address. Field introduced in 17.1.1."
                    },
                    "prefix_length": {
                      "type": "integer",
                      "description": "Mask applied for the Vip, non-default mask supported only for wildcard Vip. Allowed values are 0-32. Field introduced in 20.1.1.",
                            "default": 32
                    },
                    "subnet": {
                      "title": "IpAddrPrefix",
                      "required": [
                        "ip_addr",
                        "mask"
                      ],
                      "type": "object",
                      "properties": {
                        "ip_addr": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "mask": {
                          "type": "integer",
                          "description": "Number of mask."
                        }
                      }
                    },
                    "subnet6": {
                      "title": "IpAddrPrefix",
                      "required": [
                        "ip_addr",
                        "mask"
                      ],
                      "type": "object",
                      "properties": {
                        "ip_addr": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "mask": {
                          "type": "integer",
                          "description": "Number of mask."
                        }
                      }
                    },
                    "subnet6_uuid": {
                      "type": "string",
                      "description": "If auto_allocate_ip is True, then the subnet for the Vip IPv6 address allocation. This field is applicable only if the VirtualService belongs to an Openstack or AWS cloud, in which case it is mandatory, if auto_allocate is selected. Field introduced in 18.1.1."
                    },
                    "subnet_uuid": {
                      "type": "string",
                      "description": "If auto_allocate_ip is True, then the subnet for the Vip IP address allocation. This field is applicable only if the VirtualService belongs to an Openstack or AWS cloud, in which case it is mandatory, if auto_allocate is selected. Field introduced in 17.1.1."
                    },
                    "vip_id": {
                      "type": "string",
                      "description": "Unique ID associated with the vip. Field introduced in 17.1.1."
                    }
                  }
                },
                "description": "List of Virtual Service IPs. While creating a 'Shared VS',please use vsvip_ref to point to the shared entities. Field introduced in 17.1.1."
              },
              "vrf_context_ref": {
                "type": "string",
                "description": "Virtual Routing Context that the Virtual Service is bound to. This is used to provide the isolation of the set of networks the application is attached to. It is a reference to an object of type VrfContext."
              },
              "vs_datascripts": {
                "type": "array",
                "items": {
                  "title": "VSDataScripts",
                  "required": [
                    "index",
                    "vs_datascript_set_ref"
                  ],
                  "type": "object",
                  "properties": {
                    "index": {
                      "type": "integer",
                      "description": "Index of the virtual service datascript collection."
                    },
                    "vs_datascript_set_ref": {
                      "type": "string",
                      "description": "UUID of the virtual service datascript collection. It is a reference to an object of type VSDataScriptSet."
                    }
                  }
                },
                "description": "Datascripts applied on the data traffic of the Virtual Service."
              },
              "vsvip_cloud_config_cksum": {
                "type": "string",
                "description": "Checksum of cloud configuration for VsVip. Internally set by cloud connector. Field introduced in 17.2.9, 18.1.2."
              },
              "vsvip_ref": {
                "type": "string",
                "description": "Mostly used during the creation of Shared VS, this field refers to entities that can be shared across Virtual Services. It is a reference to an object of type VsVip. Field introduced in 17.1.1."
              },
              "waf_policy_ref": {
                "type": "string",
                "description": "WAF policy for the Virtual Service. It is a reference to an object of type WafPolicy. Field introduced in 17.2.1."
              },
              "weight": {
                "type": "integer",
                "description": "The Quality of Service weight to assign to traffic transmitted from this Virtual Service.  A higher weight will prioritize traffic versus other Virtual Services sharing the same Service Engines. Allowed values are 1-128.",
                "default": 1
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "VirtualService",
          "required": [
            "name"
          ],
          "type": "object",
          "properties": {
            "_last_modified": {
              "type": "string",
              "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
            },
            "active_standby_se_tag": {
              "type": "string",
              "description": "This configuration only applies if the VirtualService is in Legacy Active Standby HA mode and Load Distribution among Active Standby is enabled. This field is used to tag the VirtualService so that VirtualServices with the same tag will share the same Active ServiceEngine. VirtualServices with different tags will have different Active ServiceEngines. If one of the ServiceEngine's in the ServiceEngineGroup fails, all VirtualServices will end up using the same Active ServiceEngine. Redistribution of the VirtualServices can be either manual or automated when the failed ServiceEngine recovers. Redistribution is based on the auto redistribute property of the ServiceEngineGroup. Enum options - ACTIVE_STANDBY_SE_1, ACTIVE_STANDBY_SE_2.",
              "default": "ACTIVE_STANDBY_SE_1"
            },
            "advertise_down_vs": {
              "type": "boolean",
              "description": "Keep advertising Virtual Service via BGP even if it is marked down by health monitor. This setting takes effect for future Virtual Service flaps. To advertise current VSes that are down, please disable and re-enable the Virtual Service. Field introduced in 20.1.1."
            },
            "allow_invalid_client_cert": {
              "type": "boolean",
              "description": "Process request even if invalid client certificate is presented. Datascript APIs need to be used for processing of such requests. Field introduced in 18.2.3."
            },
            "analytics_policy": {
              "title": "AnalyticsPolicy",
              "type": "object",
              "properties": {
                "all_headers": {
                  "type": "boolean",
                  "description": "Log all headers. Field introduced in 18.1.4, 18.2.1."
                },
                "client_insights": {
                  "type": "string",
                  "description": "Gain insights from sampled client to server HTTP requests and responses. Enum options - NO_INSIGHTS, PASSIVE, ACTIVE.",
                  "default": "NO_INSIGHTS"
                },
                "client_insights_sampling": {
                  "title": "ClientInsightsSampling",
                  "type": "object",
                  "properties": {
                    "client_ip": {
                      "title": "IpAddrMatch",
                      "required": [
                        "match_criteria"
                      ],
                      "type": "object",
                      "properties": {
                        "addrs": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "description": ""
                          },
                          "description": "IP address(es)."
                        },
                        "group_refs": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "UUID of IP address group(s). It is a reference to an object of type IpAddrGroup."
                        },
                        "match_criteria": {
                          "type": "string",
                          "description": "Criterion to use for IP address matching the HTTP request. Enum options - IS_IN, IS_NOT_IN."
                        },
                        "prefixes": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "description": ""
                          },
                          "description": "IP address prefix(es)."
                        },
                        "ranges": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "description": ""
                          },
                          "description": "IP address range(s)."
                        }
                      }
                    },
                    "sample_uris": {
                      "title": "StringMatch",
                      "required": [
                        "match_criteria"
                      ],
                      "type": "object",
                      "properties": {
                        "match_criteria": {
                          "type": "string",
                          "description": "Criterion to use for string matching the HTTP request. Enum options - BEGINS_WITH, DOES_NOT_BEGIN_WITH, CONTAINS, DOES_NOT_CONTAIN, ENDS_WITH, DOES_NOT_END_WITH, EQUALS, DOES_NOT_EQUAL, REGEX_MATCH, REGEX_DOES_NOT_MATCH."
                        },
                        "match_str": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "String value(s)."
                        },
                        "string_group_refs": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "UUID of the string group(s). It is a reference to an object of type StringGroup."
                        }
                      }
                    },
                    "skip_uris": {
                      "title": "StringMatch",
                      "required": [
                        "match_criteria"
                      ],
                      "type": "object",
                      "properties": {
                        "match_criteria": {
                          "type": "string",
                          "description": "Criterion to use for string matching the HTTP request. Enum options - BEGINS_WITH, DOES_NOT_BEGIN_WITH, CONTAINS, DOES_NOT_CONTAIN, ENDS_WITH, DOES_NOT_END_WITH, EQUALS, DOES_NOT_EQUAL, REGEX_MATCH, REGEX_DOES_NOT_MATCH."
                        },
                        "match_str": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "String value(s)."
                        },
                        "string_group_refs": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "UUID of the string group(s). It is a reference to an object of type StringGroup."
                        }
                      }
                    }
                  }
                },
                "client_log_filters": {
                  "type": "array",
                  "items": {
                    "title": "ClientLogFilter",
                    "required": [
                      "enabled",
                      "index",
                      "name"
                    ],
                    "type": "object",
                    "properties": {
                      "all_headers": {
                        "type": "boolean",
                        "description": "Placeholder for description of property all_headers of obj type ClientLogFilter field type str  type boolean"
                      },
                      "client_ip": {
                        "title": "IpAddrMatch",
                        "required": [
                          "match_criteria"
                        ],
                        "type": "object",
                        "properties": {
                          "addrs": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "description": ""
                            },
                            "description": "IP address(es)."
                          },
                          "group_refs": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": "UUID of IP address group(s). It is a reference to an object of type IpAddrGroup."
                          },
                          "match_criteria": {
                            "type": "string",
                            "description": "Criterion to use for IP address matching the HTTP request. Enum options - IS_IN, IS_NOT_IN."
                          },
                          "prefixes": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "description": ""
                            },
                            "description": "IP address prefix(es)."
                          },
                          "ranges": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "description": ""
                            },
                            "description": "IP address range(s)."
                          }
                        }
                      },
                      "duration": {
                        "type": "integer",
                        "description": "Special values are 0 - 'infinite'.",
                                "default": 30
                      },
                      "enabled": {
                        "type": "boolean",
                        "description": "Placeholder for description of property enabled of obj type ClientLogFilter field type str  type boolean"
                      },
                      "index": {
                        "type": "integer",
                        "description": "Number of index."
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the object."
                      },
                      "uri": {
                        "title": "StringMatch",
                        "required": [
                          "match_criteria"
                        ],
                        "type": "object",
                        "properties": {
                          "match_criteria": {
                            "type": "string",
                            "description": "Criterion to use for string matching the HTTP request. Enum options - BEGINS_WITH, DOES_NOT_BEGIN_WITH, CONTAINS, DOES_NOT_CONTAIN, ENDS_WITH, DOES_NOT_END_WITH, EQUALS, DOES_NOT_EQUAL, REGEX_MATCH, REGEX_DOES_NOT_MATCH."
                          },
                          "match_str": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": "String value(s)."
                          },
                          "string_group_refs": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": "UUID of the string group(s). It is a reference to an object of type StringGroup."
                          }
                        }
                      }
                    }
                  },
                  "description": "Placeholder for description of property client_log_filters of obj type AnalyticsPolicy field type str  type object"
                },
                "enabled": {
                  "type": "boolean",
                  "description": "[DEPRECATED] Disable Analytics on this VirtualService. This will disable the collection of both metrics and logs. Please use following fields in AnalytcsProfile to control this behavior instead. disable_vs_analytics (for VirtualServices metrics), disable_server_analytics (for Pool metrics) and client_log_config (for logs). Field deprecated in 18.2.1. Field introduced in 17.2.4."
                },
                "full_client_logs": {
                  "title": "FullClientLogs",
                  "required": [
                    "enabled"
                  ],
                  "type": "object",
                  "properties": {
                    "all_headers": {
                      "type": "boolean",
                      "description": "[DEPRECATED] Log all headers. Please use the all_headers flag in AnalyticsPolicy. Field deprecated in 18.1.4, 18.2.1."
                    },
                    "duration": {
                      "type": "integer",
                      "description": "How long should the system capture all logs, measured in minutes. Set to 0 for infinite. Special values are 0 - 'infinite'.",
                            "default": 30
                    },
                    "enabled": {
                      "type": "boolean",
                      "description": "Capture all client logs including connections and requests.  When disabled, only errors will be logged."
                    },
                    "throttle": {
                      "type": "integer",
                      "description": "This setting limits the number of non-significant logs generated per second for this VS on each SE. Default is 10 logs per second. Set it to zero (0) to disable throttling. Field introduced in 17.1.3.",
                            "default": 10
                    }
                  }
                },
                "metrics_realtime_update": {
                  "title": "MetricsRealTimeUpdate",
                  "required": [
                    "enabled"
                  ],
                  "type": "object",
                  "properties": {
                    "duration": {
                      "type": "integer",
                      "description": "Real time metrics collection duration in minutes. 0 for infinite. Special values are 0 - 'infinite'.",
                            "default": 30
                    },
                    "enabled": {
                      "type": "boolean",
                      "description": "Enables real time metrics collection.  When disabled, 6 hour view is the most granular the system will track."
                    }
                  }
                },
                "significant_log_throttle": {
                  "type": "integer",
                  "description": "This setting limits the number of significant logs generated per second for this VS on each SE. Default is 10 logs per second. Set it to zero (0) to disable throttling. Field introduced in 17.1.3.",
                    "default": 10
                },
                "udf_log_throttle": {
                  "type": "integer",
                  "description": "This setting limits the total number of UDF logs generated per second for this VS on each SE. UDF logs are generated due to the configured client log filters or the rules with logging enabled. Default is 10 logs per second. Set it to zero (0) to disable throttling. Field introduced in 17.1.3.",
                    "default": 10
                }
              }
            },
            "analytics_profile_ref": {
              "type": "string",
              "description": "Specifies settings related to analytics. It is a reference to an object of type AnalyticsProfile."
            },
            "apic_contract_graph": {
              "type": "string",
              "description": "The name of the Contract/Graph associated with the Virtual Service. Should be in the <Contract name> <Graph name> format. This is applicable only for Service Integration mode with Cisco APIC Controller . Field introduced in 17.2.12,18.1.2."
            },
            "application_profile_ref": {
              "type": "string",
              "description": "Enable application layer specific features for the Virtual Service. It is a reference to an object of type ApplicationProfile."
            },
            "auto_allocate_floating_ip": {
              "type": "boolean",
              "description": "Auto-allocate floating/elastic IP from the Cloud infrastructure. Field deprecated in 17.1.1."
            },
            "auto_allocate_ip": {
              "type": "boolean",
              "description": "Auto-allocate VIP from the provided subnet. Field deprecated in 17.1.1."
            },
            "availability_zone": {
              "type": "string",
              "description": "Availability-zone to place the Virtual Service. Field deprecated in 17.1.1."
            },
            "avi_allocated_fip": {
              "type": "boolean",
              "description": "(internal-use) FIP allocated by Avi in the Cloud infrastructure. Field deprecated in 17.1.1."
            },
            "avi_allocated_vip": {
              "type": "boolean",
              "description": "(internal-use) VIP allocated by Avi in the Cloud infrastructure. Field deprecated in 17.1.1."
            },
            "azure_availability_set": {
              "type": "string",
              "description": "(internal-use)Applicable for Azure only. Azure Availability set to which this VS is associated. Internally set by the cloud connector. Field introduced in 17.2.12, 18.1.2."
            },
            "bulk_sync_kvcache": {
              "type": "boolean",
              "description": "(This is a beta feature). Sync Key-Value cache to the new SEs when VS is scaled out. For ex  SSL sessions are stored using VS's Key-Value cache. When the VS is scaled out, the SSL session information is synced to the new SE, allowing existing SSL sessions to be reused on the new SE. . Field introduced in 17.2.7, 18.1.1."
            },
            "client_auth": {
              "title": "HTTPClientAuthenticationParams",
              "type": "object",
              "properties": {
                "auth_profile_ref": {
                  "type": "string",
                  "description": "Auth Profile to use for validating users. It is a reference to an object of type AuthProfile."
                },
                "realm": {
                  "type": "string",
                  "description": "Basic authentication realm to present to a user along with the prompt for credentials."
                },
                "request_uri_path": {
                  "title": "StringMatch",
                  "required": [
                    "match_criteria"
                  ],
                  "type": "object",
                  "properties": {
                    "match_criteria": {
                      "type": "string",
                      "description": "Criterion to use for string matching the HTTP request. Enum options - BEGINS_WITH, DOES_NOT_BEGIN_WITH, CONTAINS, DOES_NOT_CONTAIN, ENDS_WITH, DOES_NOT_END_WITH, EQUALS, DOES_NOT_EQUAL, REGEX_MATCH, REGEX_DOES_NOT_MATCH."
                    },
                    "match_str": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "String value(s)."
                    },
                    "string_group_refs": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "UUID of the string group(s). It is a reference to an object of type StringGroup."
                    }
                  }
                },
                "type": {
                  "type": "string",
                  "description": "type of client authentication. Enum options - HTTP_BASIC_AUTH."
                }
              }
            },
            "close_client_conn_on_config_update": {
              "type": "boolean",
              "description": "close client connection on vs config update. Field introduced in 17.2.4."
            },
            "cloud_config_cksum": {
              "type": "string",
              "description": "Checksum of cloud configuration for VS. Internally set by cloud connector."
            },
            "cloud_ref": {
              "type": "string",
              "description": "It is a reference to an object of type Cloud."
            },
            "cloud_type": {
              "type": "string",
              "description": "Enum options - CLOUD_NONE, CLOUD_VCENTER, CLOUD_OPENSTACK, CLOUD_AWS, CLOUD_VCA, CLOUD_APIC, CLOUD_MESOS, CLOUD_LINUXSERVER, CLOUD_DOCKER_UCP, CLOUD_RANCHER, CLOUD_OSHIFT_K8S, CLOUD_AZURE, CLOUD_GCP, CLOUD_NSXT.",
              "default": "CLOUD_NONE"
            },
            "connections_rate_limit": {
              "title": "RateProfile",
              "required": [
                "action"
              ],
              "type": "object",
              "properties": {
                "action": {
                  "title": "RateLimiterAction",
                  "type": "object",
                  "properties": {
                    "file": {
                      "title": "HTTPLocalFile",
                      "required": [
                        "content_type",
                        "file_content"
                      ],
                      "type": "object",
                      "properties": {
                        "content_type": {
                          "type": "string",
                          "description": "Mime-type of the content in the file."
                        },
                        "file_content": {
                          "type": "string",
                          "description": "File content to used in the local HTTP response body."
                        }
                      }
                    },
                    "redirect": {
                      "title": "HTTPRedirectAction",
                      "required": [
                        "protocol"
                      ],
                      "type": "object",
                      "properties": {
                        "host": {
                          "type": "object",
                          "description": ""
                        },
                        "keep_query": {
                          "type": "boolean",
                          "description": "Keep or drop the query of the incoming request URI in the redirected URI.",
                          "default": true
                        },
                        "path": {
                          "type": "object",
                          "description": ""
                        },
                        "port": {
                          "type": "integer",
                          "description": "Port to which redirect the request. Allowed values are 1-65535."
                        },
                        "protocol": {
                          "type": "string",
                          "description": "Protocol type. Enum options - HTTP, HTTPS."
                        },
                        "status_code": {
                          "type": "string",
                          "description": "HTTP redirect status code. Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307.",
                          "default": "HTTP_REDIRECT_STATUS_CODE_302"
                        }
                      }
                    },
                    "status_code": {
                      "type": "string",
                      "description": "HTTP status code for Local Response rate limit action. Enum options - HTTP_LOCAL_RESPONSE_STATUS_CODE_200, HTTP_LOCAL_RESPONSE_STATUS_CODE_204, HTTP_LOCAL_RESPONSE_STATUS_CODE_403, HTTP_LOCAL_RESPONSE_STATUS_CODE_404, HTTP_LOCAL_RESPONSE_STATUS_CODE_429, HTTP_LOCAL_RESPONSE_STATUS_CODE_501.",
                      "default": "HTTP_LOCAL_RESPONSE_STATUS_CODE_429"
                    },
                    "type": {
                      "type": "string",
                      "description": "Type of action to be enforced upon hitting the rate limit. Enum options - RL_ACTION_NONE, RL_ACTION_DROP_CONN, RL_ACTION_RESET_CONN, RL_ACTION_CLOSE_CONN, RL_ACTION_LOCAL_RSP, RL_ACTION_REDIRECT.",
                      "default": "RL_ACTION_NONE"
                    }
                  }
                },
                "burst_sz": {
                  "type": "integer",
                  "description": "Maximum number of connections or requests or packets to be let through instantaneously. Allowed values are 10-2500. Special values are 0- 'automatic'. Field deprecated in 18.2.9."
                },
                "count": {
                  "type": "integer",
                  "description": "Maximum number of connections or requests or packets. Allowed values are 1-1000000000. Special values are 0- 'unlimited'. Field deprecated in 18.2.9."
                },
                "explicit_tracking": {
                  "type": "boolean",
                  "description": "Explicitly tracks an attacker across rate periods."
                },
                "fine_grain": {
                  "type": "boolean",
                  "description": "Enable fine granularity."
                },
                "http_cookie": {
                  "type": "string",
                  "description": "HTTP cookie name. Field introduced in 17.1.1."
                },
                "http_header": {
                  "type": "string",
                  "description": "HTTP header name. Field introduced in 17.1.1."
                },
                "period": {
                  "type": "integer",
                  "description": "Time value in seconds to enforce rate count. Allowed values are 1-300. Field deprecated in 18.2.9."
                },
                "rate_limiter": {
                  "title": "RateLimiter",
                  "required": [
                    "count",
                    "period"
                  ],
                  "type": "object",
                  "properties": {
                    "burst_sz": {
                      "type": "integer",
                      "description": "Maximum number of connections, requests or packets to be let through instantaneously.  If this is less than count, it will have no effect. Allowed values are 0-1000000000. Field introduced in 18.2.9."
                    },
                    "count": {
                      "type": "integer",
                      "description": "Maximum number of connections, requests or packets permitted each period. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                            "example": 1000000000
                    },
                    "name": {
                      "type": "string",
                      "description": "Identifier for Rate Limit. Constructed according to context. Field introduced in 18.2.9."
                    },
                    "period": {
                      "type": "integer",
                      "description": "Time value in seconds to enforce rate count. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                            "example": 1
                    }
                  }
                }
              }
            },
            "content_rewrite": {
              "title": "ContentRewriteProfile",
              "type": "object",
              "properties": {
                "req_match_replace_pair": {
                  "type": "array",
                  "items": {
                    "title": "MatchReplacePair",
                    "required": [
                      "match_string"
                    ],
                    "type": "object",
                    "properties": {
                      "match_string": {
                        "type": "string",
                        "description": "String to be matched."
                      },
                      "replacement_string": {
                        "title": "ReplaceStringVar",
                        "type": "object",
                        "properties": {
                          "type": {
                            "type": "string",
                            "description": "Type of replacement string - can be a variable exposed from datascript, value of an HTTP header or a custom user-input literal string. Enum options - DATASCRIPT_VAR, HTTP_HEADER_VAR, LITERAL_STRING."
                          },
                          "val": {
                            "type": "string",
                            "description": "Value of the replacement string - name of variable exposed from datascript, name of the HTTP header or a custom user-input literal string."
                          }
                        }
                      }
                    }
                  },
                  "description": "Strings to be matched and replaced with on the request body."
                },
                "request_rewrite_enabled": {
                  "type": "boolean",
                  "description": "Enable rewrite on request body."
                },
                "response_rewrite_enabled": {
                  "type": "boolean",
                  "description": "Enable rewrite on response body."
                },
                "rewritable_content_ref": {
                  "type": "string",
                  "description": "Rewrite only content types listed in this string group. Content types not present in this list are not rewritten. It is a reference to an object of type StringGroup."
                },
                "rsp_match_replace_pair": {
                  "type": "array",
                  "items": {
                    "title": "MatchReplacePair",
                    "required": [
                      "match_string"
                    ],
                    "type": "object",
                    "properties": {
                      "match_string": {
                        "type": "string",
                        "description": "String to be matched."
                      },
                      "replacement_string": {
                        "title": "ReplaceStringVar",
                        "type": "object",
                        "properties": {
                          "type": {
                            "type": "string",
                            "description": "Type of replacement string - can be a variable exposed from datascript, value of an HTTP header or a custom user-input literal string. Enum options - DATASCRIPT_VAR, HTTP_HEADER_VAR, LITERAL_STRING."
                          },
                          "val": {
                            "type": "string",
                            "description": "Value of the replacement string - name of variable exposed from datascript, name of the HTTP header or a custom user-input literal string."
                          }
                        }
                      }
                    }
                  },
                  "description": "Strings to be matched and replaced with on the response body."
                }
              }
            },
            "created_by": {
              "type": "string",
              "description": "Creator name."
            },
            "delay_fairness": {
              "type": "boolean",
              "description": "Select the algorithm for QoS fairness.  This determines how multiple Virtual Services sharing the same Service Engines will prioritize traffic over a congested network."
            },
            "description": {
              "type": "string",
              "description": "User defined description for the object."
            },
            "discovered_network_ref": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "(internal-use) Discovered networks providing reachability for client facing Virtual Service IP. This field is deprecated. It is a reference to an object of type Network. Field deprecated in 17.1.1."
            },
            "discovered_networks": {
              "type": "array",
              "items": {
                "title": "DiscoveredNetwork",
                "required": [
                  "network_ref"
                ],
                "type": "object",
                "properties": {
                  "network_ref": {
                    "type": "string",
                    "description": "Discovered network for this IP. It is a reference to an object of type Network."
                  },
                  "subnet": {
                    "type": "array",
                    "items": {
                      "title": "IpAddrPrefix",
                      "required": [
                        "ip_addr",
                        "mask"
                      ],
                      "type": "object",
                      "properties": {
                        "ip_addr": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "mask": {
                          "type": "integer",
                          "description": "Number of mask."
                        }
                      }
                    },
                    "description": "Discovered subnet for this IP."
                  },
                  "subnet6": {
                    "type": "array",
                    "items": {
                      "title": "IpAddrPrefix",
                      "required": [
                        "ip_addr",
                        "mask"
                      ],
                      "type": "object",
                      "properties": {
                        "ip_addr": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "mask": {
                          "type": "integer",
                          "description": "Number of mask."
                        }
                      }
                    },
                    "description": "Discovered IPv6 subnet for this IP. Field introduced in 18.1.1."
                  }
                }
              },
              "description": "(internal-use) Discovered networks providing reachability for client facing Virtual Service IP. This field is used internally by Avi, not editable by the user. Field deprecated in 17.1.1."
            },
            "discovered_subnet": {
              "type": "array",
              "items": {
                "title": "IpAddrPrefix",
                "required": [
                  "ip_addr",
                  "mask"
                ],
                "type": "object",
                "properties": {
                  "ip_addr": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "mask": {
                    "type": "integer",
                    "description": "Number of mask."
                  }
                }
              },
              "description": "(internal-use) Discovered subnets providing reachability for client facing Virtual Service IP. This field is deprecated. Field deprecated in 17.1.1."
            },
            "dns_info": {
              "type": "array",
              "items": {
                "title": "DnsInfo",
                "type": "object",
                "properties": {
                  "algorithm": {
                    "type": "string",
                    "description": "Specifies the algorithm to pick the IP address(es) to be returned, when multiple entries are configured. This does not apply if num_records_in_response is 0. Default is consistent hash. Enum options - DNS_RECORD_RESPONSE_ROUND_ROBIN, DNS_RECORD_RESPONSE_CONSISTENT_HASH. Field introduced in 17.1.1.",
                    "default": "DNS_RECORD_RESPONSE_CONSISTENT_HASH"
                  },
                  "cname": {
                    "title": "DnsCnameRdata",
                    "required": [
                      "cname"
                    ],
                    "type": "object",
                    "properties": {
                      "cname": {
                        "type": "string",
                        "description": "Canonical name."
                      }
                    }
                  },
                  "fqdn": {
                    "type": "string",
                    "description": "Fully qualified domain name."
                  },
                  "metadata": {
                    "type": "string",
                    "description": "Any metadata associated with this record. Field introduced in 17.2.2."
                  },
                  "num_records_in_response": {
                    "type": "integer",
                    "description": "Specifies the number of records returned for this FQDN. Enter 0 to return all records. Default is 0. Allowed values are 0-20. Special values are 0- 'Return all records'. Field introduced in 17.1.1.",
                        "default": 1
                  },
                  "ttl": {
                    "type": "integer",
                    "description": "Time to live for fqdn record. Default value is chosen from DNS profile for this cloud if no value provided."
                  },
                  "type": {
                    "type": "string",
                    "description": "DNS record type. Enum options - DNS_RECORD_OTHER, DNS_RECORD_A, DNS_RECORD_NS, DNS_RECORD_CNAME, DNS_RECORD_SOA, DNS_RECORD_PTR, DNS_RECORD_HINFO, DNS_RECORD_MX, DNS_RECORD_TXT, DNS_RECORD_RP, DNS_RECORD_DNSKEY, DNS_RECORD_AAAA, DNS_RECORD_SRV, DNS_RECORD_OPT, DNS_RECORD_RRSIG, DNS_RECORD_AXFR, DNS_RECORD_ANY.",
                    "default": "DNS_RECORD_A"
                  }
                }
              },
              "description": "Service discovery specific data including fully qualified domain name, type and Time-To-Live of the DNS record. Note that only one of fqdn and dns_info setting is allowed."
            },
            "dns_policies": {
              "type": "array",
              "items": {
                "title": "DnsPolicies",
                "required": [
                  "dns_policy_ref",
                  "index"
                ],
                "type": "object",
                "properties": {
                  "dns_policy_ref": {
                    "type": "string",
                    "description": "UUID of the dns policy. It is a reference to an object of type DnsPolicy. Field introduced in 17.1.1."
                  },
                  "index": {
                    "type": "integer",
                    "description": "Index of the dns policy. Field introduced in 17.1.1."
                  }
                }
              },
              "description": "DNS Policies applied on the dns traffic of the Virtual Service. Field introduced in 17.1.1."
            },
            "east_west_placement": {
              "type": "boolean",
              "description": "Force placement on all SE's in service group (Mesos mode only)."
            },
            "enable_autogw": {
              "type": "boolean",
              "description": "Response traffic to clients will be sent back to the source MAC address of the connection, rather than statically sent to a default gateway.",
              "default": true
            },
            "enable_rhi": {
              "type": "boolean",
              "description": "Enable Route Health Injection using the BGP Config in the vrf context."
            },
            "enable_rhi_snat": {
              "type": "boolean",
              "description": "Enable Route Health Injection for Source NAT'ted floating IP Address using the BGP Config in the vrf context."
            },
            "enabled": {
              "type": "boolean",
              "description": "Enable or disable the Virtual Service.",
              "default": true
            },
            "error_page_profile_ref": {
              "type": "string",
              "description": "Error Page Profile to be used for this virtualservice.This profile is used to send the custom error page to the client generated by the proxy. It is a reference to an object of type ErrorPageProfile. Field introduced in 17.2.4."
            },
            "floating_ip": {
              "title": "IpAddr",
              "required": [
                "addr",
                "type"
              ],
              "type": "object",
              "properties": {
                "addr": {
                  "type": "string",
                  "description": "IP address."
                },
                "type": {
                  "type": "string",
                  "description": "Enum options - V4, DNS, V6."
                }
              }
            },
            "floating_subnet_uuid": {
              "type": "string",
              "description": "If auto_allocate_floating_ip is True and more than one floating-ip subnets exist, then the subnet for the floating IP address allocation. This field is applicable only if the VirtualService belongs to an OpenStack or AWS cloud. In OpenStack or AWS cloud it is required when auto_allocate_floating_ip is selected. Field deprecated in 17.1.1."
            },
            "flow_dist": {
              "type": "string",
              "description": "Criteria for flow distribution among SEs. Enum options - LOAD_AWARE, CONSISTENT_HASH_SOURCE_IP_ADDRESS, CONSISTENT_HASH_SOURCE_IP_ADDRESS_AND_PORT.",
              "default": "LOAD_AWARE"
            },
            "flow_label_type": {
              "type": "string",
              "description": "Criteria for flow labelling. Enum options - NO_LABEL, APPLICATION_LABEL, SERVICE_LABEL.",
              "default": "NO_LABEL"
            },
            "fqdn": {
              "type": "string",
              "description": "DNS resolvable, fully qualified domain name of the virtualservice. Only one of 'fqdn' and 'dns_info' configuration is allowed."
            },
            "host_name_xlate": {
              "type": "string",
              "description": "Translate the host name sent to the servers to this value.  Translate the host name sent from servers back to the value used by the client."
            },
            "http_policies": {
              "type": "array",
              "items": {
                "title": "HTTPPolicies",
                "required": [
                  "http_policy_set_ref",
                  "index"
                ],
                "type": "object",
                "properties": {
                  "http_policy_set_ref": {
                    "type": "string",
                    "description": "UUID of the virtual service HTTP policy collection. It is a reference to an object of type HTTPPolicySet."
                  },
                  "index": {
                    "type": "integer",
                    "description": "Index of the virtual service HTTP policy collection."
                  }
                }
              },
              "description": "HTTP Policies applied on the data traffic of the Virtual Service."
            },
            "icap_request_profile_refs": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "The config settings for the ICAP server when checking the HTTP request. It is a reference to an object of type IcapProfile. Field introduced in 20.1.1."
            },
            "ign_pool_net_reach": {
              "type": "boolean",
              "description": "Ignore Pool servers network reachability constraints for Virtual Service placement."
            },
            "ip_address": {
              "title": "IpAddr",
              "required": [
                "addr",
                "type"
              ],
              "type": "object",
              "properties": {
                "addr": {
                  "type": "string",
                  "description": "IP address."
                },
                "type": {
                  "type": "string",
                  "description": "Enum options - V4, DNS, V6."
                }
              }
            },
            "ipam_network_subnet": {
              "title": "IPNetworkSubnet",
              "type": "object",
              "properties": {
                "network_ref": {
                  "type": "string",
                  "description": "Network for VirtualService IP allocation with Vantage as the IPAM provider. Network should be created before this is configured. It is a reference to an object of type Network."
                },
                "subnet": {
                  "title": "IpAddrPrefix",
                  "required": [
                    "ip_addr",
                    "mask"
                  ],
                  "type": "object",
                  "properties": {
                    "ip_addr": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "mask": {
                      "type": "integer",
                      "description": "Number of mask."
                    }
                  }
                },
                "subnet6": {
                  "title": "IpAddrPrefix",
                  "required": [
                    "ip_addr",
                    "mask"
                  ],
                  "type": "object",
                  "properties": {
                    "ip_addr": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "mask": {
                      "type": "integer",
                      "description": "Number of mask."
                    }
                  }
                },
                "subnet6_uuid": {
                  "type": "string",
                  "description": "Subnet UUID or Name or Prefix for VirtualService IPv6 allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed. Field introduced in 18.1.1."
                },
                "subnet_uuid": {
                  "type": "string",
                  "description": "Subnet UUID or Name or Prefix for VirtualService IP allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed."
                }
              }
            },
            "l4_policies": {
              "type": "array",
              "items": {
                "title": "L4Policies",
                "required": [
                  "index",
                  "l4_policy_set_ref"
                ],
                "type": "object",
                "properties": {
                  "index": {
                    "type": "integer",
                    "description": "Index of the virtual service L4 policy set. Field introduced in 17.2.7."
                  },
                  "l4_policy_set_ref": {
                    "type": "string",
                    "description": "ID of the virtual service L4 policy set. It is a reference to an object of type L4PolicySet. Field introduced in 17.2.7."
                  }
                }
              },
              "description": "L4 Policies applied to the data traffic of the Virtual Service. Field introduced in 17.2.7."
            },
            "limit_doser": {
              "type": "boolean",
              "description": "Limit potential DoS attackers who exceed max_cps_per_client significantly to a fraction of max_cps_per_client for a while."
            },
            "max_cps_per_client": {
              "type": "integer",
              "description": "Maximum connections per second per client IP. Allowed values are 10-1000. Special values are 0- 'unlimited'."
            },
            "microservice_ref": {
              "type": "string",
              "description": "Microservice representing the virtual service. It is a reference to an object of type MicroService."
            },
            "min_pools_up": {
              "type": "integer",
              "description": "Minimum number of UP pools to mark VS up. Field introduced in 18.2.1, 17.2.12."
            },
            "name": {
              "type": "string",
              "description": "Name for the Virtual Service."
            },
            "network_profile_ref": {
              "type": "string",
              "description": "Determines network settings such as protocol, TCP or UDP, and related options for the protocol. It is a reference to an object of type NetworkProfile."
            },
            "network_ref": {
              "type": "string",
              "description": "Manually override the network on which the Virtual Service is placed. It is a reference to an object of type Network. Field deprecated in 17.1.1."
            },
            "network_security_policy_ref": {
              "type": "string",
              "description": "Network security policies for the Virtual Service. It is a reference to an object of type NetworkSecurityPolicy."
            },
            "nsx_securitygroup": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "A list of NSX Service Groups representing the Clients which can access the Virtual IP of the Virtual Service. Field introduced in 17.1.1."
            },
            "performance_limits": {
              "title": "PerformanceLimits",
              "type": "object",
              "properties": {
                "max_concurrent_connections": {
                  "type": "integer",
                  "description": "The maximum number of concurrent client conections allowed to the Virtual Service."
                },
                "max_throughput": {
                  "type": "integer",
                  "description": "The maximum throughput per second for all clients allowed through the client side of the Virtual Service."
                }
              }
            },
            "pool_group_ref": {
              "type": "string",
              "description": "The pool group is an object that contains pools. It is a reference to an object of type PoolGroup."
            },
            "pool_ref": {
              "type": "string",
              "description": "The pool is an object that contains destination servers and related attributes such as load-balancing and persistence. It is a reference to an object of type Pool."
            },
            "port_uuid": {
              "type": "string",
              "description": "(internal-use) Network port assigned to the Virtual Service IP address. Field deprecated in 17.1.1."
            },
            "remove_listening_port_on_vs_down": {
              "type": "boolean",
              "description": "Remove listening port if VirtualService is down."
            },
            "requests_rate_limit": {
              "title": "RateProfile",
              "required": [
                "action"
              ],
              "type": "object",
              "properties": {
                "action": {
                  "title": "RateLimiterAction",
                  "type": "object",
                  "properties": {
                    "file": {
                      "title": "HTTPLocalFile",
                      "required": [
                        "content_type",
                        "file_content"
                      ],
                      "type": "object",
                      "properties": {
                        "content_type": {
                          "type": "string",
                          "description": "Mime-type of the content in the file."
                        },
                        "file_content": {
                          "type": "string",
                          "description": "File content to used in the local HTTP response body."
                        }
                      }
                    },
                    "redirect": {
                      "title": "HTTPRedirectAction",
                      "required": [
                        "protocol"
                      ],
                      "type": "object",
                      "properties": {
                        "host": {
                          "type": "object",
                          "description": ""
                        },
                        "keep_query": {
                          "type": "boolean",
                          "description": "Keep or drop the query of the incoming request URI in the redirected URI.",
                          "default": true
                        },
                        "path": {
                          "type": "object",
                          "description": ""
                        },
                        "port": {
                          "type": "integer",
                          "description": "Port to which redirect the request. Allowed values are 1-65535."
                        },
                        "protocol": {
                          "type": "string",
                          "description": "Protocol type. Enum options - HTTP, HTTPS."
                        },
                        "status_code": {
                          "type": "string",
                          "description": "HTTP redirect status code. Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307.",
                          "default": "HTTP_REDIRECT_STATUS_CODE_302"
                        }
                      }
                    },
                    "status_code": {
                      "type": "string",
                      "description": "HTTP status code for Local Response rate limit action. Enum options - HTTP_LOCAL_RESPONSE_STATUS_CODE_200, HTTP_LOCAL_RESPONSE_STATUS_CODE_204, HTTP_LOCAL_RESPONSE_STATUS_CODE_403, HTTP_LOCAL_RESPONSE_STATUS_CODE_404, HTTP_LOCAL_RESPONSE_STATUS_CODE_429, HTTP_LOCAL_RESPONSE_STATUS_CODE_501.",
                      "default": "HTTP_LOCAL_RESPONSE_STATUS_CODE_429"
                    },
                    "type": {
                      "type": "string",
                      "description": "Type of action to be enforced upon hitting the rate limit. Enum options - RL_ACTION_NONE, RL_ACTION_DROP_CONN, RL_ACTION_RESET_CONN, RL_ACTION_CLOSE_CONN, RL_ACTION_LOCAL_RSP, RL_ACTION_REDIRECT.",
                      "default": "RL_ACTION_NONE"
                    }
                  }
                },
                "burst_sz": {
                  "type": "integer",
                  "description": "Maximum number of connections or requests or packets to be let through instantaneously. Allowed values are 10-2500. Special values are 0- 'automatic'. Field deprecated in 18.2.9."
                },
                "count": {
                  "type": "integer",
                  "description": "Maximum number of connections or requests or packets. Allowed values are 1-1000000000. Special values are 0- 'unlimited'. Field deprecated in 18.2.9."
                },
                "explicit_tracking": {
                  "type": "boolean",
                  "description": "Explicitly tracks an attacker across rate periods."
                },
                "fine_grain": {
                  "type": "boolean",
                  "description": "Enable fine granularity."
                },
                "http_cookie": {
                  "type": "string",
                  "description": "HTTP cookie name. Field introduced in 17.1.1."
                },
                "http_header": {
                  "type": "string",
                  "description": "HTTP header name. Field introduced in 17.1.1."
                },
                "period": {
                  "type": "integer",
                  "description": "Time value in seconds to enforce rate count. Allowed values are 1-300. Field deprecated in 18.2.9."
                },
                "rate_limiter": {
                  "title": "RateLimiter",
                  "required": [
                    "count",
                    "period"
                  ],
                  "type": "object",
                  "properties": {
                    "burst_sz": {
                      "type": "integer",
                      "description": "Maximum number of connections, requests or packets to be let through instantaneously.  If this is less than count, it will have no effect. Allowed values are 0-1000000000. Field introduced in 18.2.9."
                    },
                    "count": {
                      "type": "integer",
                      "description": "Maximum number of connections, requests or packets permitted each period. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                            "example": 1000000000
                    },
                    "name": {
                      "type": "string",
                      "description": "Identifier for Rate Limit. Constructed according to context. Field introduced in 18.2.9."
                    },
                    "period": {
                      "type": "integer",
                      "description": "Time value in seconds to enforce rate count. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                            "example": 1
                    }
                  }
                }
              }
            },
            "saml_sp_config": {
              "title": "SAMLSPConfig",
              "required": [
                "entity_id",
                "single_signon_url"
              ],
              "type": "object",
              "properties": {
                "cookie_name": {
                  "type": "string",
                  "description": "HTTP cookie name for authenticated session. Field introduced in 18.2.3."
                },
                "cookie_timeout": {
                  "type": "integer",
                  "description": "Cookie timeout in minutes. Allowed values are 1-1440. Field introduced in 18.2.3.",
                    "default": 60
                },
                "entity_id": {
                  "type": "string",
                  "description": "Globally unique SAML entityID for this node. The SAML application entity ID on the IDP should match this. Field introduced in 18.2.3."
                },
                "key": {
                  "type": "array",
                  "items": {
                    "title": "HttpCookiePersistenceKey",
                    "type": "object",
                    "properties": {
                      "aes_key": {
                        "type": "string",
                        "description": "aes_key of HttpCookiePersistenceKey."
                      },
                      "hmac_key": {
                        "type": "string",
                        "description": "hmac_key of HttpCookiePersistenceKey."
                      },
                      "name": {
                        "type": "string",
                        "description": "name to use for cookie encryption."
                      }
                    }
                  },
                  "description": "Key to generate the cookie. Field introduced in 18.2.3."
                },
                "signing_ssl_key_and_certificate_ref": {
                  "type": "string",
                  "description": "SP will use this SSL certificate to sign requests going to the IdP and decrypt the assertions coming from IdP. It is a reference to an object of type SSLKeyAndCertificate. Field introduced in 18.2.3."
                },
                "single_signon_url": {
                  "type": "string",
                  "description": "SAML Single Signon URL to be programmed on the IDP. Field introduced in 18.2.3."
                },
                "sp_metadata": {
                  "type": "string",
                  "description": "SAML SP metadata for this application. Field introduced in 18.2.3."
                },
                "use_idp_session_timeout": {
                  "type": "boolean",
                  "description": "By enabling this field IdP can control how long the SP session can exist through the SessionNotOnOrAfter field in the AuthNStatement of SAML Response. Field introduced in 20.1.1."
                }
              }
            },
            "scaleout_ecmp": {
              "type": "boolean",
              "description": "Disable re-distribution of flows across service engines for a virtual service. Enable if the network itself performs flow hashing with ECMP in environments such as GCP."
            },
            "se_group_ref": {
              "type": "string",
              "description": "The Service Engine Group to use for this Virtual Service. Moving to a new SE Group is disruptive to existing connections for this VS. It is a reference to an object of type ServiceEngineGroup."
            },
            "security_policy_ref": {
              "type": "string",
              "description": "Security policy applied on the traffic of the Virtual Service. This policy is used to perform security actions such as Distributed Denial of Service (DDoS) attack mitigation, etc. It is a reference to an object of type SecurityPolicy. Field introduced in 18.2.1."
            },
            "server_network_profile_ref": {
              "type": "string",
              "description": "Determines the network settings profile for the server side of TCP proxied connections.  Leave blank to use the same settings as the client to VS side of the connection. It is a reference to an object of type NetworkProfile."
            },
            "service_metadata": {
              "type": "string",
              "description": "Metadata pertaining to the Service provided by this virtual service. In Openshift/Kubernetes environments, egress pod info is stored. Any user input to this field will be overwritten by Avi Vantage."
            },
            "service_pool_select": {
              "type": "array",
              "items": {
                "title": "ServicePoolSelector",
                "required": [
                  "service_port"
                ],
                "type": "object",
                "properties": {
                  "service_pool_group_ref": {
                    "type": "string",
                    "description": "It is a reference to an object of type PoolGroup."
                  },
                  "service_pool_ref": {
                    "type": "string",
                    "description": "It is a reference to an object of type Pool."
                  },
                  "service_port": {
                    "type": "integer",
                    "description": "Pool based destination port. Allowed values are 1-65535."
                  },
                  "service_port_range_end": {
                    "type": "integer",
                    "description": "The end of the Service port number range. Allowed values are 1-65535. Special values are 0- 'single port'. Field introduced in 17.2.4."
                  },
                  "service_protocol": {
                    "type": "string",
                    "description": "Destination protocol to match for the pool selection. If not specified, it will match any protocol. Enum options - PROTOCOL_TYPE_TCP_PROXY, PROTOCOL_TYPE_TCP_FAST_PATH, PROTOCOL_TYPE_UDP_FAST_PATH, PROTOCOL_TYPE_UDP_PROXY."
                  }
                }
              },
              "description": "Select pool based on destination port."
            },
            "services": {
              "type": "array",
              "items": {
                "title": "Service",
                "required": [
                  "port"
                ],
                "type": "object",
                "properties": {
                  "enable_http2": {
                    "type": "boolean",
                    "description": "Enable HTTP2 on this port. Field introduced in 20.1.1."
                  },
                  "enable_ssl": {
                    "type": "boolean",
                    "description": "Enable SSL termination and offload for traffic from clients."
                  },
                  "override_application_profile_ref": {
                    "type": "string",
                    "description": "Enable application layer specific features for the this specific service. It is a reference to an object of type ApplicationProfile. Field introduced in 17.2.4."
                  },
                  "override_network_profile_ref": {
                    "type": "string",
                    "description": "Override the network profile for this specific service port. It is a reference to an object of type NetworkProfile."
                  },
                  "port": {
                    "type": "integer",
                    "description": "The Virtual Service's port number. Allowed values are 0-65535."
                  },
                  "port_range_end": {
                    "type": "integer",
                    "description": "The end of the Virtual Service's port number range. Allowed values are 1-65535. Special values are 0- 'single port'."
                  }
                }
              },
              "description": "List of Services defined for this Virtual Service."
            },
            "sideband_profile": {
              "title": "SidebandProfile",
              "type": "object",
              "properties": {
                "ip": {
                  "type": "array",
                  "items": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "description": "IP Address of the sideband server."
                },
                "sideband_max_request_body_size": {
                  "type": "integer",
                  "description": "Maximum size of the request body that will be sent on the sideband. Allowed values are 0-16384.",
                    "default": 1024
                }
              }
            },
            "snat_ip": {
              "type": "array",
              "items": {
                "title": "IpAddr",
                "required": [
                  "addr",
                  "type"
                ],
                "type": "object",
                "properties": {
                  "addr": {
                    "type": "string",
                    "description": "IP address."
                  },
                  "type": {
                    "type": "string",
                    "description": "Enum options - V4, DNS, V6."
                  }
                }
              },
              "description": "NAT'ted floating source IP Address(es) for upstream connection to servers."
            },
            "sp_pool_refs": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "GSLB pools used to manage site-persistence functionality. Each site-persistence pool contains the virtualservices in all the other sites, that is auto-generated by the GSLB manager. This is a read-only field for the user. It is a reference to an object of type Pool. Field introduced in 17.2.2."
            },
            "ssl_key_and_certificate_refs": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Select or create one or two certificates, EC and/or RSA, that will be presented to SSL/TLS terminated connections. It is a reference to an object of type SSLKeyAndCertificate."
            },
            "ssl_profile_ref": {
              "type": "string",
              "description": "Determines the set of SSL versions and ciphers to accept for SSL/TLS terminated connections. It is a reference to an object of type SSLProfile."
            },
            "ssl_profile_selectors": {
              "type": "array",
              "items": {
                "title": "SSLProfileSelector",
                "required": [
                  "client_ip_list",
                  "ssl_profile_ref"
                ],
                "type": "object",
                "properties": {
                  "client_ip_list": {
                    "title": "IpAddrMatch",
                    "required": [
                      "match_criteria"
                    ],
                    "type": "object",
                    "properties": {
                      "addrs": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "description": ""
                        },
                        "description": "IP address(es)."
                      },
                      "group_refs": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "description": "UUID of IP address group(s). It is a reference to an object of type IpAddrGroup."
                      },
                      "match_criteria": {
                        "type": "string",
                        "description": "Criterion to use for IP address matching the HTTP request. Enum options - IS_IN, IS_NOT_IN."
                      },
                      "prefixes": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "description": ""
                        },
                        "description": "IP address prefix(es)."
                      },
                      "ranges": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "description": ""
                        },
                        "description": "IP address range(s)."
                      }
                    }
                  },
                  "ssl_profile_ref": {
                    "type": "string",
                    "description": "SSL profile for the client IP addresses listed. It is a reference to an object of type SSLProfile. Field introduced in 18.2.3."
                  }
                }
              },
              "description": "Select SSL Profile based on client IP address match. Field introduced in 18.2.3."
            },
            "ssl_sess_cache_avg_size": {
              "type": "integer",
              "description": "Expected number of SSL session cache entries (may be exceeded). Allowed values are 1024-16383.",
              "default": 1024
            },
            "sso_policy": {
              "title": "SSOPolicy",
              "required": [
                "authentication_policy",
                "name",
                "type"
              ],
              "type": "object",
              "properties": {
                "_last_modified": {
                  "type": "string",
                  "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
                },
                "authentication_policy": {
                  "title": "AuthenticationPolicy",
                  "required": [
                    "default_auth_profile_ref"
                  ],
                  "type": "object",
                  "properties": {
                    "auth_profile_ref": {
                      "type": "string",
                      "description": "Auth Profile to use for validating users. It is a reference to an object of type AuthProfile. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                    },
                    "authn_rules": {
                      "type": "array",
                      "items": {
                        "title": "AuthenticationRule",
                        "required": [
                          "enable",
                          "index",
                          "name"
                        ],
                        "type": "object",
                        "properties": {
                          "action": {
                            "type": "object",
                            "description": ""
                          },
                          "enable": {
                            "type": "boolean",
                            "description": "Enable or disable the rule. Field introduced in 18.2.5.",
                            "example": true
                          },
                          "index": {
                            "type": "integer",
                            "description": "Index of the rule. Field introduced in 18.2.5."
                          },
                          "match": {
                            "type": "object",
                            "description": ""
                          },
                          "name": {
                            "type": "string",
                            "description": "Name of the rule. Field introduced in 18.2.5."
                          }
                        }
                      },
                      "description": "Add rules to apply auth profile to specific targets. Field introduced in 18.2.5."
                    },
                    "cookie_name": {
                      "type": "string",
                      "description": "HTTP cookie name for authenticated session. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                    },
                    "cookie_timeout": {
                      "type": "integer",
                      "description": "Cookie timeout in minutes. Allowed values are 1-1440. Field deprecated in 18.2.3. Field introduced in 18.2.1.",
                            "default": 60
                    },
                    "default_auth_profile_ref": {
                      "type": "string",
                      "description": "Auth Profile to use for validating users. It is a reference to an object of type AuthProfile. Field introduced in 18.2.3."
                    },
                    "entity_id": {
                      "type": "string",
                      "description": "Globally unique entityID for this node. Entity ID on the IDP should match this. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                    },
                    "key": {
                      "type": "array",
                      "items": {
                        "title": "HttpCookiePersistenceKey",
                        "type": "object",
                        "properties": {
                          "aes_key": {
                            "type": "string",
                            "description": "aes_key of HttpCookiePersistenceKey."
                          },
                          "hmac_key": {
                            "type": "string",
                            "description": "hmac_key of HttpCookiePersistenceKey."
                          },
                          "name": {
                            "type": "string",
                            "description": "name to use for cookie encryption."
                          }
                        }
                      },
                      "description": "Key to generate the cookie. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                    },
                    "single_signon_url": {
                      "type": "string",
                      "description": "Single Signon URL to be programmed on the IDP. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                    },
                    "sp_metadata": {
                      "type": "string",
                      "description": "SAML SP metadata. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                    }
                  }
                },
                "authorization_policy": {
                  "title": "AuthorizationPolicy",
                  "type": "object",
                  "properties": {
                    "authz_rules": {
                      "type": "array",
                      "items": {
                        "title": "AuthorizationRule",
                        "required": [
                          "action",
                          "enable",
                          "index",
                          "match",
                          "name"
                        ],
                        "type": "object",
                        "properties": {
                          "action": {
                            "type": "object",
                            "description": ""
                          },
                          "enable": {
                            "type": "boolean",
                            "description": "Enable or disable the rule. Field introduced in 18.2.5.",
                            "example": true
                          },
                          "index": {
                            "type": "integer",
                            "description": "Index of the Authorization Policy rule. Field introduced in 18.2.5."
                          },
                          "match": {
                            "type": "object",
                            "description": ""
                          },
                          "name": {
                            "type": "string",
                            "description": "Name of the rule. Field introduced in 18.2.5."
                          }
                        }
                      },
                      "description": "Authorization Policy Rules. Field introduced in 18.2.5."
                    }
                  }
                },
                "name": {
                  "type": "string",
                  "description": "Name of the SSO Policy. Field introduced in 18.2.3."
                },
                "tenant_ref": {
                  "type": "string",
                  "description": "UUID of the Tenant. It is a reference to an object of type Tenant. Field introduced in 18.2.3."
                },
                "type": {
                  "type": "string",
                  "description": "SSO Policy Type. Enum options - SSO_TYPE_SAML, SSO_TYPE_PINGACCESS. Field introduced in 18.2.5.",
                  "example": "SSO_TYPE_SAML"
                },
                "url": {
                  "type": "string",
                  "description": "url"
                },
                "uuid": {
                  "type": "string",
                  "description": "UUID of the SSO Policy. Field introduced in 18.2.3."
                }
              }
            },
            "sso_policy_ref": {
              "type": "string",
              "description": "The SSO Policy attached to the virtualservice. It is a reference to an object of type SSOPolicy. Field introduced in 18.2.3."
            },
            "static_dns_records": {
              "type": "array",
              "items": {
                "title": "DnsRecord",
                "required": [
                  "type"
                ],
                "type": "object",
                "properties": {
                  "algorithm": {
                    "type": "string",
                    "description": "Specifies the algorithm to pick the IP address(es) to be returned, when multiple entries are configured. This does not apply if num_records_in_response is 0. Default is round-robin. Enum options - DNS_RECORD_RESPONSE_ROUND_ROBIN, DNS_RECORD_RESPONSE_CONSISTENT_HASH. Field introduced in 17.1.1.",
                    "default": "DNS_RECORD_RESPONSE_ROUND_ROBIN"
                  },
                  "cname": {
                    "title": "DnsCnameRdata",
                    "required": [
                      "cname"
                    ],
                    "type": "object",
                    "properties": {
                      "cname": {
                        "type": "string",
                        "description": "Canonical name."
                      }
                    }
                  },
                  "delegated": {
                    "type": "boolean",
                    "description": "Configured FQDNs are delegated domains (i.e. they represent a zone cut). Field introduced in 17.1.2."
                  },
                  "description": {
                    "type": "string",
                    "description": "Details of DNS record."
                  },
                  "fqdn": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "Fully Qualified Domain Name."
                  },
                  "ip6_address": {
                    "type": "array",
                    "items": {
                      "title": "DnsAAAARdata",
                      "required": [
                        "ip6_address"
                      ],
                      "type": "object",
                      "properties": {
                        "ip6_address": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        }
                      }
                    },
                    "description": "IPv6 address in AAAA record. Field introduced in 18.1.1."
                  },
                  "ip_address": {
                    "type": "array",
                    "items": {
                      "title": "DnsARdata",
                      "required": [
                        "ip_address"
                      ],
                      "type": "object",
                      "properties": {
                        "ip_address": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        }
                      }
                    },
                    "description": "IP address in A record."
                  },
                  "metadata": {
                    "type": "string",
                    "description": "Internal metadata for the DNS record. Field introduced in 18.2.5."
                  },
                  "mx_records": {
                    "type": "array",
                    "items": {
                      "title": "DnsMxRdata",
                      "required": [
                        "host",
                        "priority"
                      ],
                      "type": "object",
                      "properties": {
                        "host": {
                          "type": "string",
                          "description": "Fully qualified domain name of a mailserver . The host name maps directly to one or more address records in the DNS table, and must not point to any CNAME records (RFC 2181). Field introduced in 18.2.9, 20.1.1."
                        },
                        "priority": {
                          "type": "integer",
                          "description": "The priority field identifies which mail server should be preferred. Allowed values are 0-65535. Field introduced in 18.2.9, 20.1.1."
                        }
                      }
                    },
                    "description": "MX record. Field introduced in 18.2.9, 20.1.1."
                  },
                  "ns": {
                    "type": "array",
                    "items": {
                      "title": "DnsNsRdata",
                      "required": [
                        "nsname"
                      ],
                      "type": "object",
                      "properties": {
                        "ip6_address": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "ip_address": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "nsname": {
                          "type": "string",
                          "description": "Name Server name. Field introduced in 17.1.1."
                        }
                      }
                    },
                    "description": "Name Server information in NS record. Field introduced in 17.1.1."
                  },
                  "num_records_in_response": {
                    "type": "integer",
                    "description": "Specifies the number of records returned by the DNS service. Enter 0 to return all records. Default is 0. Allowed values are 0-20. Special values are 0- 'Return all records'. Field introduced in 17.1.1."
                  },
                  "service_locator": {
                    "type": "array",
                    "items": {
                      "title": "DnsSrvRdata",
                      "required": [
                        "port"
                      ],
                      "type": "object",
                      "properties": {
                        "port": {
                          "type": "integer",
                          "description": "Service port. Allowed values are 0-65535."
                        },
                        "priority": {
                          "type": "integer",
                          "description": "Priority of the target hosting the service, low value implies higher priority for this service record. Allowed values are 0-65535."
                        },
                        "target": {
                          "type": "string",
                          "description": "Canonical hostname, of the machine hosting the service, with no trailing period. 'default.host' is valid but not 'default.host.'.",
                          "default": "default.host"
                        },
                        "weight": {
                          "type": "integer",
                          "description": "Relative weight for service records with same priority, high value implies higher preference for this service record. Allowed values are 0-65535."
                        }
                      }
                    },
                    "description": "Service locator info in SRV record."
                  },
                  "ttl": {
                    "type": "integer",
                    "description": "Time To Live for this DNS record."
                  },
                  "txt_records": {
                    "type": "array",
                    "items": {
                      "title": "DnsTxtRdata",
                      "required": [
                        "text_str"
                      ],
                      "type": "object",
                      "properties": {
                        "text_str": {
                          "type": "string",
                          "description": "Text data associated with the FQDN. Field introduced in 18.2.9, 20.1.1."
                        }
                      }
                    },
                    "description": "Text record. Field introduced in 18.2.9, 20.1.1."
                  },
                  "type": {
                    "type": "string",
                    "description": "DNS record type. Enum options - DNS_RECORD_OTHER, DNS_RECORD_A, DNS_RECORD_NS, DNS_RECORD_CNAME, DNS_RECORD_SOA, DNS_RECORD_PTR, DNS_RECORD_HINFO, DNS_RECORD_MX, DNS_RECORD_TXT, DNS_RECORD_RP, DNS_RECORD_DNSKEY, DNS_RECORD_AAAA, DNS_RECORD_SRV, DNS_RECORD_OPT, DNS_RECORD_RRSIG, DNS_RECORD_AXFR, DNS_RECORD_ANY."
                  },
                  "wildcard_match": {
                    "type": "boolean",
                    "description": "Enable wild-card match of fqdn  if an exact match is not found in the DNS table, the longest match is chosen by wild-carding the fqdn in the DNS request. Default is false. Field introduced in 17.1.1."
                  }
                }
              },
              "description": "List of static DNS records applied to this Virtual Service. These are static entries and no health monitoring is performed against the IP addresses."
            },
            "subnet": {
              "title": "IpAddrPrefix",
              "required": [
                "ip_addr",
                "mask"
              ],
              "type": "object",
              "properties": {
                "ip_addr": {
                  "title": "IpAddr",
                  "required": [
                    "addr",
                    "type"
                  ],
                  "type": "object",
                  "properties": {
                    "addr": {
                      "type": "string",
                      "description": "IP address."
                    },
                    "type": {
                      "type": "string",
                      "description": "Enum options - V4, DNS, V6."
                    }
                  }
                },
                "mask": {
                  "type": "integer",
                  "description": "Number of mask."
                }
              }
            },
            "subnet_uuid": {
              "type": "string",
              "description": "It represents subnet for the Virtual Service IP address allocation when auto_allocate_ip is True.It is only applicable in OpenStack or AWS cloud. This field is required if auto_allocate_ip is True. Field deprecated in 17.1.1."
            },
            "tenant_ref": {
              "type": "string",
              "description": "It is a reference to an object of type Tenant."
            },
            "test_se_datastore_level_1_ref": {
              "type": "string",
              "description": "Used for testing SE Datastore Upgrade 2.0 functionality. It is a reference to an object of type TestSeDatastoreLevel1. Field introduced in 18.2.6."
            },
            "topology_policies": {
              "type": "array",
              "items": {
                "title": "DnsPolicies",
                "required": [
                  "dns_policy_ref",
                  "index"
                ],
                "type": "object",
                "properties": {
                  "dns_policy_ref": {
                    "type": "string",
                    "description": "UUID of the dns policy. It is a reference to an object of type DnsPolicy. Field introduced in 17.1.1."
                  },
                  "index": {
                    "type": "integer",
                    "description": "Index of the dns policy. Field introduced in 17.1.1."
                  }
                }
              },
              "description": "Topology Policies applied on the dns traffic of the Virtual Service based onGSLB Topology algorithm. Field introduced in 18.2.3."
            },
            "traffic_clone_profile_ref": {
              "type": "string",
              "description": "Server network or list of servers for cloning traffic. It is a reference to an object of type TrafficCloneProfile. Field introduced in 17.1.1."
            },
            "traffic_enabled": {
              "type": "boolean",
              "description": "Knob to enable the Virtual Service traffic on its assigned service engines. This setting is effective only when the enabled flag is set to True. Field introduced in 17.2.8.",
              "default": true
            },
            "type": {
              "type": "string",
              "description": "Specify if this is a normal Virtual Service, or if it is the parent or child of an SNI-enabled virtual hosted Virtual Service. Enum options - VS_TYPE_NORMAL, VS_TYPE_VH_PARENT, VS_TYPE_VH_CHILD.",
              "default": "VS_TYPE_NORMAL"
            },
            "url": {
              "type": "string",
              "description": "url"
            },
            "use_bridge_ip_as_vip": {
              "type": "boolean",
              "description": "Use Bridge IP as VIP on each Host in Mesos deployments."
            },
            "use_vip_as_snat": {
              "type": "boolean",
              "description": "Use the Virtual IP as the SNAT IP for health monitoring and sending traffic to the backend servers instead of the Service Engine interface IP. The caveat of enabling this option is that the VirtualService cannot be configued in an Active-Active HA mode. DNS based Multi VIP solution has to be used for HA & Non-disruptive Upgrade purposes. Field introduced in 17.1.9,17.2.3."
            },
            "uuid": {
              "type": "string",
              "description": "UUID of the VirtualService."
            },
            "vh_domain_name": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "The exact name requested from the client's SNI-enabled TLS hello domain name field. If this is a match, the parent VS will forward the connection to this child VS."
            },
            "vh_parent_vs_uuid": {
              "type": "string",
              "description": "Specifies the Virtual Service acting as Virtual Hosting (SNI) parent."
            },
            "vip": {
              "type": "array",
              "items": {
                "title": "Vip",
                "required": [
                  "vip_id"
                ],
                "type": "object",
                "properties": {
                  "auto_allocate_floating_ip": {
                    "type": "boolean",
                    "description": "Auto-allocate floating/elastic IP from the Cloud infrastructure. Field introduced in 17.1.1."
                  },
                  "auto_allocate_ip": {
                    "type": "boolean",
                    "description": "Auto-allocate VIP from the provided subnet. Field introduced in 17.1.1."
                  },
                  "auto_allocate_ip_type": {
                    "type": "string",
                    "description": "Specifies whether to auto-allocate only a V4 address, only a V6 address, or one of each type. Enum options - V4_ONLY, V6_ONLY, V4_V6. Field introduced in 18.1.1.",
                    "default": "V4_ONLY"
                  },
                  "availability_zone": {
                    "type": "string",
                    "description": "Availability-zone to place the Virtual Service. Field introduced in 17.1.1."
                  },
                  "avi_allocated_fip": {
                    "type": "boolean",
                    "description": "(internal-use) FIP allocated by Avi in the Cloud infrastructure. Field introduced in 17.1.1."
                  },
                  "avi_allocated_vip": {
                    "type": "boolean",
                    "description": "(internal-use) VIP allocated by Avi in the Cloud infrastructure. Field introduced in 17.1.1."
                  },
                  "discovered_networks": {
                    "type": "array",
                    "items": {
                      "title": "DiscoveredNetwork",
                      "required": [
                        "network_ref"
                      ],
                      "type": "object",
                      "properties": {
                        "network_ref": {
                          "type": "string",
                          "description": "Discovered network for this IP. It is a reference to an object of type Network."
                        },
                        "subnet": {
                          "type": "array",
                          "items": {
                            "title": "IpAddrPrefix",
                            "required": [
                              "ip_addr",
                              "mask"
                            ],
                            "type": "object",
                            "properties": {
                              "ip_addr": {
                                "title": "IpAddr",
                                "required": [
                                  "addr",
                                  "type"
                                ],
                                "type": "object",
                                "properties": {
                                  "addr": {
                                    "type": "string",
                                    "description": "IP address."
                                  },
                                  "type": {
                                    "type": "string",
                                    "description": "Enum options - V4, DNS, V6."
                                  }
                                }
                              },
                              "mask": {
                                "type": "integer",
                                "description": "Number of mask."
                              }
                            }
                          },
                          "description": "Discovered subnet for this IP."
                        },
                        "subnet6": {
                          "type": "array",
                          "items": {
                            "title": "IpAddrPrefix",
                            "required": [
                              "ip_addr",
                              "mask"
                            ],
                            "type": "object",
                            "properties": {
                              "ip_addr": {
                                "title": "IpAddr",
                                "required": [
                                  "addr",
                                  "type"
                                ],
                                "type": "object",
                                "properties": {
                                  "addr": {
                                    "type": "string",
                                    "description": "IP address."
                                  },
                                  "type": {
                                    "type": "string",
                                    "description": "Enum options - V4, DNS, V6."
                                  }
                                }
                              },
                              "mask": {
                                "type": "integer",
                                "description": "Number of mask."
                              }
                            }
                          },
                          "description": "Discovered IPv6 subnet for this IP. Field introduced in 18.1.1."
                        }
                      }
                    },
                    "description": "Discovered networks providing reachability for client facing Vip IP. Field introduced in 17.1.1."
                  },
                  "enabled": {
                    "type": "boolean",
                    "description": "Enable or disable the Vip. Field introduced in 17.1.1.",
                    "default": true
                  },
                  "floating_ip": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "floating_ip6": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "floating_subnet6_uuid": {
                    "type": "string",
                    "description": "If auto_allocate_floating_ip is True and more than one floating-ip subnets exist, then the subnet for the floating IPv6 address allocation. Field introduced in 18.1.1."
                  },
                  "floating_subnet_uuid": {
                    "type": "string",
                    "description": "If auto_allocate_floating_ip is True and more than one floating-ip subnets exist, then the subnet for the floating IP address allocation. Field introduced in 17.1.1."
                  },
                  "ip6_address": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "ip_address": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "ipam_network_subnet": {
                    "title": "IPNetworkSubnet",
                    "type": "object",
                    "properties": {
                      "network_ref": {
                        "type": "string",
                        "description": "Network for VirtualService IP allocation with Vantage as the IPAM provider. Network should be created before this is configured. It is a reference to an object of type Network."
                      },
                      "subnet": {
                        "title": "IpAddrPrefix",
                        "required": [
                          "ip_addr",
                          "mask"
                        ],
                        "type": "object",
                        "properties": {
                          "ip_addr": {
                            "title": "IpAddr",
                            "required": [
                              "addr",
                              "type"
                            ],
                            "type": "object",
                            "properties": {
                              "addr": {
                                "type": "string",
                                "description": "IP address."
                              },
                              "type": {
                                "type": "string",
                                "description": "Enum options - V4, DNS, V6."
                              }
                            }
                          },
                          "mask": {
                            "type": "integer",
                            "description": "Number of mask."
                          }
                        }
                      },
                      "subnet6": {
                        "title": "IpAddrPrefix",
                        "required": [
                          "ip_addr",
                          "mask"
                        ],
                        "type": "object",
                        "properties": {
                          "ip_addr": {
                            "title": "IpAddr",
                            "required": [
                              "addr",
                              "type"
                            ],
                            "type": "object",
                            "properties": {
                              "addr": {
                                "type": "string",
                                "description": "IP address."
                              },
                              "type": {
                                "type": "string",
                                "description": "Enum options - V4, DNS, V6."
                              }
                            }
                          },
                          "mask": {
                            "type": "integer",
                            "description": "Number of mask."
                          }
                        }
                      },
                      "subnet6_uuid": {
                        "type": "string",
                        "description": "Subnet UUID or Name or Prefix for VirtualService IPv6 allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed. Field introduced in 18.1.1."
                      },
                      "subnet_uuid": {
                        "type": "string",
                        "description": "Subnet UUID or Name or Prefix for VirtualService IP allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed."
                      }
                    }
                  },
                  "network_ref": {
                    "type": "string",
                    "description": "Manually override the network on which the Vip is placed. It is a reference to an object of type Network. Field introduced in 17.1.1."
                  },
                  "placement_networks": {
                    "type": "array",
                    "items": {
                      "title": "VipPlacementNetwork",
                      "type": "object",
                      "properties": {
                        "network_ref": {
                          "type": "string",
                          "description": "Network to use for vip placement. It is a reference to an object of type Network. Field introduced in 18.2.5."
                        },
                        "subnet": {
                          "title": "IpAddrPrefix",
                          "required": [
                            "ip_addr",
                            "mask"
                          ],
                          "type": "object",
                          "properties": {
                            "ip_addr": {
                              "title": "IpAddr",
                              "required": [
                                "addr",
                                "type"
                              ],
                              "type": "object",
                              "properties": {
                                "addr": {
                                  "type": "string",
                                  "description": "IP address."
                                },
                                "type": {
                                  "type": "string",
                                  "description": "Enum options - V4, DNS, V6."
                                }
                              }
                            },
                            "mask": {
                              "type": "integer",
                              "description": "Number of mask."
                            }
                          }
                        },
                        "subnet6": {
                          "title": "IpAddrPrefix",
                          "required": [
                            "ip_addr",
                            "mask"
                          ],
                          "type": "object",
                          "properties": {
                            "ip_addr": {
                              "title": "IpAddr",
                              "required": [
                                "addr",
                                "type"
                              ],
                              "type": "object",
                              "properties": {
                                "addr": {
                                  "type": "string",
                                  "description": "IP address."
                                },
                                "type": {
                                  "type": "string",
                                  "description": "Enum options - V4, DNS, V6."
                                }
                              }
                            },
                            "mask": {
                              "type": "integer",
                              "description": "Number of mask."
                            }
                          }
                        }
                      }
                    },
                    "description": "Placement networks/subnets to use for vip placement. Field introduced in 18.2.5."
                  },
                  "port_uuid": {
                    "type": "string",
                    "description": "(internal-use) Network port assigned to the Vip IP address. Field introduced in 17.1.1."
                  },
                  "prefix_length": {
                    "type": "integer",
                    "description": "Mask applied for the Vip, non-default mask supported only for wildcard Vip. Allowed values are 0-32. Field introduced in 20.1.1.",
                        "default": 32
                  },
                  "subnet": {
                    "title": "IpAddrPrefix",
                    "required": [
                      "ip_addr",
                      "mask"
                    ],
                    "type": "object",
                    "properties": {
                      "ip_addr": {
                        "title": "IpAddr",
                        "required": [
                          "addr",
                          "type"
                        ],
                        "type": "object",
                        "properties": {
                          "addr": {
                            "type": "string",
                            "description": "IP address."
                          },
                          "type": {
                            "type": "string",
                            "description": "Enum options - V4, DNS, V6."
                          }
                        }
                      },
                      "mask": {
                        "type": "integer",
                        "description": "Number of mask."
                      }
                    }
                  },
                  "subnet6": {
                    "title": "IpAddrPrefix",
                    "required": [
                      "ip_addr",
                      "mask"
                    ],
                    "type": "object",
                    "properties": {
                      "ip_addr": {
                        "title": "IpAddr",
                        "required": [
                          "addr",
                          "type"
                        ],
                        "type": "object",
                        "properties": {
                          "addr": {
                            "type": "string",
                            "description": "IP address."
                          },
                          "type": {
                            "type": "string",
                            "description": "Enum options - V4, DNS, V6."
                          }
                        }
                      },
                      "mask": {
                        "type": "integer",
                        "description": "Number of mask."
                      }
                    }
                  },
                  "subnet6_uuid": {
                    "type": "string",
                    "description": "If auto_allocate_ip is True, then the subnet for the Vip IPv6 address allocation. This field is applicable only if the VirtualService belongs to an Openstack or AWS cloud, in which case it is mandatory, if auto_allocate is selected. Field introduced in 18.1.1."
                  },
                  "subnet_uuid": {
                    "type": "string",
                    "description": "If auto_allocate_ip is True, then the subnet for the Vip IP address allocation. This field is applicable only if the VirtualService belongs to an Openstack or AWS cloud, in which case it is mandatory, if auto_allocate is selected. Field introduced in 17.1.1."
                  },
                  "vip_id": {
                    "type": "string",
                    "description": "Unique ID associated with the vip. Field introduced in 17.1.1."
                  }
                }
              },
              "description": "List of Virtual Service IPs. While creating a 'Shared VS',please use vsvip_ref to point to the shared entities. Field introduced in 17.1.1."
            },
            "vrf_context_ref": {
              "type": "string",
              "description": "Virtual Routing Context that the Virtual Service is bound to. This is used to provide the isolation of the set of networks the application is attached to. It is a reference to an object of type VrfContext."
            },
            "vs_datascripts": {
              "type": "array",
              "items": {
                "title": "VSDataScripts",
                "required": [
                  "index",
                  "vs_datascript_set_ref"
                ],
                "type": "object",
                "properties": {
                  "index": {
                    "type": "integer",
                    "description": "Index of the virtual service datascript collection."
                  },
                  "vs_datascript_set_ref": {
                    "type": "string",
                    "description": "UUID of the virtual service datascript collection. It is a reference to an object of type VSDataScriptSet."
                  }
                }
              },
              "description": "Datascripts applied on the data traffic of the Virtual Service."
            },
            "vsvip_cloud_config_cksum": {
              "type": "string",
              "description": "Checksum of cloud configuration for VsVip. Internally set by cloud connector. Field introduced in 17.2.9, 18.1.2."
            },
            "vsvip_ref": {
              "type": "string",
              "description": "Mostly used during the creation of Shared VS, this field refers to entities that can be shared across Virtual Services. It is a reference to an object of type VsVip. Field introduced in 17.1.1."
            },
            "waf_policy_ref": {
              "type": "string",
              "description": "WAF policy for the Virtual Service. It is a reference to an object of type WafPolicy. Field introduced in 17.2.1."
            },
            "weight": {
              "type": "integer",
              "description": "The Quality of Service weight to assign to traffic transmitted from this Virtual Service.  A higher weight will prioritize traffic versus other Virtual Services sharing the same Service Engines. Allowed values are 1-128.",
              "default": 1
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualservicePOST"
      },
      "task": true
    },
    {
      "name": "virtualserviceByUuidGET",
      "summary": "VirtualserviceByUuid_GET",
      "description": "VirtualserviceByUuid_GET",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "object name: string",
          "required": false,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "fields",
          "type": "string",
          "info": "List of fields to be returned for the resource. Some fields like name, URL, uuid etc. are always returned.: string",
          "required": false,
          "schema": {
            "title": "fields",
            "type": "string"
          }
        },
        {
          "name": "includeName",
          "type": "boolean",
          "info": "All the Avi REST reference URIs have a name suffix as URI#name. It is useful to get the referenced resource name without performing get on that object.: boolean",
          "required": false,
          "schema": {
            "title": "includeName",
            "type": "boolean"
          }
        },
        {
          "name": "skipDefault",
          "type": "boolean",
          "info": "Default values are not set.: boolean",
          "required": false,
          "schema": {
            "title": "skipDefault",
            "type": "boolean"
          }
        },
        {
          "name": "joinSubresources",
          "type": "string",
          "info": "It automatically returns additional dependent resources like runtime. Eg. join_subresources=runtime.: string",
          "required": false,
          "schema": {
            "title": "joinSubresources",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "VirtualService",
          "required": [
            "name"
          ],
          "type": "object",
          "properties": {
            "_last_modified": {
              "type": "string",
              "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
            },
            "active_standby_se_tag": {
              "type": "string",
              "description": "This configuration only applies if the VirtualService is in Legacy Active Standby HA mode and Load Distribution among Active Standby is enabled. This field is used to tag the VirtualService so that VirtualServices with the same tag will share the same Active ServiceEngine. VirtualServices with different tags will have different Active ServiceEngines. If one of the ServiceEngine's in the ServiceEngineGroup fails, all VirtualServices will end up using the same Active ServiceEngine. Redistribution of the VirtualServices can be either manual or automated when the failed ServiceEngine recovers. Redistribution is based on the auto redistribute property of the ServiceEngineGroup. Enum options - ACTIVE_STANDBY_SE_1, ACTIVE_STANDBY_SE_2.",
              "default": "ACTIVE_STANDBY_SE_1"
            },
            "advertise_down_vs": {
              "type": "boolean",
              "description": "Keep advertising Virtual Service via BGP even if it is marked down by health monitor. This setting takes effect for future Virtual Service flaps. To advertise current VSes that are down, please disable and re-enable the Virtual Service. Field introduced in 20.1.1."
            },
            "allow_invalid_client_cert": {
              "type": "boolean",
              "description": "Process request even if invalid client certificate is presented. Datascript APIs need to be used for processing of such requests. Field introduced in 18.2.3."
            },
            "analytics_policy": {
              "title": "AnalyticsPolicy",
              "type": "object",
              "properties": {
                "all_headers": {
                  "type": "boolean",
                  "description": "Log all headers. Field introduced in 18.1.4, 18.2.1."
                },
                "client_insights": {
                  "type": "string",
                  "description": "Gain insights from sampled client to server HTTP requests and responses. Enum options - NO_INSIGHTS, PASSIVE, ACTIVE.",
                  "default": "NO_INSIGHTS"
                },
                "client_insights_sampling": {
                  "title": "ClientInsightsSampling",
                  "type": "object",
                  "properties": {
                    "client_ip": {
                      "title": "IpAddrMatch",
                      "required": [
                        "match_criteria"
                      ],
                      "type": "object",
                      "properties": {
                        "addrs": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "description": ""
                          },
                          "description": "IP address(es)."
                        },
                        "group_refs": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "UUID of IP address group(s). It is a reference to an object of type IpAddrGroup."
                        },
                        "match_criteria": {
                          "type": "string",
                          "description": "Criterion to use for IP address matching the HTTP request. Enum options - IS_IN, IS_NOT_IN."
                        },
                        "prefixes": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "description": ""
                          },
                          "description": "IP address prefix(es)."
                        },
                        "ranges": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "description": ""
                          },
                          "description": "IP address range(s)."
                        }
                      }
                    },
                    "sample_uris": {
                      "title": "StringMatch",
                      "required": [
                        "match_criteria"
                      ],
                      "type": "object",
                      "properties": {
                        "match_criteria": {
                          "type": "string",
                          "description": "Criterion to use for string matching the HTTP request. Enum options - BEGINS_WITH, DOES_NOT_BEGIN_WITH, CONTAINS, DOES_NOT_CONTAIN, ENDS_WITH, DOES_NOT_END_WITH, EQUALS, DOES_NOT_EQUAL, REGEX_MATCH, REGEX_DOES_NOT_MATCH."
                        },
                        "match_str": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "String value(s)."
                        },
                        "string_group_refs": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "UUID of the string group(s). It is a reference to an object of type StringGroup."
                        }
                      }
                    },
                    "skip_uris": {
                      "title": "StringMatch",
                      "required": [
                        "match_criteria"
                      ],
                      "type": "object",
                      "properties": {
                        "match_criteria": {
                          "type": "string",
                          "description": "Criterion to use for string matching the HTTP request. Enum options - BEGINS_WITH, DOES_NOT_BEGIN_WITH, CONTAINS, DOES_NOT_CONTAIN, ENDS_WITH, DOES_NOT_END_WITH, EQUALS, DOES_NOT_EQUAL, REGEX_MATCH, REGEX_DOES_NOT_MATCH."
                        },
                        "match_str": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "String value(s)."
                        },
                        "string_group_refs": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "UUID of the string group(s). It is a reference to an object of type StringGroup."
                        }
                      }
                    }
                  }
                },
                "client_log_filters": {
                  "type": "array",
                  "items": {
                    "title": "ClientLogFilter",
                    "required": [
                      "enabled",
                      "index",
                      "name"
                    ],
                    "type": "object",
                    "properties": {
                      "all_headers": {
                        "type": "boolean",
                        "description": "Placeholder for description of property all_headers of obj type ClientLogFilter field type str  type boolean"
                      },
                      "client_ip": {
                        "title": "IpAddrMatch",
                        "required": [
                          "match_criteria"
                        ],
                        "type": "object",
                        "properties": {
                          "addrs": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "description": ""
                            },
                            "description": "IP address(es)."
                          },
                          "group_refs": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": "UUID of IP address group(s). It is a reference to an object of type IpAddrGroup."
                          },
                          "match_criteria": {
                            "type": "string",
                            "description": "Criterion to use for IP address matching the HTTP request. Enum options - IS_IN, IS_NOT_IN."
                          },
                          "prefixes": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "description": ""
                            },
                            "description": "IP address prefix(es)."
                          },
                          "ranges": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "description": ""
                            },
                            "description": "IP address range(s)."
                          }
                        }
                      },
                      "duration": {
                        "type": "integer",
                        "description": "Special values are 0 - 'infinite'.",
                                "default": 30
                      },
                      "enabled": {
                        "type": "boolean",
                        "description": "Placeholder for description of property enabled of obj type ClientLogFilter field type str  type boolean"
                      },
                      "index": {
                        "type": "integer",
                        "description": "Number of index."
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the object."
                      },
                      "uri": {
                        "title": "StringMatch",
                        "required": [
                          "match_criteria"
                        ],
                        "type": "object",
                        "properties": {
                          "match_criteria": {
                            "type": "string",
                            "description": "Criterion to use for string matching the HTTP request. Enum options - BEGINS_WITH, DOES_NOT_BEGIN_WITH, CONTAINS, DOES_NOT_CONTAIN, ENDS_WITH, DOES_NOT_END_WITH, EQUALS, DOES_NOT_EQUAL, REGEX_MATCH, REGEX_DOES_NOT_MATCH."
                          },
                          "match_str": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": "String value(s)."
                          },
                          "string_group_refs": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": "UUID of the string group(s). It is a reference to an object of type StringGroup."
                          }
                        }
                      }
                    }
                  },
                  "description": "Placeholder for description of property client_log_filters of obj type AnalyticsPolicy field type str  type object"
                },
                "enabled": {
                  "type": "boolean",
                  "description": "[DEPRECATED] Disable Analytics on this VirtualService. This will disable the collection of both metrics and logs. Please use following fields in AnalytcsProfile to control this behavior instead. disable_vs_analytics (for VirtualServices metrics), disable_server_analytics (for Pool metrics) and client_log_config (for logs). Field deprecated in 18.2.1. Field introduced in 17.2.4."
                },
                "full_client_logs": {
                  "title": "FullClientLogs",
                  "required": [
                    "enabled"
                  ],
                  "type": "object",
                  "properties": {
                    "all_headers": {
                      "type": "boolean",
                      "description": "[DEPRECATED] Log all headers. Please use the all_headers flag in AnalyticsPolicy. Field deprecated in 18.1.4, 18.2.1."
                    },
                    "duration": {
                      "type": "integer",
                      "description": "How long should the system capture all logs, measured in minutes. Set to 0 for infinite. Special values are 0 - 'infinite'.",
                            "default": 30
                    },
                    "enabled": {
                      "type": "boolean",
                      "description": "Capture all client logs including connections and requests.  When disabled, only errors will be logged."
                    },
                    "throttle": {
                      "type": "integer",
                      "description": "This setting limits the number of non-significant logs generated per second for this VS on each SE. Default is 10 logs per second. Set it to zero (0) to disable throttling. Field introduced in 17.1.3.",
                            "default": 10
                    }
                  }
                },
                "metrics_realtime_update": {
                  "title": "MetricsRealTimeUpdate",
                  "required": [
                    "enabled"
                  ],
                  "type": "object",
                  "properties": {
                    "duration": {
                      "type": "integer",
                      "description": "Real time metrics collection duration in minutes. 0 for infinite. Special values are 0 - 'infinite'.",
                            "default": 30
                    },
                    "enabled": {
                      "type": "boolean",
                      "description": "Enables real time metrics collection.  When disabled, 6 hour view is the most granular the system will track."
                    }
                  }
                },
                "significant_log_throttle": {
                  "type": "integer",
                  "description": "This setting limits the number of significant logs generated per second for this VS on each SE. Default is 10 logs per second. Set it to zero (0) to disable throttling. Field introduced in 17.1.3.",
                    "default": 10
                },
                "udf_log_throttle": {
                  "type": "integer",
                  "description": "This setting limits the total number of UDF logs generated per second for this VS on each SE. UDF logs are generated due to the configured client log filters or the rules with logging enabled. Default is 10 logs per second. Set it to zero (0) to disable throttling. Field introduced in 17.1.3.",
                    "default": 10
                }
              }
            },
            "analytics_profile_ref": {
              "type": "string",
              "description": "Specifies settings related to analytics. It is a reference to an object of type AnalyticsProfile."
            },
            "apic_contract_graph": {
              "type": "string",
              "description": "The name of the Contract/Graph associated with the Virtual Service. Should be in the <Contract name> <Graph name> format. This is applicable only for Service Integration mode with Cisco APIC Controller . Field introduced in 17.2.12,18.1.2."
            },
            "application_profile_ref": {
              "type": "string",
              "description": "Enable application layer specific features for the Virtual Service. It is a reference to an object of type ApplicationProfile."
            },
            "auto_allocate_floating_ip": {
              "type": "boolean",
              "description": "Auto-allocate floating/elastic IP from the Cloud infrastructure. Field deprecated in 17.1.1."
            },
            "auto_allocate_ip": {
              "type": "boolean",
              "description": "Auto-allocate VIP from the provided subnet. Field deprecated in 17.1.1."
            },
            "availability_zone": {
              "type": "string",
              "description": "Availability-zone to place the Virtual Service. Field deprecated in 17.1.1."
            },
            "avi_allocated_fip": {
              "type": "boolean",
              "description": "(internal-use) FIP allocated by Avi in the Cloud infrastructure. Field deprecated in 17.1.1."
            },
            "avi_allocated_vip": {
              "type": "boolean",
              "description": "(internal-use) VIP allocated by Avi in the Cloud infrastructure. Field deprecated in 17.1.1."
            },
            "azure_availability_set": {
              "type": "string",
              "description": "(internal-use)Applicable for Azure only. Azure Availability set to which this VS is associated. Internally set by the cloud connector. Field introduced in 17.2.12, 18.1.2."
            },
            "bulk_sync_kvcache": {
              "type": "boolean",
              "description": "(This is a beta feature). Sync Key-Value cache to the new SEs when VS is scaled out. For ex  SSL sessions are stored using VS's Key-Value cache. When the VS is scaled out, the SSL session information is synced to the new SE, allowing existing SSL sessions to be reused on the new SE. . Field introduced in 17.2.7, 18.1.1."
            },
            "client_auth": {
              "title": "HTTPClientAuthenticationParams",
              "type": "object",
              "properties": {
                "auth_profile_ref": {
                  "type": "string",
                  "description": "Auth Profile to use for validating users. It is a reference to an object of type AuthProfile."
                },
                "realm": {
                  "type": "string",
                  "description": "Basic authentication realm to present to a user along with the prompt for credentials."
                },
                "request_uri_path": {
                  "title": "StringMatch",
                  "required": [
                    "match_criteria"
                  ],
                  "type": "object",
                  "properties": {
                    "match_criteria": {
                      "type": "string",
                      "description": "Criterion to use for string matching the HTTP request. Enum options - BEGINS_WITH, DOES_NOT_BEGIN_WITH, CONTAINS, DOES_NOT_CONTAIN, ENDS_WITH, DOES_NOT_END_WITH, EQUALS, DOES_NOT_EQUAL, REGEX_MATCH, REGEX_DOES_NOT_MATCH."
                    },
                    "match_str": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "String value(s)."
                    },
                    "string_group_refs": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "UUID of the string group(s). It is a reference to an object of type StringGroup."
                    }
                  }
                },
                "type": {
                  "type": "string",
                  "description": "type of client authentication. Enum options - HTTP_BASIC_AUTH."
                }
              }
            },
            "close_client_conn_on_config_update": {
              "type": "boolean",
              "description": "close client connection on vs config update. Field introduced in 17.2.4."
            },
            "cloud_config_cksum": {
              "type": "string",
              "description": "Checksum of cloud configuration for VS. Internally set by cloud connector."
            },
            "cloud_ref": {
              "type": "string",
              "description": "It is a reference to an object of type Cloud."
            },
            "cloud_type": {
              "type": "string",
              "description": "Enum options - CLOUD_NONE, CLOUD_VCENTER, CLOUD_OPENSTACK, CLOUD_AWS, CLOUD_VCA, CLOUD_APIC, CLOUD_MESOS, CLOUD_LINUXSERVER, CLOUD_DOCKER_UCP, CLOUD_RANCHER, CLOUD_OSHIFT_K8S, CLOUD_AZURE, CLOUD_GCP, CLOUD_NSXT.",
              "default": "CLOUD_NONE"
            },
            "connections_rate_limit": {
              "title": "RateProfile",
              "required": [
                "action"
              ],
              "type": "object",
              "properties": {
                "action": {
                  "title": "RateLimiterAction",
                  "type": "object",
                  "properties": {
                    "file": {
                      "title": "HTTPLocalFile",
                      "required": [
                        "content_type",
                        "file_content"
                      ],
                      "type": "object",
                      "properties": {
                        "content_type": {
                          "type": "string",
                          "description": "Mime-type of the content in the file."
                        },
                        "file_content": {
                          "type": "string",
                          "description": "File content to used in the local HTTP response body."
                        }
                      }
                    },
                    "redirect": {
                      "title": "HTTPRedirectAction",
                      "required": [
                        "protocol"
                      ],
                      "type": "object",
                      "properties": {
                        "host": {
                          "type": "object",
                          "description": ""
                        },
                        "keep_query": {
                          "type": "boolean",
                          "description": "Keep or drop the query of the incoming request URI in the redirected URI.",
                          "default": true
                        },
                        "path": {
                          "type": "object",
                          "description": ""
                        },
                        "port": {
                          "type": "integer",
                          "description": "Port to which redirect the request. Allowed values are 1-65535."
                        },
                        "protocol": {
                          "type": "string",
                          "description": "Protocol type. Enum options - HTTP, HTTPS."
                        },
                        "status_code": {
                          "type": "string",
                          "description": "HTTP redirect status code. Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307.",
                          "default": "HTTP_REDIRECT_STATUS_CODE_302"
                        }
                      }
                    },
                    "status_code": {
                      "type": "string",
                      "description": "HTTP status code for Local Response rate limit action. Enum options - HTTP_LOCAL_RESPONSE_STATUS_CODE_200, HTTP_LOCAL_RESPONSE_STATUS_CODE_204, HTTP_LOCAL_RESPONSE_STATUS_CODE_403, HTTP_LOCAL_RESPONSE_STATUS_CODE_404, HTTP_LOCAL_RESPONSE_STATUS_CODE_429, HTTP_LOCAL_RESPONSE_STATUS_CODE_501.",
                      "default": "HTTP_LOCAL_RESPONSE_STATUS_CODE_429"
                    },
                    "type": {
                      "type": "string",
                      "description": "Type of action to be enforced upon hitting the rate limit. Enum options - RL_ACTION_NONE, RL_ACTION_DROP_CONN, RL_ACTION_RESET_CONN, RL_ACTION_CLOSE_CONN, RL_ACTION_LOCAL_RSP, RL_ACTION_REDIRECT.",
                      "default": "RL_ACTION_NONE"
                    }
                  }
                },
                "burst_sz": {
                  "type": "integer",
                  "description": "Maximum number of connections or requests or packets to be let through instantaneously. Allowed values are 10-2500. Special values are 0- 'automatic'. Field deprecated in 18.2.9."
                },
                "count": {
                  "type": "integer",
                  "description": "Maximum number of connections or requests or packets. Allowed values are 1-1000000000. Special values are 0- 'unlimited'. Field deprecated in 18.2.9."
                },
                "explicit_tracking": {
                  "type": "boolean",
                  "description": "Explicitly tracks an attacker across rate periods."
                },
                "fine_grain": {
                  "type": "boolean",
                  "description": "Enable fine granularity."
                },
                "http_cookie": {
                  "type": "string",
                  "description": "HTTP cookie name. Field introduced in 17.1.1."
                },
                "http_header": {
                  "type": "string",
                  "description": "HTTP header name. Field introduced in 17.1.1."
                },
                "period": {
                  "type": "integer",
                  "description": "Time value in seconds to enforce rate count. Allowed values are 1-300. Field deprecated in 18.2.9."
                },
                "rate_limiter": {
                  "title": "RateLimiter",
                  "required": [
                    "count",
                    "period"
                  ],
                  "type": "object",
                  "properties": {
                    "burst_sz": {
                      "type": "integer",
                      "description": "Maximum number of connections, requests or packets to be let through instantaneously.  If this is less than count, it will have no effect. Allowed values are 0-1000000000. Field introduced in 18.2.9."
                    },
                    "count": {
                      "type": "integer",
                      "description": "Maximum number of connections, requests or packets permitted each period. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                            "example": 1000000000
                    },
                    "name": {
                      "type": "string",
                      "description": "Identifier for Rate Limit. Constructed according to context. Field introduced in 18.2.9."
                    },
                    "period": {
                      "type": "integer",
                      "description": "Time value in seconds to enforce rate count. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                            "example": 1
                    }
                  }
                }
              }
            },
            "content_rewrite": {
              "title": "ContentRewriteProfile",
              "type": "object",
              "properties": {
                "req_match_replace_pair": {
                  "type": "array",
                  "items": {
                    "title": "MatchReplacePair",
                    "required": [
                      "match_string"
                    ],
                    "type": "object",
                    "properties": {
                      "match_string": {
                        "type": "string",
                        "description": "String to be matched."
                      },
                      "replacement_string": {
                        "title": "ReplaceStringVar",
                        "type": "object",
                        "properties": {
                          "type": {
                            "type": "string",
                            "description": "Type of replacement string - can be a variable exposed from datascript, value of an HTTP header or a custom user-input literal string. Enum options - DATASCRIPT_VAR, HTTP_HEADER_VAR, LITERAL_STRING."
                          },
                          "val": {
                            "type": "string",
                            "description": "Value of the replacement string - name of variable exposed from datascript, name of the HTTP header or a custom user-input literal string."
                          }
                        }
                      }
                    }
                  },
                  "description": "Strings to be matched and replaced with on the request body."
                },
                "request_rewrite_enabled": {
                  "type": "boolean",
                  "description": "Enable rewrite on request body."
                },
                "response_rewrite_enabled": {
                  "type": "boolean",
                  "description": "Enable rewrite on response body."
                },
                "rewritable_content_ref": {
                  "type": "string",
                  "description": "Rewrite only content types listed in this string group. Content types not present in this list are not rewritten. It is a reference to an object of type StringGroup."
                },
                "rsp_match_replace_pair": {
                  "type": "array",
                  "items": {
                    "title": "MatchReplacePair",
                    "required": [
                      "match_string"
                    ],
                    "type": "object",
                    "properties": {
                      "match_string": {
                        "type": "string",
                        "description": "String to be matched."
                      },
                      "replacement_string": {
                        "title": "ReplaceStringVar",
                        "type": "object",
                        "properties": {
                          "type": {
                            "type": "string",
                            "description": "Type of replacement string - can be a variable exposed from datascript, value of an HTTP header or a custom user-input literal string. Enum options - DATASCRIPT_VAR, HTTP_HEADER_VAR, LITERAL_STRING."
                          },
                          "val": {
                            "type": "string",
                            "description": "Value of the replacement string - name of variable exposed from datascript, name of the HTTP header or a custom user-input literal string."
                          }
                        }
                      }
                    }
                  },
                  "description": "Strings to be matched and replaced with on the response body."
                }
              }
            },
            "created_by": {
              "type": "string",
              "description": "Creator name."
            },
            "delay_fairness": {
              "type": "boolean",
              "description": "Select the algorithm for QoS fairness.  This determines how multiple Virtual Services sharing the same Service Engines will prioritize traffic over a congested network."
            },
            "description": {
              "type": "string",
              "description": "User defined description for the object."
            },
            "discovered_network_ref": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "(internal-use) Discovered networks providing reachability for client facing Virtual Service IP. This field is deprecated. It is a reference to an object of type Network. Field deprecated in 17.1.1."
            },
            "discovered_networks": {
              "type": "array",
              "items": {
                "title": "DiscoveredNetwork",
                "required": [
                  "network_ref"
                ],
                "type": "object",
                "properties": {
                  "network_ref": {
                    "type": "string",
                    "description": "Discovered network for this IP. It is a reference to an object of type Network."
                  },
                  "subnet": {
                    "type": "array",
                    "items": {
                      "title": "IpAddrPrefix",
                      "required": [
                        "ip_addr",
                        "mask"
                      ],
                      "type": "object",
                      "properties": {
                        "ip_addr": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "mask": {
                          "type": "integer",
                          "description": "Number of mask."
                        }
                      }
                    },
                    "description": "Discovered subnet for this IP."
                  },
                  "subnet6": {
                    "type": "array",
                    "items": {
                      "title": "IpAddrPrefix",
                      "required": [
                        "ip_addr",
                        "mask"
                      ],
                      "type": "object",
                      "properties": {
                        "ip_addr": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "mask": {
                          "type": "integer",
                          "description": "Number of mask."
                        }
                      }
                    },
                    "description": "Discovered IPv6 subnet for this IP. Field introduced in 18.1.1."
                  }
                }
              },
              "description": "(internal-use) Discovered networks providing reachability for client facing Virtual Service IP. This field is used internally by Avi, not editable by the user. Field deprecated in 17.1.1."
            },
            "discovered_subnet": {
              "type": "array",
              "items": {
                "title": "IpAddrPrefix",
                "required": [
                  "ip_addr",
                  "mask"
                ],
                "type": "object",
                "properties": {
                  "ip_addr": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "mask": {
                    "type": "integer",
                    "description": "Number of mask."
                  }
                }
              },
              "description": "(internal-use) Discovered subnets providing reachability for client facing Virtual Service IP. This field is deprecated. Field deprecated in 17.1.1."
            },
            "dns_info": {
              "type": "array",
              "items": {
                "title": "DnsInfo",
                "type": "object",
                "properties": {
                  "algorithm": {
                    "type": "string",
                    "description": "Specifies the algorithm to pick the IP address(es) to be returned, when multiple entries are configured. This does not apply if num_records_in_response is 0. Default is consistent hash. Enum options - DNS_RECORD_RESPONSE_ROUND_ROBIN, DNS_RECORD_RESPONSE_CONSISTENT_HASH. Field introduced in 17.1.1.",
                    "default": "DNS_RECORD_RESPONSE_CONSISTENT_HASH"
                  },
                  "cname": {
                    "title": "DnsCnameRdata",
                    "required": [
                      "cname"
                    ],
                    "type": "object",
                    "properties": {
                      "cname": {
                        "type": "string",
                        "description": "Canonical name."
                      }
                    }
                  },
                  "fqdn": {
                    "type": "string",
                    "description": "Fully qualified domain name."
                  },
                  "metadata": {
                    "type": "string",
                    "description": "Any metadata associated with this record. Field introduced in 17.2.2."
                  },
                  "num_records_in_response": {
                    "type": "integer",
                    "description": "Specifies the number of records returned for this FQDN. Enter 0 to return all records. Default is 0. Allowed values are 0-20. Special values are 0- 'Return all records'. Field introduced in 17.1.1.",
                        "default": 1
                  },
                  "ttl": {
                    "type": "integer",
                    "description": "Time to live for fqdn record. Default value is chosen from DNS profile for this cloud if no value provided."
                  },
                  "type": {
                    "type": "string",
                    "description": "DNS record type. Enum options - DNS_RECORD_OTHER, DNS_RECORD_A, DNS_RECORD_NS, DNS_RECORD_CNAME, DNS_RECORD_SOA, DNS_RECORD_PTR, DNS_RECORD_HINFO, DNS_RECORD_MX, DNS_RECORD_TXT, DNS_RECORD_RP, DNS_RECORD_DNSKEY, DNS_RECORD_AAAA, DNS_RECORD_SRV, DNS_RECORD_OPT, DNS_RECORD_RRSIG, DNS_RECORD_AXFR, DNS_RECORD_ANY.",
                    "default": "DNS_RECORD_A"
                  }
                }
              },
              "description": "Service discovery specific data including fully qualified domain name, type and Time-To-Live of the DNS record. Note that only one of fqdn and dns_info setting is allowed."
            },
            "dns_policies": {
              "type": "array",
              "items": {
                "title": "DnsPolicies",
                "required": [
                  "dns_policy_ref",
                  "index"
                ],
                "type": "object",
                "properties": {
                  "dns_policy_ref": {
                    "type": "string",
                    "description": "UUID of the dns policy. It is a reference to an object of type DnsPolicy. Field introduced in 17.1.1."
                  },
                  "index": {
                    "type": "integer",
                    "description": "Index of the dns policy. Field introduced in 17.1.1."
                  }
                }
              },
              "description": "DNS Policies applied on the dns traffic of the Virtual Service. Field introduced in 17.1.1."
            },
            "east_west_placement": {
              "type": "boolean",
              "description": "Force placement on all SE's in service group (Mesos mode only)."
            },
            "enable_autogw": {
              "type": "boolean",
              "description": "Response traffic to clients will be sent back to the source MAC address of the connection, rather than statically sent to a default gateway.",
              "default": true
            },
            "enable_rhi": {
              "type": "boolean",
              "description": "Enable Route Health Injection using the BGP Config in the vrf context."
            },
            "enable_rhi_snat": {
              "type": "boolean",
              "description": "Enable Route Health Injection for Source NAT'ted floating IP Address using the BGP Config in the vrf context."
            },
            "enabled": {
              "type": "boolean",
              "description": "Enable or disable the Virtual Service.",
              "default": true
            },
            "error_page_profile_ref": {
              "type": "string",
              "description": "Error Page Profile to be used for this virtualservice.This profile is used to send the custom error page to the client generated by the proxy. It is a reference to an object of type ErrorPageProfile. Field introduced in 17.2.4."
            },
            "floating_ip": {
              "title": "IpAddr",
              "required": [
                "addr",
                "type"
              ],
              "type": "object",
              "properties": {
                "addr": {
                  "type": "string",
                  "description": "IP address."
                },
                "type": {
                  "type": "string",
                  "description": "Enum options - V4, DNS, V6."
                }
              }
            },
            "floating_subnet_uuid": {
              "type": "string",
              "description": "If auto_allocate_floating_ip is True and more than one floating-ip subnets exist, then the subnet for the floating IP address allocation. This field is applicable only if the VirtualService belongs to an OpenStack or AWS cloud. In OpenStack or AWS cloud it is required when auto_allocate_floating_ip is selected. Field deprecated in 17.1.1."
            },
            "flow_dist": {
              "type": "string",
              "description": "Criteria for flow distribution among SEs. Enum options - LOAD_AWARE, CONSISTENT_HASH_SOURCE_IP_ADDRESS, CONSISTENT_HASH_SOURCE_IP_ADDRESS_AND_PORT.",
              "default": "LOAD_AWARE"
            },
            "flow_label_type": {
              "type": "string",
              "description": "Criteria for flow labelling. Enum options - NO_LABEL, APPLICATION_LABEL, SERVICE_LABEL.",
              "default": "NO_LABEL"
            },
            "fqdn": {
              "type": "string",
              "description": "DNS resolvable, fully qualified domain name of the virtualservice. Only one of 'fqdn' and 'dns_info' configuration is allowed."
            },
            "host_name_xlate": {
              "type": "string",
              "description": "Translate the host name sent to the servers to this value.  Translate the host name sent from servers back to the value used by the client."
            },
            "http_policies": {
              "type": "array",
              "items": {
                "title": "HTTPPolicies",
                "required": [
                  "http_policy_set_ref",
                  "index"
                ],
                "type": "object",
                "properties": {
                  "http_policy_set_ref": {
                    "type": "string",
                    "description": "UUID of the virtual service HTTP policy collection. It is a reference to an object of type HTTPPolicySet."
                  },
                  "index": {
                    "type": "integer",
                    "description": "Index of the virtual service HTTP policy collection."
                  }
                }
              },
              "description": "HTTP Policies applied on the data traffic of the Virtual Service."
            },
            "icap_request_profile_refs": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "The config settings for the ICAP server when checking the HTTP request. It is a reference to an object of type IcapProfile. Field introduced in 20.1.1."
            },
            "ign_pool_net_reach": {
              "type": "boolean",
              "description": "Ignore Pool servers network reachability constraints for Virtual Service placement."
            },
            "ip_address": {
              "title": "IpAddr",
              "required": [
                "addr",
                "type"
              ],
              "type": "object",
              "properties": {
                "addr": {
                  "type": "string",
                  "description": "IP address."
                },
                "type": {
                  "type": "string",
                  "description": "Enum options - V4, DNS, V6."
                }
              }
            },
            "ipam_network_subnet": {
              "title": "IPNetworkSubnet",
              "type": "object",
              "properties": {
                "network_ref": {
                  "type": "string",
                  "description": "Network for VirtualService IP allocation with Vantage as the IPAM provider. Network should be created before this is configured. It is a reference to an object of type Network."
                },
                "subnet": {
                  "title": "IpAddrPrefix",
                  "required": [
                    "ip_addr",
                    "mask"
                  ],
                  "type": "object",
                  "properties": {
                    "ip_addr": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "mask": {
                      "type": "integer",
                      "description": "Number of mask."
                    }
                  }
                },
                "subnet6": {
                  "title": "IpAddrPrefix",
                  "required": [
                    "ip_addr",
                    "mask"
                  ],
                  "type": "object",
                  "properties": {
                    "ip_addr": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "mask": {
                      "type": "integer",
                      "description": "Number of mask."
                    }
                  }
                },
                "subnet6_uuid": {
                  "type": "string",
                  "description": "Subnet UUID or Name or Prefix for VirtualService IPv6 allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed. Field introduced in 18.1.1."
                },
                "subnet_uuid": {
                  "type": "string",
                  "description": "Subnet UUID or Name or Prefix for VirtualService IP allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed."
                }
              }
            },
            "l4_policies": {
              "type": "array",
              "items": {
                "title": "L4Policies",
                "required": [
                  "index",
                  "l4_policy_set_ref"
                ],
                "type": "object",
                "properties": {
                  "index": {
                    "type": "integer",
                    "description": "Index of the virtual service L4 policy set. Field introduced in 17.2.7."
                  },
                  "l4_policy_set_ref": {
                    "type": "string",
                    "description": "ID of the virtual service L4 policy set. It is a reference to an object of type L4PolicySet. Field introduced in 17.2.7."
                  }
                }
              },
              "description": "L4 Policies applied to the data traffic of the Virtual Service. Field introduced in 17.2.7."
            },
            "limit_doser": {
              "type": "boolean",
              "description": "Limit potential DoS attackers who exceed max_cps_per_client significantly to a fraction of max_cps_per_client for a while."
            },
            "max_cps_per_client": {
              "type": "integer",
              "description": "Maximum connections per second per client IP. Allowed values are 10-1000. Special values are 0- 'unlimited'."
            },
            "microservice_ref": {
              "type": "string",
              "description": "Microservice representing the virtual service. It is a reference to an object of type MicroService."
            },
            "min_pools_up": {
              "type": "integer",
              "description": "Minimum number of UP pools to mark VS up. Field introduced in 18.2.1, 17.2.12."
            },
            "name": {
              "type": "string",
              "description": "Name for the Virtual Service."
            },
            "network_profile_ref": {
              "type": "string",
              "description": "Determines network settings such as protocol, TCP or UDP, and related options for the protocol. It is a reference to an object of type NetworkProfile."
            },
            "network_ref": {
              "type": "string",
              "description": "Manually override the network on which the Virtual Service is placed. It is a reference to an object of type Network. Field deprecated in 17.1.1."
            },
            "network_security_policy_ref": {
              "type": "string",
              "description": "Network security policies for the Virtual Service. It is a reference to an object of type NetworkSecurityPolicy."
            },
            "nsx_securitygroup": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "A list of NSX Service Groups representing the Clients which can access the Virtual IP of the Virtual Service. Field introduced in 17.1.1."
            },
            "performance_limits": {
              "title": "PerformanceLimits",
              "type": "object",
              "properties": {
                "max_concurrent_connections": {
                  "type": "integer",
                  "description": "The maximum number of concurrent client conections allowed to the Virtual Service."
                },
                "max_throughput": {
                  "type": "integer",
                  "description": "The maximum throughput per second for all clients allowed through the client side of the Virtual Service."
                }
              }
            },
            "pool_group_ref": {
              "type": "string",
              "description": "The pool group is an object that contains pools. It is a reference to an object of type PoolGroup."
            },
            "pool_ref": {
              "type": "string",
              "description": "The pool is an object that contains destination servers and related attributes such as load-balancing and persistence. It is a reference to an object of type Pool."
            },
            "port_uuid": {
              "type": "string",
              "description": "(internal-use) Network port assigned to the Virtual Service IP address. Field deprecated in 17.1.1."
            },
            "remove_listening_port_on_vs_down": {
              "type": "boolean",
              "description": "Remove listening port if VirtualService is down."
            },
            "requests_rate_limit": {
              "title": "RateProfile",
              "required": [
                "action"
              ],
              "type": "object",
              "properties": {
                "action": {
                  "title": "RateLimiterAction",
                  "type": "object",
                  "properties": {
                    "file": {
                      "title": "HTTPLocalFile",
                      "required": [
                        "content_type",
                        "file_content"
                      ],
                      "type": "object",
                      "properties": {
                        "content_type": {
                          "type": "string",
                          "description": "Mime-type of the content in the file."
                        },
                        "file_content": {
                          "type": "string",
                          "description": "File content to used in the local HTTP response body."
                        }
                      }
                    },
                    "redirect": {
                      "title": "HTTPRedirectAction",
                      "required": [
                        "protocol"
                      ],
                      "type": "object",
                      "properties": {
                        "host": {
                          "type": "object",
                          "description": ""
                        },
                        "keep_query": {
                          "type": "boolean",
                          "description": "Keep or drop the query of the incoming request URI in the redirected URI.",
                          "default": true
                        },
                        "path": {
                          "type": "object",
                          "description": ""
                        },
                        "port": {
                          "type": "integer",
                          "description": "Port to which redirect the request. Allowed values are 1-65535."
                        },
                        "protocol": {
                          "type": "string",
                          "description": "Protocol type. Enum options - HTTP, HTTPS."
                        },
                        "status_code": {
                          "type": "string",
                          "description": "HTTP redirect status code. Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307.",
                          "default": "HTTP_REDIRECT_STATUS_CODE_302"
                        }
                      }
                    },
                    "status_code": {
                      "type": "string",
                      "description": "HTTP status code for Local Response rate limit action. Enum options - HTTP_LOCAL_RESPONSE_STATUS_CODE_200, HTTP_LOCAL_RESPONSE_STATUS_CODE_204, HTTP_LOCAL_RESPONSE_STATUS_CODE_403, HTTP_LOCAL_RESPONSE_STATUS_CODE_404, HTTP_LOCAL_RESPONSE_STATUS_CODE_429, HTTP_LOCAL_RESPONSE_STATUS_CODE_501.",
                      "default": "HTTP_LOCAL_RESPONSE_STATUS_CODE_429"
                    },
                    "type": {
                      "type": "string",
                      "description": "Type of action to be enforced upon hitting the rate limit. Enum options - RL_ACTION_NONE, RL_ACTION_DROP_CONN, RL_ACTION_RESET_CONN, RL_ACTION_CLOSE_CONN, RL_ACTION_LOCAL_RSP, RL_ACTION_REDIRECT.",
                      "default": "RL_ACTION_NONE"
                    }
                  }
                },
                "burst_sz": {
                  "type": "integer",
                  "description": "Maximum number of connections or requests or packets to be let through instantaneously. Allowed values are 10-2500. Special values are 0- 'automatic'. Field deprecated in 18.2.9."
                },
                "count": {
                  "type": "integer",
                  "description": "Maximum number of connections or requests or packets. Allowed values are 1-1000000000. Special values are 0- 'unlimited'. Field deprecated in 18.2.9."
                },
                "explicit_tracking": {
                  "type": "boolean",
                  "description": "Explicitly tracks an attacker across rate periods."
                },
                "fine_grain": {
                  "type": "boolean",
                  "description": "Enable fine granularity."
                },
                "http_cookie": {
                  "type": "string",
                  "description": "HTTP cookie name. Field introduced in 17.1.1."
                },
                "http_header": {
                  "type": "string",
                  "description": "HTTP header name. Field introduced in 17.1.1."
                },
                "period": {
                  "type": "integer",
                  "description": "Time value in seconds to enforce rate count. Allowed values are 1-300. Field deprecated in 18.2.9."
                },
                "rate_limiter": {
                  "title": "RateLimiter",
                  "required": [
                    "count",
                    "period"
                  ],
                  "type": "object",
                  "properties": {
                    "burst_sz": {
                      "type": "integer",
                      "description": "Maximum number of connections, requests or packets to be let through instantaneously.  If this is less than count, it will have no effect. Allowed values are 0-1000000000. Field introduced in 18.2.9."
                    },
                    "count": {
                      "type": "integer",
                      "description": "Maximum number of connections, requests or packets permitted each period. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                            "example": 1000000000
                    },
                    "name": {
                      "type": "string",
                      "description": "Identifier for Rate Limit. Constructed according to context. Field introduced in 18.2.9."
                    },
                    "period": {
                      "type": "integer",
                      "description": "Time value in seconds to enforce rate count. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                            "example": 1
                    }
                  }
                }
              }
            },
            "saml_sp_config": {
              "title": "SAMLSPConfig",
              "required": [
                "entity_id",
                "single_signon_url"
              ],
              "type": "object",
              "properties": {
                "cookie_name": {
                  "type": "string",
                  "description": "HTTP cookie name for authenticated session. Field introduced in 18.2.3."
                },
                "cookie_timeout": {
                  "type": "integer",
                  "description": "Cookie timeout in minutes. Allowed values are 1-1440. Field introduced in 18.2.3.",
                    "default": 60
                },
                "entity_id": {
                  "type": "string",
                  "description": "Globally unique SAML entityID for this node. The SAML application entity ID on the IDP should match this. Field introduced in 18.2.3."
                },
                "key": {
                  "type": "array",
                  "items": {
                    "title": "HttpCookiePersistenceKey",
                    "type": "object",
                    "properties": {
                      "aes_key": {
                        "type": "string",
                        "description": "aes_key of HttpCookiePersistenceKey."
                      },
                      "hmac_key": {
                        "type": "string",
                        "description": "hmac_key of HttpCookiePersistenceKey."
                      },
                      "name": {
                        "type": "string",
                        "description": "name to use for cookie encryption."
                      }
                    }
                  },
                  "description": "Key to generate the cookie. Field introduced in 18.2.3."
                },
                "signing_ssl_key_and_certificate_ref": {
                  "type": "string",
                  "description": "SP will use this SSL certificate to sign requests going to the IdP and decrypt the assertions coming from IdP. It is a reference to an object of type SSLKeyAndCertificate. Field introduced in 18.2.3."
                },
                "single_signon_url": {
                  "type": "string",
                  "description": "SAML Single Signon URL to be programmed on the IDP. Field introduced in 18.2.3."
                },
                "sp_metadata": {
                  "type": "string",
                  "description": "SAML SP metadata for this application. Field introduced in 18.2.3."
                },
                "use_idp_session_timeout": {
                  "type": "boolean",
                  "description": "By enabling this field IdP can control how long the SP session can exist through the SessionNotOnOrAfter field in the AuthNStatement of SAML Response. Field introduced in 20.1.1."
                }
              }
            },
            "scaleout_ecmp": {
              "type": "boolean",
              "description": "Disable re-distribution of flows across service engines for a virtual service. Enable if the network itself performs flow hashing with ECMP in environments such as GCP."
            },
            "se_group_ref": {
              "type": "string",
              "description": "The Service Engine Group to use for this Virtual Service. Moving to a new SE Group is disruptive to existing connections for this VS. It is a reference to an object of type ServiceEngineGroup."
            },
            "security_policy_ref": {
              "type": "string",
              "description": "Security policy applied on the traffic of the Virtual Service. This policy is used to perform security actions such as Distributed Denial of Service (DDoS) attack mitigation, etc. It is a reference to an object of type SecurityPolicy. Field introduced in 18.2.1."
            },
            "server_network_profile_ref": {
              "type": "string",
              "description": "Determines the network settings profile for the server side of TCP proxied connections.  Leave blank to use the same settings as the client to VS side of the connection. It is a reference to an object of type NetworkProfile."
            },
            "service_metadata": {
              "type": "string",
              "description": "Metadata pertaining to the Service provided by this virtual service. In Openshift/Kubernetes environments, egress pod info is stored. Any user input to this field will be overwritten by Avi Vantage."
            },
            "service_pool_select": {
              "type": "array",
              "items": {
                "title": "ServicePoolSelector",
                "required": [
                  "service_port"
                ],
                "type": "object",
                "properties": {
                  "service_pool_group_ref": {
                    "type": "string",
                    "description": "It is a reference to an object of type PoolGroup."
                  },
                  "service_pool_ref": {
                    "type": "string",
                    "description": "It is a reference to an object of type Pool."
                  },
                  "service_port": {
                    "type": "integer",
                    "description": "Pool based destination port. Allowed values are 1-65535."
                  },
                  "service_port_range_end": {
                    "type": "integer",
                    "description": "The end of the Service port number range. Allowed values are 1-65535. Special values are 0- 'single port'. Field introduced in 17.2.4."
                  },
                  "service_protocol": {
                    "type": "string",
                    "description": "Destination protocol to match for the pool selection. If not specified, it will match any protocol. Enum options - PROTOCOL_TYPE_TCP_PROXY, PROTOCOL_TYPE_TCP_FAST_PATH, PROTOCOL_TYPE_UDP_FAST_PATH, PROTOCOL_TYPE_UDP_PROXY."
                  }
                }
              },
              "description": "Select pool based on destination port."
            },
            "services": {
              "type": "array",
              "items": {
                "title": "Service",
                "required": [
                  "port"
                ],
                "type": "object",
                "properties": {
                  "enable_http2": {
                    "type": "boolean",
                    "description": "Enable HTTP2 on this port. Field introduced in 20.1.1."
                  },
                  "enable_ssl": {
                    "type": "boolean",
                    "description": "Enable SSL termination and offload for traffic from clients."
                  },
                  "override_application_profile_ref": {
                    "type": "string",
                    "description": "Enable application layer specific features for the this specific service. It is a reference to an object of type ApplicationProfile. Field introduced in 17.2.4."
                  },
                  "override_network_profile_ref": {
                    "type": "string",
                    "description": "Override the network profile for this specific service port. It is a reference to an object of type NetworkProfile."
                  },
                  "port": {
                    "type": "integer",
                    "description": "The Virtual Service's port number. Allowed values are 0-65535."
                  },
                  "port_range_end": {
                    "type": "integer",
                    "description": "The end of the Virtual Service's port number range. Allowed values are 1-65535. Special values are 0- 'single port'."
                  }
                }
              },
              "description": "List of Services defined for this Virtual Service."
            },
            "sideband_profile": {
              "title": "SidebandProfile",
              "type": "object",
              "properties": {
                "ip": {
                  "type": "array",
                  "items": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "description": "IP Address of the sideband server."
                },
                "sideband_max_request_body_size": {
                  "type": "integer",
                  "description": "Maximum size of the request body that will be sent on the sideband. Allowed values are 0-16384.",
                    "default": 1024
                }
              }
            },
            "snat_ip": {
              "type": "array",
              "items": {
                "title": "IpAddr",
                "required": [
                  "addr",
                  "type"
                ],
                "type": "object",
                "properties": {
                  "addr": {
                    "type": "string",
                    "description": "IP address."
                  },
                  "type": {
                    "type": "string",
                    "description": "Enum options - V4, DNS, V6."
                  }
                }
              },
              "description": "NAT'ted floating source IP Address(es) for upstream connection to servers."
            },
            "sp_pool_refs": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "GSLB pools used to manage site-persistence functionality. Each site-persistence pool contains the virtualservices in all the other sites, that is auto-generated by the GSLB manager. This is a read-only field for the user. It is a reference to an object of type Pool. Field introduced in 17.2.2."
            },
            "ssl_key_and_certificate_refs": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Select or create one or two certificates, EC and/or RSA, that will be presented to SSL/TLS terminated connections. It is a reference to an object of type SSLKeyAndCertificate."
            },
            "ssl_profile_ref": {
              "type": "string",
              "description": "Determines the set of SSL versions and ciphers to accept for SSL/TLS terminated connections. It is a reference to an object of type SSLProfile."
            },
            "ssl_profile_selectors": {
              "type": "array",
              "items": {
                "title": "SSLProfileSelector",
                "required": [
                  "client_ip_list",
                  "ssl_profile_ref"
                ],
                "type": "object",
                "properties": {
                  "client_ip_list": {
                    "title": "IpAddrMatch",
                    "required": [
                      "match_criteria"
                    ],
                    "type": "object",
                    "properties": {
                      "addrs": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "description": ""
                        },
                        "description": "IP address(es)."
                      },
                      "group_refs": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "description": "UUID of IP address group(s). It is a reference to an object of type IpAddrGroup."
                      },
                      "match_criteria": {
                        "type": "string",
                        "description": "Criterion to use for IP address matching the HTTP request. Enum options - IS_IN, IS_NOT_IN."
                      },
                      "prefixes": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "description": ""
                        },
                        "description": "IP address prefix(es)."
                      },
                      "ranges": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "description": ""
                        },
                        "description": "IP address range(s)."
                      }
                    }
                  },
                  "ssl_profile_ref": {
                    "type": "string",
                    "description": "SSL profile for the client IP addresses listed. It is a reference to an object of type SSLProfile. Field introduced in 18.2.3."
                  }
                }
              },
              "description": "Select SSL Profile based on client IP address match. Field introduced in 18.2.3."
            },
            "ssl_sess_cache_avg_size": {
              "type": "integer",
              "description": "Expected number of SSL session cache entries (may be exceeded). Allowed values are 1024-16383.",
              "default": 1024
            },
            "sso_policy": {
              "title": "SSOPolicy",
              "required": [
                "authentication_policy",
                "name",
                "type"
              ],
              "type": "object",
              "properties": {
                "_last_modified": {
                  "type": "string",
                  "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
                },
                "authentication_policy": {
                  "title": "AuthenticationPolicy",
                  "required": [
                    "default_auth_profile_ref"
                  ],
                  "type": "object",
                  "properties": {
                    "auth_profile_ref": {
                      "type": "string",
                      "description": "Auth Profile to use for validating users. It is a reference to an object of type AuthProfile. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                    },
                    "authn_rules": {
                      "type": "array",
                      "items": {
                        "title": "AuthenticationRule",
                        "required": [
                          "enable",
                          "index",
                          "name"
                        ],
                        "type": "object",
                        "properties": {
                          "action": {
                            "type": "object",
                            "description": ""
                          },
                          "enable": {
                            "type": "boolean",
                            "description": "Enable or disable the rule. Field introduced in 18.2.5.",
                            "example": true
                          },
                          "index": {
                            "type": "integer",
                            "description": "Index of the rule. Field introduced in 18.2.5."
                          },
                          "match": {
                            "type": "object",
                            "description": ""
                          },
                          "name": {
                            "type": "string",
                            "description": "Name of the rule. Field introduced in 18.2.5."
                          }
                        }
                      },
                      "description": "Add rules to apply auth profile to specific targets. Field introduced in 18.2.5."
                    },
                    "cookie_name": {
                      "type": "string",
                      "description": "HTTP cookie name for authenticated session. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                    },
                    "cookie_timeout": {
                      "type": "integer",
                      "description": "Cookie timeout in minutes. Allowed values are 1-1440. Field deprecated in 18.2.3. Field introduced in 18.2.1.",
                            "default": 60
                    },
                    "default_auth_profile_ref": {
                      "type": "string",
                      "description": "Auth Profile to use for validating users. It is a reference to an object of type AuthProfile. Field introduced in 18.2.3."
                    },
                    "entity_id": {
                      "type": "string",
                      "description": "Globally unique entityID for this node. Entity ID on the IDP should match this. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                    },
                    "key": {
                      "type": "array",
                      "items": {
                        "title": "HttpCookiePersistenceKey",
                        "type": "object",
                        "properties": {
                          "aes_key": {
                            "type": "string",
                            "description": "aes_key of HttpCookiePersistenceKey."
                          },
                          "hmac_key": {
                            "type": "string",
                            "description": "hmac_key of HttpCookiePersistenceKey."
                          },
                          "name": {
                            "type": "string",
                            "description": "name to use for cookie encryption."
                          }
                        }
                      },
                      "description": "Key to generate the cookie. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                    },
                    "single_signon_url": {
                      "type": "string",
                      "description": "Single Signon URL to be programmed on the IDP. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                    },
                    "sp_metadata": {
                      "type": "string",
                      "description": "SAML SP metadata. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                    }
                  }
                },
                "authorization_policy": {
                  "title": "AuthorizationPolicy",
                  "type": "object",
                  "properties": {
                    "authz_rules": {
                      "type": "array",
                      "items": {
                        "title": "AuthorizationRule",
                        "required": [
                          "action",
                          "enable",
                          "index",
                          "match",
                          "name"
                        ],
                        "type": "object",
                        "properties": {
                          "action": {
                            "type": "object",
                            "description": ""
                          },
                          "enable": {
                            "type": "boolean",
                            "description": "Enable or disable the rule. Field introduced in 18.2.5.",
                            "example": true
                          },
                          "index": {
                            "type": "integer",
                            "description": "Index of the Authorization Policy rule. Field introduced in 18.2.5."
                          },
                          "match": {
                            "type": "object",
                            "description": ""
                          },
                          "name": {
                            "type": "string",
                            "description": "Name of the rule. Field introduced in 18.2.5."
                          }
                        }
                      },
                      "description": "Authorization Policy Rules. Field introduced in 18.2.5."
                    }
                  }
                },
                "name": {
                  "type": "string",
                  "description": "Name of the SSO Policy. Field introduced in 18.2.3."
                },
                "tenant_ref": {
                  "type": "string",
                  "description": "UUID of the Tenant. It is a reference to an object of type Tenant. Field introduced in 18.2.3."
                },
                "type": {
                  "type": "string",
                  "description": "SSO Policy Type. Enum options - SSO_TYPE_SAML, SSO_TYPE_PINGACCESS. Field introduced in 18.2.5.",
                  "example": "SSO_TYPE_SAML"
                },
                "url": {
                  "type": "string",
                  "description": "url"
                },
                "uuid": {
                  "type": "string",
                  "description": "UUID of the SSO Policy. Field introduced in 18.2.3."
                }
              }
            },
            "sso_policy_ref": {
              "type": "string",
              "description": "The SSO Policy attached to the virtualservice. It is a reference to an object of type SSOPolicy. Field introduced in 18.2.3."
            },
            "static_dns_records": {
              "type": "array",
              "items": {
                "title": "DnsRecord",
                "required": [
                  "type"
                ],
                "type": "object",
                "properties": {
                  "algorithm": {
                    "type": "string",
                    "description": "Specifies the algorithm to pick the IP address(es) to be returned, when multiple entries are configured. This does not apply if num_records_in_response is 0. Default is round-robin. Enum options - DNS_RECORD_RESPONSE_ROUND_ROBIN, DNS_RECORD_RESPONSE_CONSISTENT_HASH. Field introduced in 17.1.1.",
                    "default": "DNS_RECORD_RESPONSE_ROUND_ROBIN"
                  },
                  "cname": {
                    "title": "DnsCnameRdata",
                    "required": [
                      "cname"
                    ],
                    "type": "object",
                    "properties": {
                      "cname": {
                        "type": "string",
                        "description": "Canonical name."
                      }
                    }
                  },
                  "delegated": {
                    "type": "boolean",
                    "description": "Configured FQDNs are delegated domains (i.e. they represent a zone cut). Field introduced in 17.1.2."
                  },
                  "description": {
                    "type": "string",
                    "description": "Details of DNS record."
                  },
                  "fqdn": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "Fully Qualified Domain Name."
                  },
                  "ip6_address": {
                    "type": "array",
                    "items": {
                      "title": "DnsAAAARdata",
                      "required": [
                        "ip6_address"
                      ],
                      "type": "object",
                      "properties": {
                        "ip6_address": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        }
                      }
                    },
                    "description": "IPv6 address in AAAA record. Field introduced in 18.1.1."
                  },
                  "ip_address": {
                    "type": "array",
                    "items": {
                      "title": "DnsARdata",
                      "required": [
                        "ip_address"
                      ],
                      "type": "object",
                      "properties": {
                        "ip_address": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        }
                      }
                    },
                    "description": "IP address in A record."
                  },
                  "metadata": {
                    "type": "string",
                    "description": "Internal metadata for the DNS record. Field introduced in 18.2.5."
                  },
                  "mx_records": {
                    "type": "array",
                    "items": {
                      "title": "DnsMxRdata",
                      "required": [
                        "host",
                        "priority"
                      ],
                      "type": "object",
                      "properties": {
                        "host": {
                          "type": "string",
                          "description": "Fully qualified domain name of a mailserver . The host name maps directly to one or more address records in the DNS table, and must not point to any CNAME records (RFC 2181). Field introduced in 18.2.9, 20.1.1."
                        },
                        "priority": {
                          "type": "integer",
                          "description": "The priority field identifies which mail server should be preferred. Allowed values are 0-65535. Field introduced in 18.2.9, 20.1.1."
                        }
                      }
                    },
                    "description": "MX record. Field introduced in 18.2.9, 20.1.1."
                  },
                  "ns": {
                    "type": "array",
                    "items": {
                      "title": "DnsNsRdata",
                      "required": [
                        "nsname"
                      ],
                      "type": "object",
                      "properties": {
                        "ip6_address": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "ip_address": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "nsname": {
                          "type": "string",
                          "description": "Name Server name. Field introduced in 17.1.1."
                        }
                      }
                    },
                    "description": "Name Server information in NS record. Field introduced in 17.1.1."
                  },
                  "num_records_in_response": {
                    "type": "integer",
                    "description": "Specifies the number of records returned by the DNS service. Enter 0 to return all records. Default is 0. Allowed values are 0-20. Special values are 0- 'Return all records'. Field introduced in 17.1.1."
                  },
                  "service_locator": {
                    "type": "array",
                    "items": {
                      "title": "DnsSrvRdata",
                      "required": [
                        "port"
                      ],
                      "type": "object",
                      "properties": {
                        "port": {
                          "type": "integer",
                          "description": "Service port. Allowed values are 0-65535."
                        },
                        "priority": {
                          "type": "integer",
                          "description": "Priority of the target hosting the service, low value implies higher priority for this service record. Allowed values are 0-65535."
                        },
                        "target": {
                          "type": "string",
                          "description": "Canonical hostname, of the machine hosting the service, with no trailing period. 'default.host' is valid but not 'default.host.'.",
                          "default": "default.host"
                        },
                        "weight": {
                          "type": "integer",
                          "description": "Relative weight for service records with same priority, high value implies higher preference for this service record. Allowed values are 0-65535."
                        }
                      }
                    },
                    "description": "Service locator info in SRV record."
                  },
                  "ttl": {
                    "type": "integer",
                    "description": "Time To Live for this DNS record."
                  },
                  "txt_records": {
                    "type": "array",
                    "items": {
                      "title": "DnsTxtRdata",
                      "required": [
                        "text_str"
                      ],
                      "type": "object",
                      "properties": {
                        "text_str": {
                          "type": "string",
                          "description": "Text data associated with the FQDN. Field introduced in 18.2.9, 20.1.1."
                        }
                      }
                    },
                    "description": "Text record. Field introduced in 18.2.9, 20.1.1."
                  },
                  "type": {
                    "type": "string",
                    "description": "DNS record type. Enum options - DNS_RECORD_OTHER, DNS_RECORD_A, DNS_RECORD_NS, DNS_RECORD_CNAME, DNS_RECORD_SOA, DNS_RECORD_PTR, DNS_RECORD_HINFO, DNS_RECORD_MX, DNS_RECORD_TXT, DNS_RECORD_RP, DNS_RECORD_DNSKEY, DNS_RECORD_AAAA, DNS_RECORD_SRV, DNS_RECORD_OPT, DNS_RECORD_RRSIG, DNS_RECORD_AXFR, DNS_RECORD_ANY."
                  },
                  "wildcard_match": {
                    "type": "boolean",
                    "description": "Enable wild-card match of fqdn  if an exact match is not found in the DNS table, the longest match is chosen by wild-carding the fqdn in the DNS request. Default is false. Field introduced in 17.1.1."
                  }
                }
              },
              "description": "List of static DNS records applied to this Virtual Service. These are static entries and no health monitoring is performed against the IP addresses."
            },
            "subnet": {
              "title": "IpAddrPrefix",
              "required": [
                "ip_addr",
                "mask"
              ],
              "type": "object",
              "properties": {
                "ip_addr": {
                  "title": "IpAddr",
                  "required": [
                    "addr",
                    "type"
                  ],
                  "type": "object",
                  "properties": {
                    "addr": {
                      "type": "string",
                      "description": "IP address."
                    },
                    "type": {
                      "type": "string",
                      "description": "Enum options - V4, DNS, V6."
                    }
                  }
                },
                "mask": {
                  "type": "integer",
                  "description": "Number of mask."
                }
              }
            },
            "subnet_uuid": {
              "type": "string",
              "description": "It represents subnet for the Virtual Service IP address allocation when auto_allocate_ip is True.It is only applicable in OpenStack or AWS cloud. This field is required if auto_allocate_ip is True. Field deprecated in 17.1.1."
            },
            "tenant_ref": {
              "type": "string",
              "description": "It is a reference to an object of type Tenant."
            },
            "test_se_datastore_level_1_ref": {
              "type": "string",
              "description": "Used for testing SE Datastore Upgrade 2.0 functionality. It is a reference to an object of type TestSeDatastoreLevel1. Field introduced in 18.2.6."
            },
            "topology_policies": {
              "type": "array",
              "items": {
                "title": "DnsPolicies",
                "required": [
                  "dns_policy_ref",
                  "index"
                ],
                "type": "object",
                "properties": {
                  "dns_policy_ref": {
                    "type": "string",
                    "description": "UUID of the dns policy. It is a reference to an object of type DnsPolicy. Field introduced in 17.1.1."
                  },
                  "index": {
                    "type": "integer",
                    "description": "Index of the dns policy. Field introduced in 17.1.1."
                  }
                }
              },
              "description": "Topology Policies applied on the dns traffic of the Virtual Service based onGSLB Topology algorithm. Field introduced in 18.2.3."
            },
            "traffic_clone_profile_ref": {
              "type": "string",
              "description": "Server network or list of servers for cloning traffic. It is a reference to an object of type TrafficCloneProfile. Field introduced in 17.1.1."
            },
            "traffic_enabled": {
              "type": "boolean",
              "description": "Knob to enable the Virtual Service traffic on its assigned service engines. This setting is effective only when the enabled flag is set to True. Field introduced in 17.2.8.",
              "default": true
            },
            "type": {
              "type": "string",
              "description": "Specify if this is a normal Virtual Service, or if it is the parent or child of an SNI-enabled virtual hosted Virtual Service. Enum options - VS_TYPE_NORMAL, VS_TYPE_VH_PARENT, VS_TYPE_VH_CHILD.",
              "default": "VS_TYPE_NORMAL"
            },
            "url": {
              "type": "string",
              "description": "url"
            },
            "use_bridge_ip_as_vip": {
              "type": "boolean",
              "description": "Use Bridge IP as VIP on each Host in Mesos deployments."
            },
            "use_vip_as_snat": {
              "type": "boolean",
              "description": "Use the Virtual IP as the SNAT IP for health monitoring and sending traffic to the backend servers instead of the Service Engine interface IP. The caveat of enabling this option is that the VirtualService cannot be configued in an Active-Active HA mode. DNS based Multi VIP solution has to be used for HA & Non-disruptive Upgrade purposes. Field introduced in 17.1.9,17.2.3."
            },
            "uuid": {
              "type": "string",
              "description": "UUID of the VirtualService."
            },
            "vh_domain_name": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "The exact name requested from the client's SNI-enabled TLS hello domain name field. If this is a match, the parent VS will forward the connection to this child VS."
            },
            "vh_parent_vs_uuid": {
              "type": "string",
              "description": "Specifies the Virtual Service acting as Virtual Hosting (SNI) parent."
            },
            "vip": {
              "type": "array",
              "items": {
                "title": "Vip",
                "required": [
                  "vip_id"
                ],
                "type": "object",
                "properties": {
                  "auto_allocate_floating_ip": {
                    "type": "boolean",
                    "description": "Auto-allocate floating/elastic IP from the Cloud infrastructure. Field introduced in 17.1.1."
                  },
                  "auto_allocate_ip": {
                    "type": "boolean",
                    "description": "Auto-allocate VIP from the provided subnet. Field introduced in 17.1.1."
                  },
                  "auto_allocate_ip_type": {
                    "type": "string",
                    "description": "Specifies whether to auto-allocate only a V4 address, only a V6 address, or one of each type. Enum options - V4_ONLY, V6_ONLY, V4_V6. Field introduced in 18.1.1.",
                    "default": "V4_ONLY"
                  },
                  "availability_zone": {
                    "type": "string",
                    "description": "Availability-zone to place the Virtual Service. Field introduced in 17.1.1."
                  },
                  "avi_allocated_fip": {
                    "type": "boolean",
                    "description": "(internal-use) FIP allocated by Avi in the Cloud infrastructure. Field introduced in 17.1.1."
                  },
                  "avi_allocated_vip": {
                    "type": "boolean",
                    "description": "(internal-use) VIP allocated by Avi in the Cloud infrastructure. Field introduced in 17.1.1."
                  },
                  "discovered_networks": {
                    "type": "array",
                    "items": {
                      "title": "DiscoveredNetwork",
                      "required": [
                        "network_ref"
                      ],
                      "type": "object",
                      "properties": {
                        "network_ref": {
                          "type": "string",
                          "description": "Discovered network for this IP. It is a reference to an object of type Network."
                        },
                        "subnet": {
                          "type": "array",
                          "items": {
                            "title": "IpAddrPrefix",
                            "required": [
                              "ip_addr",
                              "mask"
                            ],
                            "type": "object",
                            "properties": {
                              "ip_addr": {
                                "title": "IpAddr",
                                "required": [
                                  "addr",
                                  "type"
                                ],
                                "type": "object",
                                "properties": {
                                  "addr": {
                                    "type": "string",
                                    "description": "IP address."
                                  },
                                  "type": {
                                    "type": "string",
                                    "description": "Enum options - V4, DNS, V6."
                                  }
                                }
                              },
                              "mask": {
                                "type": "integer",
                                "description": "Number of mask."
                              }
                            }
                          },
                          "description": "Discovered subnet for this IP."
                        },
                        "subnet6": {
                          "type": "array",
                          "items": {
                            "title": "IpAddrPrefix",
                            "required": [
                              "ip_addr",
                              "mask"
                            ],
                            "type": "object",
                            "properties": {
                              "ip_addr": {
                                "title": "IpAddr",
                                "required": [
                                  "addr",
                                  "type"
                                ],
                                "type": "object",
                                "properties": {
                                  "addr": {
                                    "type": "string",
                                    "description": "IP address."
                                  },
                                  "type": {
                                    "type": "string",
                                    "description": "Enum options - V4, DNS, V6."
                                  }
                                }
                              },
                              "mask": {
                                "type": "integer",
                                "description": "Number of mask."
                              }
                            }
                          },
                          "description": "Discovered IPv6 subnet for this IP. Field introduced in 18.1.1."
                        }
                      }
                    },
                    "description": "Discovered networks providing reachability for client facing Vip IP. Field introduced in 17.1.1."
                  },
                  "enabled": {
                    "type": "boolean",
                    "description": "Enable or disable the Vip. Field introduced in 17.1.1.",
                    "default": true
                  },
                  "floating_ip": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "floating_ip6": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "floating_subnet6_uuid": {
                    "type": "string",
                    "description": "If auto_allocate_floating_ip is True and more than one floating-ip subnets exist, then the subnet for the floating IPv6 address allocation. Field introduced in 18.1.1."
                  },
                  "floating_subnet_uuid": {
                    "type": "string",
                    "description": "If auto_allocate_floating_ip is True and more than one floating-ip subnets exist, then the subnet for the floating IP address allocation. Field introduced in 17.1.1."
                  },
                  "ip6_address": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "ip_address": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "ipam_network_subnet": {
                    "title": "IPNetworkSubnet",
                    "type": "object",
                    "properties": {
                      "network_ref": {
                        "type": "string",
                        "description": "Network for VirtualService IP allocation with Vantage as the IPAM provider. Network should be created before this is configured. It is a reference to an object of type Network."
                      },
                      "subnet": {
                        "title": "IpAddrPrefix",
                        "required": [
                          "ip_addr",
                          "mask"
                        ],
                        "type": "object",
                        "properties": {
                          "ip_addr": {
                            "title": "IpAddr",
                            "required": [
                              "addr",
                              "type"
                            ],
                            "type": "object",
                            "properties": {
                              "addr": {
                                "type": "string",
                                "description": "IP address."
                              },
                              "type": {
                                "type": "string",
                                "description": "Enum options - V4, DNS, V6."
                              }
                            }
                          },
                          "mask": {
                            "type": "integer",
                            "description": "Number of mask."
                          }
                        }
                      },
                      "subnet6": {
                        "title": "IpAddrPrefix",
                        "required": [
                          "ip_addr",
                          "mask"
                        ],
                        "type": "object",
                        "properties": {
                          "ip_addr": {
                            "title": "IpAddr",
                            "required": [
                              "addr",
                              "type"
                            ],
                            "type": "object",
                            "properties": {
                              "addr": {
                                "type": "string",
                                "description": "IP address."
                              },
                              "type": {
                                "type": "string",
                                "description": "Enum options - V4, DNS, V6."
                              }
                            }
                          },
                          "mask": {
                            "type": "integer",
                            "description": "Number of mask."
                          }
                        }
                      },
                      "subnet6_uuid": {
                        "type": "string",
                        "description": "Subnet UUID or Name or Prefix for VirtualService IPv6 allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed. Field introduced in 18.1.1."
                      },
                      "subnet_uuid": {
                        "type": "string",
                        "description": "Subnet UUID or Name or Prefix for VirtualService IP allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed."
                      }
                    }
                  },
                  "network_ref": {
                    "type": "string",
                    "description": "Manually override the network on which the Vip is placed. It is a reference to an object of type Network. Field introduced in 17.1.1."
                  },
                  "placement_networks": {
                    "type": "array",
                    "items": {
                      "title": "VipPlacementNetwork",
                      "type": "object",
                      "properties": {
                        "network_ref": {
                          "type": "string",
                          "description": "Network to use for vip placement. It is a reference to an object of type Network. Field introduced in 18.2.5."
                        },
                        "subnet": {
                          "title": "IpAddrPrefix",
                          "required": [
                            "ip_addr",
                            "mask"
                          ],
                          "type": "object",
                          "properties": {
                            "ip_addr": {
                              "title": "IpAddr",
                              "required": [
                                "addr",
                                "type"
                              ],
                              "type": "object",
                              "properties": {
                                "addr": {
                                  "type": "string",
                                  "description": "IP address."
                                },
                                "type": {
                                  "type": "string",
                                  "description": "Enum options - V4, DNS, V6."
                                }
                              }
                            },
                            "mask": {
                              "type": "integer",
                              "description": "Number of mask."
                            }
                          }
                        },
                        "subnet6": {
                          "title": "IpAddrPrefix",
                          "required": [
                            "ip_addr",
                            "mask"
                          ],
                          "type": "object",
                          "properties": {
                            "ip_addr": {
                              "title": "IpAddr",
                              "required": [
                                "addr",
                                "type"
                              ],
                              "type": "object",
                              "properties": {
                                "addr": {
                                  "type": "string",
                                  "description": "IP address."
                                },
                                "type": {
                                  "type": "string",
                                  "description": "Enum options - V4, DNS, V6."
                                }
                              }
                            },
                            "mask": {
                              "type": "integer",
                              "description": "Number of mask."
                            }
                          }
                        }
                      }
                    },
                    "description": "Placement networks/subnets to use for vip placement. Field introduced in 18.2.5."
                  },
                  "port_uuid": {
                    "type": "string",
                    "description": "(internal-use) Network port assigned to the Vip IP address. Field introduced in 17.1.1."
                  },
                  "prefix_length": {
                    "type": "integer",
                    "description": "Mask applied for the Vip, non-default mask supported only for wildcard Vip. Allowed values are 0-32. Field introduced in 20.1.1.",
                        "default": 32
                  },
                  "subnet": {
                    "title": "IpAddrPrefix",
                    "required": [
                      "ip_addr",
                      "mask"
                    ],
                    "type": "object",
                    "properties": {
                      "ip_addr": {
                        "title": "IpAddr",
                        "required": [
                          "addr",
                          "type"
                        ],
                        "type": "object",
                        "properties": {
                          "addr": {
                            "type": "string",
                            "description": "IP address."
                          },
                          "type": {
                            "type": "string",
                            "description": "Enum options - V4, DNS, V6."
                          }
                        }
                      },
                      "mask": {
                        "type": "integer",
                        "description": "Number of mask."
                      }
                    }
                  },
                  "subnet6": {
                    "title": "IpAddrPrefix",
                    "required": [
                      "ip_addr",
                      "mask"
                    ],
                    "type": "object",
                    "properties": {
                      "ip_addr": {
                        "title": "IpAddr",
                        "required": [
                          "addr",
                          "type"
                        ],
                        "type": "object",
                        "properties": {
                          "addr": {
                            "type": "string",
                            "description": "IP address."
                          },
                          "type": {
                            "type": "string",
                            "description": "Enum options - V4, DNS, V6."
                          }
                        }
                      },
                      "mask": {
                        "type": "integer",
                        "description": "Number of mask."
                      }
                    }
                  },
                  "subnet6_uuid": {
                    "type": "string",
                    "description": "If auto_allocate_ip is True, then the subnet for the Vip IPv6 address allocation. This field is applicable only if the VirtualService belongs to an Openstack or AWS cloud, in which case it is mandatory, if auto_allocate is selected. Field introduced in 18.1.1."
                  },
                  "subnet_uuid": {
                    "type": "string",
                    "description": "If auto_allocate_ip is True, then the subnet for the Vip IP address allocation. This field is applicable only if the VirtualService belongs to an Openstack or AWS cloud, in which case it is mandatory, if auto_allocate is selected. Field introduced in 17.1.1."
                  },
                  "vip_id": {
                    "type": "string",
                    "description": "Unique ID associated with the vip. Field introduced in 17.1.1."
                  }
                }
              },
              "description": "List of Virtual Service IPs. While creating a 'Shared VS',please use vsvip_ref to point to the shared entities. Field introduced in 17.1.1."
            },
            "vrf_context_ref": {
              "type": "string",
              "description": "Virtual Routing Context that the Virtual Service is bound to. This is used to provide the isolation of the set of networks the application is attached to. It is a reference to an object of type VrfContext."
            },
            "vs_datascripts": {
              "type": "array",
              "items": {
                "title": "VSDataScripts",
                "required": [
                  "index",
                  "vs_datascript_set_ref"
                ],
                "type": "object",
                "properties": {
                  "index": {
                    "type": "integer",
                    "description": "Index of the virtual service datascript collection."
                  },
                  "vs_datascript_set_ref": {
                    "type": "string",
                    "description": "UUID of the virtual service datascript collection. It is a reference to an object of type VSDataScriptSet."
                  }
                }
              },
              "description": "Datascripts applied on the data traffic of the Virtual Service."
            },
            "vsvip_cloud_config_cksum": {
              "type": "string",
              "description": "Checksum of cloud configuration for VsVip. Internally set by cloud connector. Field introduced in 17.2.9, 18.1.2."
            },
            "vsvip_ref": {
              "type": "string",
              "description": "Mostly used during the creation of Shared VS, this field refers to entities that can be shared across Virtual Services. It is a reference to an object of type VsVip. Field introduced in 17.1.1."
            },
            "waf_policy_ref": {
              "type": "string",
              "description": "WAF policy for the Virtual Service. It is a reference to an object of type WafPolicy. Field introduced in 17.2.1."
            },
            "weight": {
              "type": "integer",
              "description": "The Quality of Service weight to assign to traffic transmitted from this Virtual Service.  A higher weight will prioritize traffic versus other Virtual Services sharing the same Service Engines. Allowed values are 1-128.",
              "default": 1
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceByUuidGET"
      },
      "task": true
    },
    {
      "name": "virtualserviceByUuidPUT",
      "summary": "VirtualserviceByUuid_PUT",
      "description": "VirtualserviceByUuid_PUT",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "object name: string",
          "required": false,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "VirtualService object creation: {\"_last_modified\": \"string\", \"active_standby_se_tag\": \"string\", \"advertise_down_vs\": \"boolean\", \"allow_invalid_client_cert\": \"boolean\", \"analytics_policy\": {\"all_headers\": \"boolean\", \"client_insights\": \"string\", \"client_insights_sampling\": {\"client_ip\": {\"addrs\": \"array\", \"group_refs\": \"array\", \"match_criteria\": \"string\", \"prefixes\": \"array\", \"ranges\": \"array\"}, \"sample_uris\": {\"match_criteria\": \"string\", \"match_str\": \"array\", \"string_group_refs\": \"array\"}, \"skip_uris\": {\"match_criteria\": \"string\", \"match_str\": \"array\", \"string_group_refs\": \"array\"}}, \"client_log_filters\": [{\"all_headers\": \"boolean\", \"client_ip\": {\"addrs\": \"array\", \"group_refs\": \"array\", \"match_criteria\": \"string\", \"prefixes\": \"array\", \"ranges\": \"array\"}, \"duration\": 123, \"enabled\": \"boolean\", \"index\": 123, \"name\": \"string\", \"uri\": {\"match_criteria\": \"string\", \"match_str\": \"array\", \"string_group_refs\": \"array\"}}], \"enabled\": \"boolean\", \"full_client_logs\": {\"all_headers\": \"boolean\", \"duration\": 123, \"enabled\": \"boolean\", \"throttle\": 123}, \"metrics_realtime_update\": {\"duration\": 123, \"enabled\": \"boolean\"}, \"significant_log_throttle\": 123, \"udf_log_throttle\": 123}, \"analytics_profile_ref\": \"string\", \"apic_contract_graph\": \"string\", \"application_profile_ref\": \"string\", \"auto_allocate_floating_ip\": \"boolean\", \"auto_allocate_ip\": \"boolean\", \"availability_zone\": \"string\", \"avi_allocated_fip\": \"boolean\", \"avi_allocated_vip\": \"boolean\", \"azure_availability_set\": \"string\", \"bulk_sync_kvcache\": \"boolean\", \"client_auth\": {\"auth_profile_ref\": \"string\", \"realm\": \"string\", \"request_uri_path\": {\"match_criteria\": \"string\", \"match_str\": \"array\", \"string_group_refs\": \"array\"}, \"type\": \"string\"}, \"close_client_conn_on_config_update\": \"boolean\", \"cloud_config_cksum\": \"string\", \"cloud_ref\": \"string\", \"cloud_type\": \"string\", \"connections_rate_limit\": {\"action\": {\"file\": {\"content_type\": \"string\", \"file_content\": \"string\"}, \"redirect\": {\"host\": \"object\", \"keep_query\": \"boolean\", \"path\": \"object\", \"port\": 123, \"protocol\": \"string\", \"status_code\": \"string\"}, \"status_code\": \"string\", \"type\": \"string\"}, \"burst_sz\": 123, \"count\": 123, \"explicit_tracking\": \"boolean\", \"fine_grain\": \"boolean\", \"http_cookie\": \"string\", \"http_header\": \"string\", \"period\": 123, \"rate_limiter\": {\"burst_sz\": 123, \"count\": 123, \"name\": \"string\", \"period\": 123}}, \"content_rewrite\": {\"req_match_replace_pair\": [{\"match_string\": \"string\", \"replacement_string\": {\"type\": \"string\", \"val\": \"string\"}}], \"request_rewrite_enabled\": \"boolean\", \"response_rewrite_enabled\": \"boolean\", \"rewritable_content_ref\": \"string\", \"rsp_match_replace_pair\": [{\"match_string\": \"string\", \"replacement_string\": {\"type\": \"string\", \"val\": \"string\"}}]}, \"created_by\": \"string\", \"delay_fairness\": \"boolean\", \"description\": \"string\", \"discovered_network_ref\": \"array\", \"discovered_networks\": [{\"network_ref\": \"string\", \"subnet\": [{\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}], \"subnet6\": [{\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}]}], \"discovered_subnet\": [{\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}], \"dns_info\": [{\"algorithm\": \"string\", \"cname\": {\"cname\": \"string\"}, \"fqdn\": \"string\", \"metadata\": \"string\", \"num_records_in_response\": 123, \"ttl\": 123, \"type\": \"string\"}], \"dns_policies\": [{\"dns_policy_ref\": \"string\", \"index\": 123}], \"east_west_placement\": \"boolean\", \"enable_autogw\": \"boolean\", \"enable_rhi\": \"boolean\", \"enable_rhi_snat\": \"boolean\", \"enabled\": \"boolean\", \"error_page_profile_ref\": \"string\", \"floating_ip\": {\"addr\": \"string\", \"type\": \"string\"}, \"floating_subnet_uuid\": \"string\", \"flow_dist\": \"string\", \"flow_label_type\": \"string\", \"fqdn\": \"string\", \"host_name_xlate\": \"string\", \"http_policies\": [{\"http_policy_set_ref\": \"string\", \"index\": 123}], \"icap_request_profile_refs\": \"array\", \"ign_pool_net_reach\": \"boolean\", \"ip_address\": {\"addr\": \"string\", \"type\": \"string\"}, \"ipam_network_subnet\": {\"network_ref\": \"string\", \"subnet\": {\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}, \"subnet6\": {\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}, \"subnet6_uuid\": \"string\", \"subnet_uuid\": \"string\"}, \"l4_policies\": [{\"index\": 123, \"l4_policy_set_ref\": \"string\"}], \"limit_doser\": \"boolean\", \"max_cps_per_client\": 123, \"microservice_ref\": \"string\", \"min_pools_up\": 123, \"name\": \"string\", \"network_profile_ref\": \"string\", \"network_ref\": \"string\", \"network_security_policy_ref\": \"string\", \"nsx_securitygroup\": \"array\", \"performance_limits\": {\"max_concurrent_connections\": 123, \"max_throughput\": 123}, \"pool_group_ref\": \"string\", \"pool_ref\": \"string\", \"port_uuid\": \"string\", \"remove_listening_port_on_vs_down\": \"boolean\", \"requests_rate_limit\": {\"action\": {\"file\": {\"content_type\": \"string\", \"file_content\": \"string\"}, \"redirect\": {\"host\": \"object\", \"keep_query\": \"boolean\", \"path\": \"object\", \"port\": 123, \"protocol\": \"string\", \"status_code\": \"string\"}, \"status_code\": \"string\", \"type\": \"string\"}, \"burst_sz\": 123, \"count\": 123, \"explicit_tracking\": \"boolean\", \"fine_grain\": \"boolean\", \"http_cookie\": \"string\", \"http_header\": \"string\", \"period\": 123, \"rate_limiter\": {\"burst_sz\": 123, \"count\": 123, \"name\": \"string\", \"period\": 123}}, \"saml_sp_config\": {\"cookie_name\": \"string\", \"cookie_timeout\": 123, \"entity_id\": \"string\", \"key\": [{\"aes_key\": \"string\", \"hmac_key\": \"string\", \"name\": \"string\"}], \"signing_ssl_key_and_certificate_ref\": \"string\", \"single_signon_url\": \"string\", \"sp_metadata\": \"string\", \"use_idp_session_timeout\": \"boolean\"}, \"scaleout_ecmp\": \"boolean\", \"se_group_ref\": \"string\", \"security_policy_ref\": \"string\", \"server_network_profile_ref\": \"string\", \"service_metadata\": \"string\", \"service_pool_select\": [{\"service_pool_group_ref\": \"string\", \"service_pool_ref\": \"string\", \"service_port\": 123, \"service_port_range_end\": 123, \"service_protocol\": \"string\"}], \"services\": [{\"enable_http2\": \"boolean\", \"enable_ssl\": \"boolean\", \"override_application_profile_ref\": \"string\", \"override_network_profile_ref\": \"string\", \"port\": 123, \"port_range_end\": 123}], \"sideband_profile\": {\"ip\": [{\"addr\": \"string\", \"type\": \"string\"}], \"sideband_max_request_body_size\": 123}, \"snat_ip\": [{\"addr\": \"string\", \"type\": \"string\"}], \"sp_pool_refs\": \"array\", \"ssl_key_and_certificate_refs\": \"array\", \"ssl_profile_ref\": \"string\", \"ssl_profile_selectors\": [{\"client_ip_list\": {\"addrs\": \"array\", \"group_refs\": \"array\", \"match_criteria\": \"string\", \"prefixes\": \"array\", \"ranges\": \"array\"}, \"ssl_profile_ref\": \"string\"}], \"ssl_sess_cache_avg_size\": 123, \"sso_policy\": {\"_last_modified\": \"string\", \"authentication_policy\": {\"auth_profile_ref\": \"string\", \"authn_rules\": [{\"action\": \"object\", \"enable\": \"boolean\", \"index\": 123, \"match\": \"object\", \"name\": \"string\"}], \"cookie_name\": \"string\", \"cookie_timeout\": 123, \"default_auth_profile_ref\": \"string\", \"entity_id\": \"string\", \"key\": [{\"aes_key\": \"string\", \"hmac_key\": \"string\", \"name\": \"string\"}], \"single_signon_url\": \"string\", \"sp_metadata\": \"string\"}, \"authorization_policy\": {\"authz_rules\": [{\"action\": \"object\", \"enable\": \"boolean\", \"index\": 123, \"match\": \"object\", \"name\": \"string\"}]}, \"name\": \"string\", \"tenant_ref\": \"string\", \"type\": \"string\", \"url\": \"string\", \"uuid\": \"string\"}, \"sso_policy_ref\": \"string\", \"static_dns_records\": [{\"algorithm\": \"string\", \"cname\": {\"cname\": \"string\"}, \"delegated\": \"boolean\", \"description\": \"string\", \"fqdn\": \"array\", \"ip6_address\": [{\"ip6_address\": {\"addr\": \"string\", \"type\": \"string\"}}], \"ip_address\": [{\"ip_address\": {\"addr\": \"string\", \"type\": \"string\"}}], \"metadata\": \"string\", \"mx_records\": [{\"host\": \"string\", \"priority\": 123}], \"ns\": [{\"ip6_address\": {\"addr\": \"string\", \"type\": \"string\"}, \"ip_address\": {\"addr\": \"string\", \"type\": \"string\"}, \"nsname\": \"string\"}], \"num_records_in_response\": 123, \"service_locator\": [{\"port\": 123, \"priority\": 123, \"target\": \"string\", \"weight\": 123}], \"ttl\": 123, \"txt_records\": [{\"text_str\": \"string\"}], \"type\": \"string\", \"wildcard_match\": \"boolean\"}], \"subnet\": {\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}, \"subnet_uuid\": \"string\", \"tenant_ref\": \"string\", \"test_se_datastore_level_1_ref\": \"string\", \"topology_policies\": [{\"dns_policy_ref\": \"string\", \"index\": 123}], \"traffic_clone_profile_ref\": \"string\", \"traffic_enabled\": \"boolean\", \"type\": \"string\", \"url\": \"string\", \"use_bridge_ip_as_vip\": \"boolean\", \"use_vip_as_snat\": \"boolean\", \"uuid\": \"string\", \"vh_domain_name\": \"array\", \"vh_parent_vs_uuid\": \"string\", \"vip\": [{\"auto_allocate_floating_ip\": \"boolean\", \"auto_allocate_ip\": \"boolean\", \"auto_allocate_ip_type\": \"string\", \"availability_zone\": \"string\", \"avi_allocated_fip\": \"boolean\", \"avi_allocated_vip\": \"boolean\", \"discovered_networks\": [{\"network_ref\": \"string\", \"subnet\": [{\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}], \"subnet6\": [{\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}]}], \"enabled\": \"boolean\", \"floating_ip\": {\"addr\": \"string\", \"type\": \"string\"}, \"floating_ip6\": {\"addr\": \"string\", \"type\": \"string\"}, \"floating_subnet6_uuid\": \"string\", \"floating_subnet_uuid\": \"string\", \"ip6_address\": {\"addr\": \"string\", \"type\": \"string\"}, \"ip_address\": {\"addr\": \"string\", \"type\": \"string\"}, \"ipam_network_subnet\": {\"network_ref\": \"string\", \"subnet\": {\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}, \"subnet6\": {\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}, \"subnet6_uuid\": \"string\", \"subnet_uuid\": \"string\"}, \"network_ref\": \"string\", \"placement_networks\": [{\"network_ref\": \"string\", \"subnet\": {\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}, \"subnet6\": {\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}}], \"port_uuid\": \"string\", \"prefix_length\": 123, \"subnet\": {\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}, \"subnet6\": {\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}, \"subnet6_uuid\": \"string\", \"subnet_uuid\": \"string\", \"vip_id\": \"string\"}], \"vrf_context_ref\": \"string\", \"vs_datascripts\": [{\"index\": 123, \"vs_datascript_set_ref\": \"string\"}], \"vsvip_cloud_config_cksum\": \"string\", \"vsvip_ref\": \"string\", \"waf_policy_ref\": \"string\", \"weight\": 123}",
          "required": true,
          "schema": {
            "title": "VirtualService",
            "required": [
              "name"
            ],
            "type": "object",
            "properties": {
              "_last_modified": {
                "type": "string",
                "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
              },
              "active_standby_se_tag": {
                "type": "string",
                "description": "This configuration only applies if the VirtualService is in Legacy Active Standby HA mode and Load Distribution among Active Standby is enabled. This field is used to tag the VirtualService so that VirtualServices with the same tag will share the same Active ServiceEngine. VirtualServices with different tags will have different Active ServiceEngines. If one of the ServiceEngine's in the ServiceEngineGroup fails, all VirtualServices will end up using the same Active ServiceEngine. Redistribution of the VirtualServices can be either manual or automated when the failed ServiceEngine recovers. Redistribution is based on the auto redistribute property of the ServiceEngineGroup. Enum options - ACTIVE_STANDBY_SE_1, ACTIVE_STANDBY_SE_2.",
                "default": "ACTIVE_STANDBY_SE_1"
              },
              "advertise_down_vs": {
                "type": "boolean",
                "description": "Keep advertising Virtual Service via BGP even if it is marked down by health monitor. This setting takes effect for future Virtual Service flaps. To advertise current VSes that are down, please disable and re-enable the Virtual Service. Field introduced in 20.1.1."
              },
              "allow_invalid_client_cert": {
                "type": "boolean",
                "description": "Process request even if invalid client certificate is presented. Datascript APIs need to be used for processing of such requests. Field introduced in 18.2.3."
              },
              "analytics_policy": {
                "title": "AnalyticsPolicy",
                "type": "object",
                "properties": {
                  "all_headers": {
                    "type": "boolean",
                    "description": "Log all headers. Field introduced in 18.1.4, 18.2.1."
                  },
                  "client_insights": {
                    "type": "string",
                    "description": "Gain insights from sampled client to server HTTP requests and responses. Enum options - NO_INSIGHTS, PASSIVE, ACTIVE.",
                    "default": "NO_INSIGHTS"
                  },
                  "client_insights_sampling": {
                    "title": "ClientInsightsSampling",
                    "type": "object",
                    "properties": {
                      "client_ip": {
                        "title": "IpAddrMatch",
                        "required": [
                          "match_criteria"
                        ],
                        "type": "object",
                        "properties": {
                          "addrs": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "description": ""
                            },
                            "description": "IP address(es)."
                          },
                          "group_refs": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": "UUID of IP address group(s). It is a reference to an object of type IpAddrGroup."
                          },
                          "match_criteria": {
                            "type": "string",
                            "description": "Criterion to use for IP address matching the HTTP request. Enum options - IS_IN, IS_NOT_IN."
                          },
                          "prefixes": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "description": ""
                            },
                            "description": "IP address prefix(es)."
                          },
                          "ranges": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "description": ""
                            },
                            "description": "IP address range(s)."
                          }
                        }
                      },
                      "sample_uris": {
                        "title": "StringMatch",
                        "required": [
                          "match_criteria"
                        ],
                        "type": "object",
                        "properties": {
                          "match_criteria": {
                            "type": "string",
                            "description": "Criterion to use for string matching the HTTP request. Enum options - BEGINS_WITH, DOES_NOT_BEGIN_WITH, CONTAINS, DOES_NOT_CONTAIN, ENDS_WITH, DOES_NOT_END_WITH, EQUALS, DOES_NOT_EQUAL, REGEX_MATCH, REGEX_DOES_NOT_MATCH."
                          },
                          "match_str": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": "String value(s)."
                          },
                          "string_group_refs": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": "UUID of the string group(s). It is a reference to an object of type StringGroup."
                          }
                        }
                      },
                      "skip_uris": {
                        "title": "StringMatch",
                        "required": [
                          "match_criteria"
                        ],
                        "type": "object",
                        "properties": {
                          "match_criteria": {
                            "type": "string",
                            "description": "Criterion to use for string matching the HTTP request. Enum options - BEGINS_WITH, DOES_NOT_BEGIN_WITH, CONTAINS, DOES_NOT_CONTAIN, ENDS_WITH, DOES_NOT_END_WITH, EQUALS, DOES_NOT_EQUAL, REGEX_MATCH, REGEX_DOES_NOT_MATCH."
                          },
                          "match_str": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": "String value(s)."
                          },
                          "string_group_refs": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": "UUID of the string group(s). It is a reference to an object of type StringGroup."
                          }
                        }
                      }
                    }
                  },
                  "client_log_filters": {
                    "type": "array",
                    "items": {
                      "title": "ClientLogFilter",
                      "required": [
                        "enabled",
                        "index",
                        "name"
                      ],
                      "type": "object",
                      "properties": {
                        "all_headers": {
                          "type": "boolean",
                          "description": "Placeholder for description of property all_headers of obj type ClientLogFilter field type str  type boolean"
                        },
                        "client_ip": {
                          "title": "IpAddrMatch",
                          "required": [
                            "match_criteria"
                          ],
                          "type": "object",
                          "properties": {
                            "addrs": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "description": ""
                              },
                              "description": "IP address(es)."
                            },
                            "group_refs": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "UUID of IP address group(s). It is a reference to an object of type IpAddrGroup."
                            },
                            "match_criteria": {
                              "type": "string",
                              "description": "Criterion to use for IP address matching the HTTP request. Enum options - IS_IN, IS_NOT_IN."
                            },
                            "prefixes": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "description": ""
                              },
                              "description": "IP address prefix(es)."
                            },
                            "ranges": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "description": ""
                              },
                              "description": "IP address range(s)."
                            }
                          }
                        },
                        "duration": {
                          "type": "integer",
                          "description": "Special values are 0 - 'infinite'.",
                                    "default": 30
                        },
                        "enabled": {
                          "type": "boolean",
                          "description": "Placeholder for description of property enabled of obj type ClientLogFilter field type str  type boolean"
                        },
                        "index": {
                          "type": "integer",
                          "description": "Number of index."
                        },
                        "name": {
                          "type": "string",
                          "description": "Name of the object."
                        },
                        "uri": {
                          "title": "StringMatch",
                          "required": [
                            "match_criteria"
                          ],
                          "type": "object",
                          "properties": {
                            "match_criteria": {
                              "type": "string",
                              "description": "Criterion to use for string matching the HTTP request. Enum options - BEGINS_WITH, DOES_NOT_BEGIN_WITH, CONTAINS, DOES_NOT_CONTAIN, ENDS_WITH, DOES_NOT_END_WITH, EQUALS, DOES_NOT_EQUAL, REGEX_MATCH, REGEX_DOES_NOT_MATCH."
                            },
                            "match_str": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "String value(s)."
                            },
                            "string_group_refs": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "UUID of the string group(s). It is a reference to an object of type StringGroup."
                            }
                          }
                        }
                      }
                    },
                    "description": "Placeholder for description of property client_log_filters of obj type AnalyticsPolicy field type str  type object"
                  },
                  "enabled": {
                    "type": "boolean",
                    "description": "[DEPRECATED] Disable Analytics on this VirtualService. This will disable the collection of both metrics and logs. Please use following fields in AnalytcsProfile to control this behavior instead. disable_vs_analytics (for VirtualServices metrics), disable_server_analytics (for Pool metrics) and client_log_config (for logs). Field deprecated in 18.2.1. Field introduced in 17.2.4."
                  },
                  "full_client_logs": {
                    "title": "FullClientLogs",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "all_headers": {
                        "type": "boolean",
                        "description": "[DEPRECATED] Log all headers. Please use the all_headers flag in AnalyticsPolicy. Field deprecated in 18.1.4, 18.2.1."
                      },
                      "duration": {
                        "type": "integer",
                        "description": "How long should the system capture all logs, measured in minutes. Set to 0 for infinite. Special values are 0 - 'infinite'.",
                                "default": 30
                      },
                      "enabled": {
                        "type": "boolean",
                        "description": "Capture all client logs including connections and requests.  When disabled, only errors will be logged."
                      },
                      "throttle": {
                        "type": "integer",
                        "description": "This setting limits the number of non-significant logs generated per second for this VS on each SE. Default is 10 logs per second. Set it to zero (0) to disable throttling. Field introduced in 17.1.3.",
                                "default": 10
                      }
                    }
                  },
                  "metrics_realtime_update": {
                    "title": "MetricsRealTimeUpdate",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "duration": {
                        "type": "integer",
                        "description": "Real time metrics collection duration in minutes. 0 for infinite. Special values are 0 - 'infinite'.",
                                "default": 30
                      },
                      "enabled": {
                        "type": "boolean",
                        "description": "Enables real time metrics collection.  When disabled, 6 hour view is the most granular the system will track."
                      }
                    }
                  },
                  "significant_log_throttle": {
                    "type": "integer",
                    "description": "This setting limits the number of significant logs generated per second for this VS on each SE. Default is 10 logs per second. Set it to zero (0) to disable throttling. Field introduced in 17.1.3.",
                        "default": 10
                  },
                  "udf_log_throttle": {
                    "type": "integer",
                    "description": "This setting limits the total number of UDF logs generated per second for this VS on each SE. UDF logs are generated due to the configured client log filters or the rules with logging enabled. Default is 10 logs per second. Set it to zero (0) to disable throttling. Field introduced in 17.1.3.",
                        "default": 10
                  }
                }
              },
              "analytics_profile_ref": {
                "type": "string",
                "description": "Specifies settings related to analytics. It is a reference to an object of type AnalyticsProfile."
              },
              "apic_contract_graph": {
                "type": "string",
                "description": "The name of the Contract/Graph associated with the Virtual Service. Should be in the <Contract name> <Graph name> format. This is applicable only for Service Integration mode with Cisco APIC Controller . Field introduced in 17.2.12,18.1.2."
              },
              "application_profile_ref": {
                "type": "string",
                "description": "Enable application layer specific features for the Virtual Service. It is a reference to an object of type ApplicationProfile."
              },
              "auto_allocate_floating_ip": {
                "type": "boolean",
                "description": "Auto-allocate floating/elastic IP from the Cloud infrastructure. Field deprecated in 17.1.1."
              },
              "auto_allocate_ip": {
                "type": "boolean",
                "description": "Auto-allocate VIP from the provided subnet. Field deprecated in 17.1.1."
              },
              "availability_zone": {
                "type": "string",
                "description": "Availability-zone to place the Virtual Service. Field deprecated in 17.1.1."
              },
              "avi_allocated_fip": {
                "type": "boolean",
                "description": "(internal-use) FIP allocated by Avi in the Cloud infrastructure. Field deprecated in 17.1.1."
              },
              "avi_allocated_vip": {
                "type": "boolean",
                "description": "(internal-use) VIP allocated by Avi in the Cloud infrastructure. Field deprecated in 17.1.1."
              },
              "azure_availability_set": {
                "type": "string",
                "description": "(internal-use)Applicable for Azure only. Azure Availability set to which this VS is associated. Internally set by the cloud connector. Field introduced in 17.2.12, 18.1.2."
              },
              "bulk_sync_kvcache": {
                "type": "boolean",
                "description": "(This is a beta feature). Sync Key-Value cache to the new SEs when VS is scaled out. For ex  SSL sessions are stored using VS's Key-Value cache. When the VS is scaled out, the SSL session information is synced to the new SE, allowing existing SSL sessions to be reused on the new SE. . Field introduced in 17.2.7, 18.1.1."
              },
              "client_auth": {
                "title": "HTTPClientAuthenticationParams",
                "type": "object",
                "properties": {
                  "auth_profile_ref": {
                    "type": "string",
                    "description": "Auth Profile to use for validating users. It is a reference to an object of type AuthProfile."
                  },
                  "realm": {
                    "type": "string",
                    "description": "Basic authentication realm to present to a user along with the prompt for credentials."
                  },
                  "request_uri_path": {
                    "title": "StringMatch",
                    "required": [
                      "match_criteria"
                    ],
                    "type": "object",
                    "properties": {
                      "match_criteria": {
                        "type": "string",
                        "description": "Criterion to use for string matching the HTTP request. Enum options - BEGINS_WITH, DOES_NOT_BEGIN_WITH, CONTAINS, DOES_NOT_CONTAIN, ENDS_WITH, DOES_NOT_END_WITH, EQUALS, DOES_NOT_EQUAL, REGEX_MATCH, REGEX_DOES_NOT_MATCH."
                      },
                      "match_str": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "description": "String value(s)."
                      },
                      "string_group_refs": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "description": "UUID of the string group(s). It is a reference to an object of type StringGroup."
                      }
                    }
                  },
                  "type": {
                    "type": "string",
                    "description": "type of client authentication. Enum options - HTTP_BASIC_AUTH."
                  }
                }
              },
              "close_client_conn_on_config_update": {
                "type": "boolean",
                "description": "close client connection on vs config update. Field introduced in 17.2.4."
              },
              "cloud_config_cksum": {
                "type": "string",
                "description": "Checksum of cloud configuration for VS. Internally set by cloud connector."
              },
              "cloud_ref": {
                "type": "string",
                "description": "It is a reference to an object of type Cloud."
              },
              "cloud_type": {
                "type": "string",
                "description": "Enum options - CLOUD_NONE, CLOUD_VCENTER, CLOUD_OPENSTACK, CLOUD_AWS, CLOUD_VCA, CLOUD_APIC, CLOUD_MESOS, CLOUD_LINUXSERVER, CLOUD_DOCKER_UCP, CLOUD_RANCHER, CLOUD_OSHIFT_K8S, CLOUD_AZURE, CLOUD_GCP, CLOUD_NSXT.",
                "default": "CLOUD_NONE"
              },
              "connections_rate_limit": {
                "title": "RateProfile",
                "required": [
                  "action"
                ],
                "type": "object",
                "properties": {
                  "action": {
                    "title": "RateLimiterAction",
                    "type": "object",
                    "properties": {
                      "file": {
                        "title": "HTTPLocalFile",
                        "required": [
                          "content_type",
                          "file_content"
                        ],
                        "type": "object",
                        "properties": {
                          "content_type": {
                            "type": "string",
                            "description": "Mime-type of the content in the file."
                          },
                          "file_content": {
                            "type": "string",
                            "description": "File content to used in the local HTTP response body."
                          }
                        }
                      },
                      "redirect": {
                        "title": "HTTPRedirectAction",
                        "required": [
                          "protocol"
                        ],
                        "type": "object",
                        "properties": {
                          "host": {
                            "type": "object",
                            "description": ""
                          },
                          "keep_query": {
                            "type": "boolean",
                            "description": "Keep or drop the query of the incoming request URI in the redirected URI.",
                            "default": true
                          },
                          "path": {
                            "type": "object",
                            "description": ""
                          },
                          "port": {
                            "type": "integer",
                            "description": "Port to which redirect the request. Allowed values are 1-65535."
                          },
                          "protocol": {
                            "type": "string",
                            "description": "Protocol type. Enum options - HTTP, HTTPS."
                          },
                          "status_code": {
                            "type": "string",
                            "description": "HTTP redirect status code. Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307.",
                            "default": "HTTP_REDIRECT_STATUS_CODE_302"
                          }
                        }
                      },
                      "status_code": {
                        "type": "string",
                        "description": "HTTP status code for Local Response rate limit action. Enum options - HTTP_LOCAL_RESPONSE_STATUS_CODE_200, HTTP_LOCAL_RESPONSE_STATUS_CODE_204, HTTP_LOCAL_RESPONSE_STATUS_CODE_403, HTTP_LOCAL_RESPONSE_STATUS_CODE_404, HTTP_LOCAL_RESPONSE_STATUS_CODE_429, HTTP_LOCAL_RESPONSE_STATUS_CODE_501.",
                        "default": "HTTP_LOCAL_RESPONSE_STATUS_CODE_429"
                      },
                      "type": {
                        "type": "string",
                        "description": "Type of action to be enforced upon hitting the rate limit. Enum options - RL_ACTION_NONE, RL_ACTION_DROP_CONN, RL_ACTION_RESET_CONN, RL_ACTION_CLOSE_CONN, RL_ACTION_LOCAL_RSP, RL_ACTION_REDIRECT.",
                        "default": "RL_ACTION_NONE"
                      }
                    }
                  },
                  "burst_sz": {
                    "type": "integer",
                    "description": "Maximum number of connections or requests or packets to be let through instantaneously. Allowed values are 10-2500. Special values are 0- 'automatic'. Field deprecated in 18.2.9."
                  },
                  "count": {
                    "type": "integer",
                    "description": "Maximum number of connections or requests or packets. Allowed values are 1-1000000000. Special values are 0- 'unlimited'. Field deprecated in 18.2.9."
                  },
                  "explicit_tracking": {
                    "type": "boolean",
                    "description": "Explicitly tracks an attacker across rate periods."
                  },
                  "fine_grain": {
                    "type": "boolean",
                    "description": "Enable fine granularity."
                  },
                  "http_cookie": {
                    "type": "string",
                    "description": "HTTP cookie name. Field introduced in 17.1.1."
                  },
                  "http_header": {
                    "type": "string",
                    "description": "HTTP header name. Field introduced in 17.1.1."
                  },
                  "period": {
                    "type": "integer",
                    "description": "Time value in seconds to enforce rate count. Allowed values are 1-300. Field deprecated in 18.2.9."
                  },
                  "rate_limiter": {
                    "title": "RateLimiter",
                    "required": [
                      "count",
                      "period"
                    ],
                    "type": "object",
                    "properties": {
                      "burst_sz": {
                        "type": "integer",
                        "description": "Maximum number of connections, requests or packets to be let through instantaneously.  If this is less than count, it will have no effect. Allowed values are 0-1000000000. Field introduced in 18.2.9."
                      },
                      "count": {
                        "type": "integer",
                        "description": "Maximum number of connections, requests or packets permitted each period. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                                "example": 1000000000
                      },
                      "name": {
                        "type": "string",
                        "description": "Identifier for Rate Limit. Constructed according to context. Field introduced in 18.2.9."
                      },
                      "period": {
                        "type": "integer",
                        "description": "Time value in seconds to enforce rate count. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                                "example": 1
                      }
                    }
                  }
                }
              },
              "content_rewrite": {
                "title": "ContentRewriteProfile",
                "type": "object",
                "properties": {
                  "req_match_replace_pair": {
                    "type": "array",
                    "items": {
                      "title": "MatchReplacePair",
                      "required": [
                        "match_string"
                      ],
                      "type": "object",
                      "properties": {
                        "match_string": {
                          "type": "string",
                          "description": "String to be matched."
                        },
                        "replacement_string": {
                          "title": "ReplaceStringVar",
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string",
                              "description": "Type of replacement string - can be a variable exposed from datascript, value of an HTTP header or a custom user-input literal string. Enum options - DATASCRIPT_VAR, HTTP_HEADER_VAR, LITERAL_STRING."
                            },
                            "val": {
                              "type": "string",
                              "description": "Value of the replacement string - name of variable exposed from datascript, name of the HTTP header or a custom user-input literal string."
                            }
                          }
                        }
                      }
                    },
                    "description": "Strings to be matched and replaced with on the request body."
                  },
                  "request_rewrite_enabled": {
                    "type": "boolean",
                    "description": "Enable rewrite on request body."
                  },
                  "response_rewrite_enabled": {
                    "type": "boolean",
                    "description": "Enable rewrite on response body."
                  },
                  "rewritable_content_ref": {
                    "type": "string",
                    "description": "Rewrite only content types listed in this string group. Content types not present in this list are not rewritten. It is a reference to an object of type StringGroup."
                  },
                  "rsp_match_replace_pair": {
                    "type": "array",
                    "items": {
                      "title": "MatchReplacePair",
                      "required": [
                        "match_string"
                      ],
                      "type": "object",
                      "properties": {
                        "match_string": {
                          "type": "string",
                          "description": "String to be matched."
                        },
                        "replacement_string": {
                          "title": "ReplaceStringVar",
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string",
                              "description": "Type of replacement string - can be a variable exposed from datascript, value of an HTTP header or a custom user-input literal string. Enum options - DATASCRIPT_VAR, HTTP_HEADER_VAR, LITERAL_STRING."
                            },
                            "val": {
                              "type": "string",
                              "description": "Value of the replacement string - name of variable exposed from datascript, name of the HTTP header or a custom user-input literal string."
                            }
                          }
                        }
                      }
                    },
                    "description": "Strings to be matched and replaced with on the response body."
                  }
                }
              },
              "created_by": {
                "type": "string",
                "description": "Creator name."
              },
              "delay_fairness": {
                "type": "boolean",
                "description": "Select the algorithm for QoS fairness.  This determines how multiple Virtual Services sharing the same Service Engines will prioritize traffic over a congested network."
              },
              "description": {
                "type": "string",
                "description": "User defined description for the object."
              },
              "discovered_network_ref": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "(internal-use) Discovered networks providing reachability for client facing Virtual Service IP. This field is deprecated. It is a reference to an object of type Network. Field deprecated in 17.1.1."
              },
              "discovered_networks": {
                "type": "array",
                "items": {
                  "title": "DiscoveredNetwork",
                  "required": [
                    "network_ref"
                  ],
                  "type": "object",
                  "properties": {
                    "network_ref": {
                      "type": "string",
                      "description": "Discovered network for this IP. It is a reference to an object of type Network."
                    },
                    "subnet": {
                      "type": "array",
                      "items": {
                        "title": "IpAddrPrefix",
                        "required": [
                          "ip_addr",
                          "mask"
                        ],
                        "type": "object",
                        "properties": {
                          "ip_addr": {
                            "title": "IpAddr",
                            "required": [
                              "addr",
                              "type"
                            ],
                            "type": "object",
                            "properties": {
                              "addr": {
                                "type": "string",
                                "description": "IP address."
                              },
                              "type": {
                                "type": "string",
                                "description": "Enum options - V4, DNS, V6."
                              }
                            }
                          },
                          "mask": {
                            "type": "integer",
                            "description": "Number of mask."
                          }
                        }
                      },
                      "description": "Discovered subnet for this IP."
                    },
                    "subnet6": {
                      "type": "array",
                      "items": {
                        "title": "IpAddrPrefix",
                        "required": [
                          "ip_addr",
                          "mask"
                        ],
                        "type": "object",
                        "properties": {
                          "ip_addr": {
                            "title": "IpAddr",
                            "required": [
                              "addr",
                              "type"
                            ],
                            "type": "object",
                            "properties": {
                              "addr": {
                                "type": "string",
                                "description": "IP address."
                              },
                              "type": {
                                "type": "string",
                                "description": "Enum options - V4, DNS, V6."
                              }
                            }
                          },
                          "mask": {
                            "type": "integer",
                            "description": "Number of mask."
                          }
                        }
                      },
                      "description": "Discovered IPv6 subnet for this IP. Field introduced in 18.1.1."
                    }
                  }
                },
                "description": "(internal-use) Discovered networks providing reachability for client facing Virtual Service IP. This field is used internally by Avi, not editable by the user. Field deprecated in 17.1.1."
              },
              "discovered_subnet": {
                "type": "array",
                "items": {
                  "title": "IpAddrPrefix",
                  "required": [
                    "ip_addr",
                    "mask"
                  ],
                  "type": "object",
                  "properties": {
                    "ip_addr": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "mask": {
                      "type": "integer",
                      "description": "Number of mask."
                    }
                  }
                },
                "description": "(internal-use) Discovered subnets providing reachability for client facing Virtual Service IP. This field is deprecated. Field deprecated in 17.1.1."
              },
              "dns_info": {
                "type": "array",
                "items": {
                  "title": "DnsInfo",
                  "type": "object",
                  "properties": {
                    "algorithm": {
                      "type": "string",
                      "description": "Specifies the algorithm to pick the IP address(es) to be returned, when multiple entries are configured. This does not apply if num_records_in_response is 0. Default is consistent hash. Enum options - DNS_RECORD_RESPONSE_ROUND_ROBIN, DNS_RECORD_RESPONSE_CONSISTENT_HASH. Field introduced in 17.1.1.",
                      "default": "DNS_RECORD_RESPONSE_CONSISTENT_HASH"
                    },
                    "cname": {
                      "title": "DnsCnameRdata",
                      "required": [
                        "cname"
                      ],
                      "type": "object",
                      "properties": {
                        "cname": {
                          "type": "string",
                          "description": "Canonical name."
                        }
                      }
                    },
                    "fqdn": {
                      "type": "string",
                      "description": "Fully qualified domain name."
                    },
                    "metadata": {
                      "type": "string",
                      "description": "Any metadata associated with this record. Field introduced in 17.2.2."
                    },
                    "num_records_in_response": {
                      "type": "integer",
                      "description": "Specifies the number of records returned for this FQDN. Enter 0 to return all records. Default is 0. Allowed values are 0-20. Special values are 0- 'Return all records'. Field introduced in 17.1.1.",
                            "default": 1
                    },
                    "ttl": {
                      "type": "integer",
                      "description": "Time to live for fqdn record. Default value is chosen from DNS profile for this cloud if no value provided."
                    },
                    "type": {
                      "type": "string",
                      "description": "DNS record type. Enum options - DNS_RECORD_OTHER, DNS_RECORD_A, DNS_RECORD_NS, DNS_RECORD_CNAME, DNS_RECORD_SOA, DNS_RECORD_PTR, DNS_RECORD_HINFO, DNS_RECORD_MX, DNS_RECORD_TXT, DNS_RECORD_RP, DNS_RECORD_DNSKEY, DNS_RECORD_AAAA, DNS_RECORD_SRV, DNS_RECORD_OPT, DNS_RECORD_RRSIG, DNS_RECORD_AXFR, DNS_RECORD_ANY.",
                      "default": "DNS_RECORD_A"
                    }
                  }
                },
                "description": "Service discovery specific data including fully qualified domain name, type and Time-To-Live of the DNS record. Note that only one of fqdn and dns_info setting is allowed."
              },
              "dns_policies": {
                "type": "array",
                "items": {
                  "title": "DnsPolicies",
                  "required": [
                    "dns_policy_ref",
                    "index"
                  ],
                  "type": "object",
                  "properties": {
                    "dns_policy_ref": {
                      "type": "string",
                      "description": "UUID of the dns policy. It is a reference to an object of type DnsPolicy. Field introduced in 17.1.1."
                    },
                    "index": {
                      "type": "integer",
                      "description": "Index of the dns policy. Field introduced in 17.1.1."
                    }
                  }
                },
                "description": "DNS Policies applied on the dns traffic of the Virtual Service. Field introduced in 17.1.1."
              },
              "east_west_placement": {
                "type": "boolean",
                "description": "Force placement on all SE's in service group (Mesos mode only)."
              },
              "enable_autogw": {
                "type": "boolean",
                "description": "Response traffic to clients will be sent back to the source MAC address of the connection, rather than statically sent to a default gateway.",
                "default": true
              },
              "enable_rhi": {
                "type": "boolean",
                "description": "Enable Route Health Injection using the BGP Config in the vrf context."
              },
              "enable_rhi_snat": {
                "type": "boolean",
                "description": "Enable Route Health Injection for Source NAT'ted floating IP Address using the BGP Config in the vrf context."
              },
              "enabled": {
                "type": "boolean",
                "description": "Enable or disable the Virtual Service.",
                "default": true
              },
              "error_page_profile_ref": {
                "type": "string",
                "description": "Error Page Profile to be used for this virtualservice.This profile is used to send the custom error page to the client generated by the proxy. It is a reference to an object of type ErrorPageProfile. Field introduced in 17.2.4."
              },
              "floating_ip": {
                "title": "IpAddr",
                "required": [
                  "addr",
                  "type"
                ],
                "type": "object",
                "properties": {
                  "addr": {
                    "type": "string",
                    "description": "IP address."
                  },
                  "type": {
                    "type": "string",
                    "description": "Enum options - V4, DNS, V6."
                  }
                }
              },
              "floating_subnet_uuid": {
                "type": "string",
                "description": "If auto_allocate_floating_ip is True and more than one floating-ip subnets exist, then the subnet for the floating IP address allocation. This field is applicable only if the VirtualService belongs to an OpenStack or AWS cloud. In OpenStack or AWS cloud it is required when auto_allocate_floating_ip is selected. Field deprecated in 17.1.1."
              },
              "flow_dist": {
                "type": "string",
                "description": "Criteria for flow distribution among SEs. Enum options - LOAD_AWARE, CONSISTENT_HASH_SOURCE_IP_ADDRESS, CONSISTENT_HASH_SOURCE_IP_ADDRESS_AND_PORT.",
                "default": "LOAD_AWARE"
              },
              "flow_label_type": {
                "type": "string",
                "description": "Criteria for flow labelling. Enum options - NO_LABEL, APPLICATION_LABEL, SERVICE_LABEL.",
                "default": "NO_LABEL"
              },
              "fqdn": {
                "type": "string",
                "description": "DNS resolvable, fully qualified domain name of the virtualservice. Only one of 'fqdn' and 'dns_info' configuration is allowed."
              },
              "host_name_xlate": {
                "type": "string",
                "description": "Translate the host name sent to the servers to this value.  Translate the host name sent from servers back to the value used by the client."
              },
              "http_policies": {
                "type": "array",
                "items": {
                  "title": "HTTPPolicies",
                  "required": [
                    "http_policy_set_ref",
                    "index"
                  ],
                  "type": "object",
                  "properties": {
                    "http_policy_set_ref": {
                      "type": "string",
                      "description": "UUID of the virtual service HTTP policy collection. It is a reference to an object of type HTTPPolicySet."
                    },
                    "index": {
                      "type": "integer",
                      "description": "Index of the virtual service HTTP policy collection."
                    }
                  }
                },
                "description": "HTTP Policies applied on the data traffic of the Virtual Service."
              },
              "icap_request_profile_refs": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "The config settings for the ICAP server when checking the HTTP request. It is a reference to an object of type IcapProfile. Field introduced in 20.1.1."
              },
              "ign_pool_net_reach": {
                "type": "boolean",
                "description": "Ignore Pool servers network reachability constraints for Virtual Service placement."
              },
              "ip_address": {
                "title": "IpAddr",
                "required": [
                  "addr",
                  "type"
                ],
                "type": "object",
                "properties": {
                  "addr": {
                    "type": "string",
                    "description": "IP address."
                  },
                  "type": {
                    "type": "string",
                    "description": "Enum options - V4, DNS, V6."
                  }
                }
              },
              "ipam_network_subnet": {
                "title": "IPNetworkSubnet",
                "type": "object",
                "properties": {
                  "network_ref": {
                    "type": "string",
                    "description": "Network for VirtualService IP allocation with Vantage as the IPAM provider. Network should be created before this is configured. It is a reference to an object of type Network."
                  },
                  "subnet": {
                    "title": "IpAddrPrefix",
                    "required": [
                      "ip_addr",
                      "mask"
                    ],
                    "type": "object",
                    "properties": {
                      "ip_addr": {
                        "title": "IpAddr",
                        "required": [
                          "addr",
                          "type"
                        ],
                        "type": "object",
                        "properties": {
                          "addr": {
                            "type": "string",
                            "description": "IP address."
                          },
                          "type": {
                            "type": "string",
                            "description": "Enum options - V4, DNS, V6."
                          }
                        }
                      },
                      "mask": {
                        "type": "integer",
                        "description": "Number of mask."
                      }
                    }
                  },
                  "subnet6": {
                    "title": "IpAddrPrefix",
                    "required": [
                      "ip_addr",
                      "mask"
                    ],
                    "type": "object",
                    "properties": {
                      "ip_addr": {
                        "title": "IpAddr",
                        "required": [
                          "addr",
                          "type"
                        ],
                        "type": "object",
                        "properties": {
                          "addr": {
                            "type": "string",
                            "description": "IP address."
                          },
                          "type": {
                            "type": "string",
                            "description": "Enum options - V4, DNS, V6."
                          }
                        }
                      },
                      "mask": {
                        "type": "integer",
                        "description": "Number of mask."
                      }
                    }
                  },
                  "subnet6_uuid": {
                    "type": "string",
                    "description": "Subnet UUID or Name or Prefix for VirtualService IPv6 allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed. Field introduced in 18.1.1."
                  },
                  "subnet_uuid": {
                    "type": "string",
                    "description": "Subnet UUID or Name or Prefix for VirtualService IP allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed."
                  }
                }
              },
              "l4_policies": {
                "type": "array",
                "items": {
                  "title": "L4Policies",
                  "required": [
                    "index",
                    "l4_policy_set_ref"
                  ],
                  "type": "object",
                  "properties": {
                    "index": {
                      "type": "integer",
                      "description": "Index of the virtual service L4 policy set. Field introduced in 17.2.7."
                    },
                    "l4_policy_set_ref": {
                      "type": "string",
                      "description": "ID of the virtual service L4 policy set. It is a reference to an object of type L4PolicySet. Field introduced in 17.2.7."
                    }
                  }
                },
                "description": "L4 Policies applied to the data traffic of the Virtual Service. Field introduced in 17.2.7."
              },
              "limit_doser": {
                "type": "boolean",
                "description": "Limit potential DoS attackers who exceed max_cps_per_client significantly to a fraction of max_cps_per_client for a while."
              },
              "max_cps_per_client": {
                "type": "integer",
                "description": "Maximum connections per second per client IP. Allowed values are 10-1000. Special values are 0- 'unlimited'."
              },
              "microservice_ref": {
                "type": "string",
                "description": "Microservice representing the virtual service. It is a reference to an object of type MicroService."
              },
              "min_pools_up": {
                "type": "integer",
                "description": "Minimum number of UP pools to mark VS up. Field introduced in 18.2.1, 17.2.12."
              },
              "name": {
                "type": "string",
                "description": "Name for the Virtual Service."
              },
              "network_profile_ref": {
                "type": "string",
                "description": "Determines network settings such as protocol, TCP or UDP, and related options for the protocol. It is a reference to an object of type NetworkProfile."
              },
              "network_ref": {
                "type": "string",
                "description": "Manually override the network on which the Virtual Service is placed. It is a reference to an object of type Network. Field deprecated in 17.1.1."
              },
              "network_security_policy_ref": {
                "type": "string",
                "description": "Network security policies for the Virtual Service. It is a reference to an object of type NetworkSecurityPolicy."
              },
              "nsx_securitygroup": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "A list of NSX Service Groups representing the Clients which can access the Virtual IP of the Virtual Service. Field introduced in 17.1.1."
              },
              "performance_limits": {
                "title": "PerformanceLimits",
                "type": "object",
                "properties": {
                  "max_concurrent_connections": {
                    "type": "integer",
                    "description": "The maximum number of concurrent client conections allowed to the Virtual Service."
                  },
                  "max_throughput": {
                    "type": "integer",
                    "description": "The maximum throughput per second for all clients allowed through the client side of the Virtual Service."
                  }
                }
              },
              "pool_group_ref": {
                "type": "string",
                "description": "The pool group is an object that contains pools. It is a reference to an object of type PoolGroup."
              },
              "pool_ref": {
                "type": "string",
                "description": "The pool is an object that contains destination servers and related attributes such as load-balancing and persistence. It is a reference to an object of type Pool."
              },
              "port_uuid": {
                "type": "string",
                "description": "(internal-use) Network port assigned to the Virtual Service IP address. Field deprecated in 17.1.1."
              },
              "remove_listening_port_on_vs_down": {
                "type": "boolean",
                "description": "Remove listening port if VirtualService is down."
              },
              "requests_rate_limit": {
                "title": "RateProfile",
                "required": [
                  "action"
                ],
                "type": "object",
                "properties": {
                  "action": {
                    "title": "RateLimiterAction",
                    "type": "object",
                    "properties": {
                      "file": {
                        "title": "HTTPLocalFile",
                        "required": [
                          "content_type",
                          "file_content"
                        ],
                        "type": "object",
                        "properties": {
                          "content_type": {
                            "type": "string",
                            "description": "Mime-type of the content in the file."
                          },
                          "file_content": {
                            "type": "string",
                            "description": "File content to used in the local HTTP response body."
                          }
                        }
                      },
                      "redirect": {
                        "title": "HTTPRedirectAction",
                        "required": [
                          "protocol"
                        ],
                        "type": "object",
                        "properties": {
                          "host": {
                            "type": "object",
                            "description": ""
                          },
                          "keep_query": {
                            "type": "boolean",
                            "description": "Keep or drop the query of the incoming request URI in the redirected URI.",
                            "default": true
                          },
                          "path": {
                            "type": "object",
                            "description": ""
                          },
                          "port": {
                            "type": "integer",
                            "description": "Port to which redirect the request. Allowed values are 1-65535."
                          },
                          "protocol": {
                            "type": "string",
                            "description": "Protocol type. Enum options - HTTP, HTTPS."
                          },
                          "status_code": {
                            "type": "string",
                            "description": "HTTP redirect status code. Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307.",
                            "default": "HTTP_REDIRECT_STATUS_CODE_302"
                          }
                        }
                      },
                      "status_code": {
                        "type": "string",
                        "description": "HTTP status code for Local Response rate limit action. Enum options - HTTP_LOCAL_RESPONSE_STATUS_CODE_200, HTTP_LOCAL_RESPONSE_STATUS_CODE_204, HTTP_LOCAL_RESPONSE_STATUS_CODE_403, HTTP_LOCAL_RESPONSE_STATUS_CODE_404, HTTP_LOCAL_RESPONSE_STATUS_CODE_429, HTTP_LOCAL_RESPONSE_STATUS_CODE_501.",
                        "default": "HTTP_LOCAL_RESPONSE_STATUS_CODE_429"
                      },
                      "type": {
                        "type": "string",
                        "description": "Type of action to be enforced upon hitting the rate limit. Enum options - RL_ACTION_NONE, RL_ACTION_DROP_CONN, RL_ACTION_RESET_CONN, RL_ACTION_CLOSE_CONN, RL_ACTION_LOCAL_RSP, RL_ACTION_REDIRECT.",
                        "default": "RL_ACTION_NONE"
                      }
                    }
                  },
                  "burst_sz": {
                    "type": "integer",
                    "description": "Maximum number of connections or requests or packets to be let through instantaneously. Allowed values are 10-2500. Special values are 0- 'automatic'. Field deprecated in 18.2.9."
                  },
                  "count": {
                    "type": "integer",
                    "description": "Maximum number of connections or requests or packets. Allowed values are 1-1000000000. Special values are 0- 'unlimited'. Field deprecated in 18.2.9."
                  },
                  "explicit_tracking": {
                    "type": "boolean",
                    "description": "Explicitly tracks an attacker across rate periods."
                  },
                  "fine_grain": {
                    "type": "boolean",
                    "description": "Enable fine granularity."
                  },
                  "http_cookie": {
                    "type": "string",
                    "description": "HTTP cookie name. Field introduced in 17.1.1."
                  },
                  "http_header": {
                    "type": "string",
                    "description": "HTTP header name. Field introduced in 17.1.1."
                  },
                  "period": {
                    "type": "integer",
                    "description": "Time value in seconds to enforce rate count. Allowed values are 1-300. Field deprecated in 18.2.9."
                  },
                  "rate_limiter": {
                    "title": "RateLimiter",
                    "required": [
                      "count",
                      "period"
                    ],
                    "type": "object",
                    "properties": {
                      "burst_sz": {
                        "type": "integer",
                        "description": "Maximum number of connections, requests or packets to be let through instantaneously.  If this is less than count, it will have no effect. Allowed values are 0-1000000000. Field introduced in 18.2.9."
                      },
                      "count": {
                        "type": "integer",
                        "description": "Maximum number of connections, requests or packets permitted each period. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                                "example": 1000000000
                      },
                      "name": {
                        "type": "string",
                        "description": "Identifier for Rate Limit. Constructed according to context. Field introduced in 18.2.9."
                      },
                      "period": {
                        "type": "integer",
                        "description": "Time value in seconds to enforce rate count. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                                "example": 1
                      }
                    }
                  }
                }
              },
              "saml_sp_config": {
                "title": "SAMLSPConfig",
                "required": [
                  "entity_id",
                  "single_signon_url"
                ],
                "type": "object",
                "properties": {
                  "cookie_name": {
                    "type": "string",
                    "description": "HTTP cookie name for authenticated session. Field introduced in 18.2.3."
                  },
                  "cookie_timeout": {
                    "type": "integer",
                    "description": "Cookie timeout in minutes. Allowed values are 1-1440. Field introduced in 18.2.3.",
                        "default": 60
                  },
                  "entity_id": {
                    "type": "string",
                    "description": "Globally unique SAML entityID for this node. The SAML application entity ID on the IDP should match this. Field introduced in 18.2.3."
                  },
                  "key": {
                    "type": "array",
                    "items": {
                      "title": "HttpCookiePersistenceKey",
                      "type": "object",
                      "properties": {
                        "aes_key": {
                          "type": "string",
                          "description": "aes_key of HttpCookiePersistenceKey."
                        },
                        "hmac_key": {
                          "type": "string",
                          "description": "hmac_key of HttpCookiePersistenceKey."
                        },
                        "name": {
                          "type": "string",
                          "description": "name to use for cookie encryption."
                        }
                      }
                    },
                    "description": "Key to generate the cookie. Field introduced in 18.2.3."
                  },
                  "signing_ssl_key_and_certificate_ref": {
                    "type": "string",
                    "description": "SP will use this SSL certificate to sign requests going to the IdP and decrypt the assertions coming from IdP. It is a reference to an object of type SSLKeyAndCertificate. Field introduced in 18.2.3."
                  },
                  "single_signon_url": {
                    "type": "string",
                    "description": "SAML Single Signon URL to be programmed on the IDP. Field introduced in 18.2.3."
                  },
                  "sp_metadata": {
                    "type": "string",
                    "description": "SAML SP metadata for this application. Field introduced in 18.2.3."
                  },
                  "use_idp_session_timeout": {
                    "type": "boolean",
                    "description": "By enabling this field IdP can control how long the SP session can exist through the SessionNotOnOrAfter field in the AuthNStatement of SAML Response. Field introduced in 20.1.1."
                  }
                }
              },
              "scaleout_ecmp": {
                "type": "boolean",
                "description": "Disable re-distribution of flows across service engines for a virtual service. Enable if the network itself performs flow hashing with ECMP in environments such as GCP."
              },
              "se_group_ref": {
                "type": "string",
                "description": "The Service Engine Group to use for this Virtual Service. Moving to a new SE Group is disruptive to existing connections for this VS. It is a reference to an object of type ServiceEngineGroup."
              },
              "security_policy_ref": {
                "type": "string",
                "description": "Security policy applied on the traffic of the Virtual Service. This policy is used to perform security actions such as Distributed Denial of Service (DDoS) attack mitigation, etc. It is a reference to an object of type SecurityPolicy. Field introduced in 18.2.1."
              },
              "server_network_profile_ref": {
                "type": "string",
                "description": "Determines the network settings profile for the server side of TCP proxied connections.  Leave blank to use the same settings as the client to VS side of the connection. It is a reference to an object of type NetworkProfile."
              },
              "service_metadata": {
                "type": "string",
                "description": "Metadata pertaining to the Service provided by this virtual service. In Openshift/Kubernetes environments, egress pod info is stored. Any user input to this field will be overwritten by Avi Vantage."
              },
              "service_pool_select": {
                "type": "array",
                "items": {
                  "title": "ServicePoolSelector",
                  "required": [
                    "service_port"
                  ],
                  "type": "object",
                  "properties": {
                    "service_pool_group_ref": {
                      "type": "string",
                      "description": "It is a reference to an object of type PoolGroup."
                    },
                    "service_pool_ref": {
                      "type": "string",
                      "description": "It is a reference to an object of type Pool."
                    },
                    "service_port": {
                      "type": "integer",
                      "description": "Pool based destination port. Allowed values are 1-65535."
                    },
                    "service_port_range_end": {
                      "type": "integer",
                      "description": "The end of the Service port number range. Allowed values are 1-65535. Special values are 0- 'single port'. Field introduced in 17.2.4."
                    },
                    "service_protocol": {
                      "type": "string",
                      "description": "Destination protocol to match for the pool selection. If not specified, it will match any protocol. Enum options - PROTOCOL_TYPE_TCP_PROXY, PROTOCOL_TYPE_TCP_FAST_PATH, PROTOCOL_TYPE_UDP_FAST_PATH, PROTOCOL_TYPE_UDP_PROXY."
                    }
                  }
                },
                "description": "Select pool based on destination port."
              },
              "services": {
                "type": "array",
                "items": {
                  "title": "Service",
                  "required": [
                    "port"
                  ],
                  "type": "object",
                  "properties": {
                    "enable_http2": {
                      "type": "boolean",
                      "description": "Enable HTTP2 on this port. Field introduced in 20.1.1."
                    },
                    "enable_ssl": {
                      "type": "boolean",
                      "description": "Enable SSL termination and offload for traffic from clients."
                    },
                    "override_application_profile_ref": {
                      "type": "string",
                      "description": "Enable application layer specific features for the this specific service. It is a reference to an object of type ApplicationProfile. Field introduced in 17.2.4."
                    },
                    "override_network_profile_ref": {
                      "type": "string",
                      "description": "Override the network profile for this specific service port. It is a reference to an object of type NetworkProfile."
                    },
                    "port": {
                      "type": "integer",
                      "description": "The Virtual Service's port number. Allowed values are 0-65535."
                    },
                    "port_range_end": {
                      "type": "integer",
                      "description": "The end of the Virtual Service's port number range. Allowed values are 1-65535. Special values are 0- 'single port'."
                    }
                  }
                },
                "description": "List of Services defined for this Virtual Service."
              },
              "sideband_profile": {
                "title": "SidebandProfile",
                "type": "object",
                "properties": {
                  "ip": {
                    "type": "array",
                    "items": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "description": "IP Address of the sideband server."
                  },
                  "sideband_max_request_body_size": {
                    "type": "integer",
                    "description": "Maximum size of the request body that will be sent on the sideband. Allowed values are 0-16384.",
                        "default": 1024
                  }
                }
              },
              "snat_ip": {
                "type": "array",
                "items": {
                  "title": "IpAddr",
                  "required": [
                    "addr",
                    "type"
                  ],
                  "type": "object",
                  "properties": {
                    "addr": {
                      "type": "string",
                      "description": "IP address."
                    },
                    "type": {
                      "type": "string",
                      "description": "Enum options - V4, DNS, V6."
                    }
                  }
                },
                "description": "NAT'ted floating source IP Address(es) for upstream connection to servers."
              },
              "sp_pool_refs": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "GSLB pools used to manage site-persistence functionality. Each site-persistence pool contains the virtualservices in all the other sites, that is auto-generated by the GSLB manager. This is a read-only field for the user. It is a reference to an object of type Pool. Field introduced in 17.2.2."
              },
              "ssl_key_and_certificate_refs": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select or create one or two certificates, EC and/or RSA, that will be presented to SSL/TLS terminated connections. It is a reference to an object of type SSLKeyAndCertificate."
              },
              "ssl_profile_ref": {
                "type": "string",
                "description": "Determines the set of SSL versions and ciphers to accept for SSL/TLS terminated connections. It is a reference to an object of type SSLProfile."
              },
              "ssl_profile_selectors": {
                "type": "array",
                "items": {
                  "title": "SSLProfileSelector",
                  "required": [
                    "client_ip_list",
                    "ssl_profile_ref"
                  ],
                  "type": "object",
                  "properties": {
                    "client_ip_list": {
                      "title": "IpAddrMatch",
                      "required": [
                        "match_criteria"
                      ],
                      "type": "object",
                      "properties": {
                        "addrs": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "description": ""
                          },
                          "description": "IP address(es)."
                        },
                        "group_refs": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "UUID of IP address group(s). It is a reference to an object of type IpAddrGroup."
                        },
                        "match_criteria": {
                          "type": "string",
                          "description": "Criterion to use for IP address matching the HTTP request. Enum options - IS_IN, IS_NOT_IN."
                        },
                        "prefixes": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "description": ""
                          },
                          "description": "IP address prefix(es)."
                        },
                        "ranges": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "description": ""
                          },
                          "description": "IP address range(s)."
                        }
                      }
                    },
                    "ssl_profile_ref": {
                      "type": "string",
                      "description": "SSL profile for the client IP addresses listed. It is a reference to an object of type SSLProfile. Field introduced in 18.2.3."
                    }
                  }
                },
                "description": "Select SSL Profile based on client IP address match. Field introduced in 18.2.3."
              },
              "ssl_sess_cache_avg_size": {
                "type": "integer",
                "description": "Expected number of SSL session cache entries (may be exceeded). Allowed values are 1024-16383.",
                "default": 1024
              },
              "sso_policy": {
                "title": "SSOPolicy",
                "required": [
                  "authentication_policy",
                  "name",
                  "type"
                ],
                "type": "object",
                "properties": {
                  "_last_modified": {
                    "type": "string",
                    "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
                  },
                  "authentication_policy": {
                    "title": "AuthenticationPolicy",
                    "required": [
                      "default_auth_profile_ref"
                    ],
                    "type": "object",
                    "properties": {
                      "auth_profile_ref": {
                        "type": "string",
                        "description": "Auth Profile to use for validating users. It is a reference to an object of type AuthProfile. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                      },
                      "authn_rules": {
                        "type": "array",
                        "items": {
                          "title": "AuthenticationRule",
                          "required": [
                            "enable",
                            "index",
                            "name"
                          ],
                          "type": "object",
                          "properties": {
                            "action": {
                              "type": "object",
                              "description": ""
                            },
                            "enable": {
                              "type": "boolean",
                              "description": "Enable or disable the rule. Field introduced in 18.2.5.",
                              "example": true
                            },
                            "index": {
                              "type": "integer",
                              "description": "Index of the rule. Field introduced in 18.2.5."
                            },
                            "match": {
                              "type": "object",
                              "description": ""
                            },
                            "name": {
                              "type": "string",
                              "description": "Name of the rule. Field introduced in 18.2.5."
                            }
                          }
                        },
                        "description": "Add rules to apply auth profile to specific targets. Field introduced in 18.2.5."
                      },
                      "cookie_name": {
                        "type": "string",
                        "description": "HTTP cookie name for authenticated session. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                      },
                      "cookie_timeout": {
                        "type": "integer",
                        "description": "Cookie timeout in minutes. Allowed values are 1-1440. Field deprecated in 18.2.3. Field introduced in 18.2.1.",
                                "default": 60
                      },
                      "default_auth_profile_ref": {
                        "type": "string",
                        "description": "Auth Profile to use for validating users. It is a reference to an object of type AuthProfile. Field introduced in 18.2.3."
                      },
                      "entity_id": {
                        "type": "string",
                        "description": "Globally unique entityID for this node. Entity ID on the IDP should match this. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                      },
                      "key": {
                        "type": "array",
                        "items": {
                          "title": "HttpCookiePersistenceKey",
                          "type": "object",
                          "properties": {
                            "aes_key": {
                              "type": "string",
                              "description": "aes_key of HttpCookiePersistenceKey."
                            },
                            "hmac_key": {
                              "type": "string",
                              "description": "hmac_key of HttpCookiePersistenceKey."
                            },
                            "name": {
                              "type": "string",
                              "description": "name to use for cookie encryption."
                            }
                          }
                        },
                        "description": "Key to generate the cookie. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                      },
                      "single_signon_url": {
                        "type": "string",
                        "description": "Single Signon URL to be programmed on the IDP. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                      },
                      "sp_metadata": {
                        "type": "string",
                        "description": "SAML SP metadata. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                      }
                    }
                  },
                  "authorization_policy": {
                    "title": "AuthorizationPolicy",
                    "type": "object",
                    "properties": {
                      "authz_rules": {
                        "type": "array",
                        "items": {
                          "title": "AuthorizationRule",
                          "required": [
                            "action",
                            "enable",
                            "index",
                            "match",
                            "name"
                          ],
                          "type": "object",
                          "properties": {
                            "action": {
                              "type": "object",
                              "description": ""
                            },
                            "enable": {
                              "type": "boolean",
                              "description": "Enable or disable the rule. Field introduced in 18.2.5.",
                              "example": true
                            },
                            "index": {
                              "type": "integer",
                              "description": "Index of the Authorization Policy rule. Field introduced in 18.2.5."
                            },
                            "match": {
                              "type": "object",
                              "description": ""
                            },
                            "name": {
                              "type": "string",
                              "description": "Name of the rule. Field introduced in 18.2.5."
                            }
                          }
                        },
                        "description": "Authorization Policy Rules. Field introduced in 18.2.5."
                      }
                    }
                  },
                  "name": {
                    "type": "string",
                    "description": "Name of the SSO Policy. Field introduced in 18.2.3."
                  },
                  "tenant_ref": {
                    "type": "string",
                    "description": "UUID of the Tenant. It is a reference to an object of type Tenant. Field introduced in 18.2.3."
                  },
                  "type": {
                    "type": "string",
                    "description": "SSO Policy Type. Enum options - SSO_TYPE_SAML, SSO_TYPE_PINGACCESS. Field introduced in 18.2.5.",
                    "example": "SSO_TYPE_SAML"
                  },
                  "url": {
                    "type": "string",
                    "description": "url"
                  },
                  "uuid": {
                    "type": "string",
                    "description": "UUID of the SSO Policy. Field introduced in 18.2.3."
                  }
                }
              },
              "sso_policy_ref": {
                "type": "string",
                "description": "The SSO Policy attached to the virtualservice. It is a reference to an object of type SSOPolicy. Field introduced in 18.2.3."
              },
              "static_dns_records": {
                "type": "array",
                "items": {
                  "title": "DnsRecord",
                  "required": [
                    "type"
                  ],
                  "type": "object",
                  "properties": {
                    "algorithm": {
                      "type": "string",
                      "description": "Specifies the algorithm to pick the IP address(es) to be returned, when multiple entries are configured. This does not apply if num_records_in_response is 0. Default is round-robin. Enum options - DNS_RECORD_RESPONSE_ROUND_ROBIN, DNS_RECORD_RESPONSE_CONSISTENT_HASH. Field introduced in 17.1.1.",
                      "default": "DNS_RECORD_RESPONSE_ROUND_ROBIN"
                    },
                    "cname": {
                      "title": "DnsCnameRdata",
                      "required": [
                        "cname"
                      ],
                      "type": "object",
                      "properties": {
                        "cname": {
                          "type": "string",
                          "description": "Canonical name."
                        }
                      }
                    },
                    "delegated": {
                      "type": "boolean",
                      "description": "Configured FQDNs are delegated domains (i.e. they represent a zone cut). Field introduced in 17.1.2."
                    },
                    "description": {
                      "type": "string",
                      "description": "Details of DNS record."
                    },
                    "fqdn": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "Fully Qualified Domain Name."
                    },
                    "ip6_address": {
                      "type": "array",
                      "items": {
                        "title": "DnsAAAARdata",
                        "required": [
                          "ip6_address"
                        ],
                        "type": "object",
                        "properties": {
                          "ip6_address": {
                            "title": "IpAddr",
                            "required": [
                              "addr",
                              "type"
                            ],
                            "type": "object",
                            "properties": {
                              "addr": {
                                "type": "string",
                                "description": "IP address."
                              },
                              "type": {
                                "type": "string",
                                "description": "Enum options - V4, DNS, V6."
                              }
                            }
                          }
                        }
                      },
                      "description": "IPv6 address in AAAA record. Field introduced in 18.1.1."
                    },
                    "ip_address": {
                      "type": "array",
                      "items": {
                        "title": "DnsARdata",
                        "required": [
                          "ip_address"
                        ],
                        "type": "object",
                        "properties": {
                          "ip_address": {
                            "title": "IpAddr",
                            "required": [
                              "addr",
                              "type"
                            ],
                            "type": "object",
                            "properties": {
                              "addr": {
                                "type": "string",
                                "description": "IP address."
                              },
                              "type": {
                                "type": "string",
                                "description": "Enum options - V4, DNS, V6."
                              }
                            }
                          }
                        }
                      },
                      "description": "IP address in A record."
                    },
                    "metadata": {
                      "type": "string",
                      "description": "Internal metadata for the DNS record. Field introduced in 18.2.5."
                    },
                    "mx_records": {
                      "type": "array",
                      "items": {
                        "title": "DnsMxRdata",
                        "required": [
                          "host",
                          "priority"
                        ],
                        "type": "object",
                        "properties": {
                          "host": {
                            "type": "string",
                            "description": "Fully qualified domain name of a mailserver . The host name maps directly to one or more address records in the DNS table, and must not point to any CNAME records (RFC 2181). Field introduced in 18.2.9, 20.1.1."
                          },
                          "priority": {
                            "type": "integer",
                            "description": "The priority field identifies which mail server should be preferred. Allowed values are 0-65535. Field introduced in 18.2.9, 20.1.1."
                          }
                        }
                      },
                      "description": "MX record. Field introduced in 18.2.9, 20.1.1."
                    },
                    "ns": {
                      "type": "array",
                      "items": {
                        "title": "DnsNsRdata",
                        "required": [
                          "nsname"
                        ],
                        "type": "object",
                        "properties": {
                          "ip6_address": {
                            "title": "IpAddr",
                            "required": [
                              "addr",
                              "type"
                            ],
                            "type": "object",
                            "properties": {
                              "addr": {
                                "type": "string",
                                "description": "IP address."
                              },
                              "type": {
                                "type": "string",
                                "description": "Enum options - V4, DNS, V6."
                              }
                            }
                          },
                          "ip_address": {
                            "title": "IpAddr",
                            "required": [
                              "addr",
                              "type"
                            ],
                            "type": "object",
                            "properties": {
                              "addr": {
                                "type": "string",
                                "description": "IP address."
                              },
                              "type": {
                                "type": "string",
                                "description": "Enum options - V4, DNS, V6."
                              }
                            }
                          },
                          "nsname": {
                            "type": "string",
                            "description": "Name Server name. Field introduced in 17.1.1."
                          }
                        }
                      },
                      "description": "Name Server information in NS record. Field introduced in 17.1.1."
                    },
                    "num_records_in_response": {
                      "type": "integer",
                      "description": "Specifies the number of records returned by the DNS service. Enter 0 to return all records. Default is 0. Allowed values are 0-20. Special values are 0- 'Return all records'. Field introduced in 17.1.1."
                    },
                    "service_locator": {
                      "type": "array",
                      "items": {
                        "title": "DnsSrvRdata",
                        "required": [
                          "port"
                        ],
                        "type": "object",
                        "properties": {
                          "port": {
                            "type": "integer",
                            "description": "Service port. Allowed values are 0-65535."
                          },
                          "priority": {
                            "type": "integer",
                            "description": "Priority of the target hosting the service, low value implies higher priority for this service record. Allowed values are 0-65535."
                          },
                          "target": {
                            "type": "string",
                            "description": "Canonical hostname, of the machine hosting the service, with no trailing period. 'default.host' is valid but not 'default.host.'.",
                            "default": "default.host"
                          },
                          "weight": {
                            "type": "integer",
                            "description": "Relative weight for service records with same priority, high value implies higher preference for this service record. Allowed values are 0-65535."
                          }
                        }
                      },
                      "description": "Service locator info in SRV record."
                    },
                    "ttl": {
                      "type": "integer",
                      "description": "Time To Live for this DNS record."
                    },
                    "txt_records": {
                      "type": "array",
                      "items": {
                        "title": "DnsTxtRdata",
                        "required": [
                          "text_str"
                        ],
                        "type": "object",
                        "properties": {
                          "text_str": {
                            "type": "string",
                            "description": "Text data associated with the FQDN. Field introduced in 18.2.9, 20.1.1."
                          }
                        }
                      },
                      "description": "Text record. Field introduced in 18.2.9, 20.1.1."
                    },
                    "type": {
                      "type": "string",
                      "description": "DNS record type. Enum options - DNS_RECORD_OTHER, DNS_RECORD_A, DNS_RECORD_NS, DNS_RECORD_CNAME, DNS_RECORD_SOA, DNS_RECORD_PTR, DNS_RECORD_HINFO, DNS_RECORD_MX, DNS_RECORD_TXT, DNS_RECORD_RP, DNS_RECORD_DNSKEY, DNS_RECORD_AAAA, DNS_RECORD_SRV, DNS_RECORD_OPT, DNS_RECORD_RRSIG, DNS_RECORD_AXFR, DNS_RECORD_ANY."
                    },
                    "wildcard_match": {
                      "type": "boolean",
                      "description": "Enable wild-card match of fqdn  if an exact match is not found in the DNS table, the longest match is chosen by wild-carding the fqdn in the DNS request. Default is false. Field introduced in 17.1.1."
                    }
                  }
                },
                "description": "List of static DNS records applied to this Virtual Service. These are static entries and no health monitoring is performed against the IP addresses."
              },
              "subnet": {
                "title": "IpAddrPrefix",
                "required": [
                  "ip_addr",
                  "mask"
                ],
                "type": "object",
                "properties": {
                  "ip_addr": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "mask": {
                    "type": "integer",
                    "description": "Number of mask."
                  }
                }
              },
              "subnet_uuid": {
                "type": "string",
                "description": "It represents subnet for the Virtual Service IP address allocation when auto_allocate_ip is True.It is only applicable in OpenStack or AWS cloud. This field is required if auto_allocate_ip is True. Field deprecated in 17.1.1."
              },
              "tenant_ref": {
                "type": "string",
                "description": "It is a reference to an object of type Tenant."
              },
              "test_se_datastore_level_1_ref": {
                "type": "string",
                "description": "Used for testing SE Datastore Upgrade 2.0 functionality. It is a reference to an object of type TestSeDatastoreLevel1. Field introduced in 18.2.6."
              },
              "topology_policies": {
                "type": "array",
                "items": {
                  "title": "DnsPolicies",
                  "required": [
                    "dns_policy_ref",
                    "index"
                  ],
                  "type": "object",
                  "properties": {
                    "dns_policy_ref": {
                      "type": "string",
                      "description": "UUID of the dns policy. It is a reference to an object of type DnsPolicy. Field introduced in 17.1.1."
                    },
                    "index": {
                      "type": "integer",
                      "description": "Index of the dns policy. Field introduced in 17.1.1."
                    }
                  }
                },
                "description": "Topology Policies applied on the dns traffic of the Virtual Service based onGSLB Topology algorithm. Field introduced in 18.2.3."
              },
              "traffic_clone_profile_ref": {
                "type": "string",
                "description": "Server network or list of servers for cloning traffic. It is a reference to an object of type TrafficCloneProfile. Field introduced in 17.1.1."
              },
              "traffic_enabled": {
                "type": "boolean",
                "description": "Knob to enable the Virtual Service traffic on its assigned service engines. This setting is effective only when the enabled flag is set to True. Field introduced in 17.2.8.",
                "default": true
              },
              "type": {
                "type": "string",
                "description": "Specify if this is a normal Virtual Service, or if it is the parent or child of an SNI-enabled virtual hosted Virtual Service. Enum options - VS_TYPE_NORMAL, VS_TYPE_VH_PARENT, VS_TYPE_VH_CHILD.",
                "default": "VS_TYPE_NORMAL"
              },
              "url": {
                "type": "string",
                "description": "url"
              },
              "use_bridge_ip_as_vip": {
                "type": "boolean",
                "description": "Use Bridge IP as VIP on each Host in Mesos deployments."
              },
              "use_vip_as_snat": {
                "type": "boolean",
                "description": "Use the Virtual IP as the SNAT IP for health monitoring and sending traffic to the backend servers instead of the Service Engine interface IP. The caveat of enabling this option is that the VirtualService cannot be configued in an Active-Active HA mode. DNS based Multi VIP solution has to be used for HA & Non-disruptive Upgrade purposes. Field introduced in 17.1.9,17.2.3."
              },
              "uuid": {
                "type": "string",
                "description": "UUID of the VirtualService."
              },
              "vh_domain_name": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "The exact name requested from the client's SNI-enabled TLS hello domain name field. If this is a match, the parent VS will forward the connection to this child VS."
              },
              "vh_parent_vs_uuid": {
                "type": "string",
                "description": "Specifies the Virtual Service acting as Virtual Hosting (SNI) parent."
              },
              "vip": {
                "type": "array",
                "items": {
                  "title": "Vip",
                  "required": [
                    "vip_id"
                  ],
                  "type": "object",
                  "properties": {
                    "auto_allocate_floating_ip": {
                      "type": "boolean",
                      "description": "Auto-allocate floating/elastic IP from the Cloud infrastructure. Field introduced in 17.1.1."
                    },
                    "auto_allocate_ip": {
                      "type": "boolean",
                      "description": "Auto-allocate VIP from the provided subnet. Field introduced in 17.1.1."
                    },
                    "auto_allocate_ip_type": {
                      "type": "string",
                      "description": "Specifies whether to auto-allocate only a V4 address, only a V6 address, or one of each type. Enum options - V4_ONLY, V6_ONLY, V4_V6. Field introduced in 18.1.1.",
                      "default": "V4_ONLY"
                    },
                    "availability_zone": {
                      "type": "string",
                      "description": "Availability-zone to place the Virtual Service. Field introduced in 17.1.1."
                    },
                    "avi_allocated_fip": {
                      "type": "boolean",
                      "description": "(internal-use) FIP allocated by Avi in the Cloud infrastructure. Field introduced in 17.1.1."
                    },
                    "avi_allocated_vip": {
                      "type": "boolean",
                      "description": "(internal-use) VIP allocated by Avi in the Cloud infrastructure. Field introduced in 17.1.1."
                    },
                    "discovered_networks": {
                      "type": "array",
                      "items": {
                        "title": "DiscoveredNetwork",
                        "required": [
                          "network_ref"
                        ],
                        "type": "object",
                        "properties": {
                          "network_ref": {
                            "type": "string",
                            "description": "Discovered network for this IP. It is a reference to an object of type Network."
                          },
                          "subnet": {
                            "type": "array",
                            "items": {
                              "title": "IpAddrPrefix",
                              "required": [
                                "ip_addr",
                                "mask"
                              ],
                              "type": "object",
                              "properties": {
                                "ip_addr": {
                                  "title": "IpAddr",
                                  "required": [
                                    "addr",
                                    "type"
                                  ],
                                  "type": "object",
                                  "properties": {
                                    "addr": {
                                      "type": "string",
                                      "description": "IP address."
                                    },
                                    "type": {
                                      "type": "string",
                                      "description": "Enum options - V4, DNS, V6."
                                    }
                                  }
                                },
                                "mask": {
                                  "type": "integer",
                                  "description": "Number of mask."
                                }
                              }
                            },
                            "description": "Discovered subnet for this IP."
                          },
                          "subnet6": {
                            "type": "array",
                            "items": {
                              "title": "IpAddrPrefix",
                              "required": [
                                "ip_addr",
                                "mask"
                              ],
                              "type": "object",
                              "properties": {
                                "ip_addr": {
                                  "title": "IpAddr",
                                  "required": [
                                    "addr",
                                    "type"
                                  ],
                                  "type": "object",
                                  "properties": {
                                    "addr": {
                                      "type": "string",
                                      "description": "IP address."
                                    },
                                    "type": {
                                      "type": "string",
                                      "description": "Enum options - V4, DNS, V6."
                                    }
                                  }
                                },
                                "mask": {
                                  "type": "integer",
                                  "description": "Number of mask."
                                }
                              }
                            },
                            "description": "Discovered IPv6 subnet for this IP. Field introduced in 18.1.1."
                          }
                        }
                      },
                      "description": "Discovered networks providing reachability for client facing Vip IP. Field introduced in 17.1.1."
                    },
                    "enabled": {
                      "type": "boolean",
                      "description": "Enable or disable the Vip. Field introduced in 17.1.1.",
                      "default": true
                    },
                    "floating_ip": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "floating_ip6": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "floating_subnet6_uuid": {
                      "type": "string",
                      "description": "If auto_allocate_floating_ip is True and more than one floating-ip subnets exist, then the subnet for the floating IPv6 address allocation. Field introduced in 18.1.1."
                    },
                    "floating_subnet_uuid": {
                      "type": "string",
                      "description": "If auto_allocate_floating_ip is True and more than one floating-ip subnets exist, then the subnet for the floating IP address allocation. Field introduced in 17.1.1."
                    },
                    "ip6_address": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "ip_address": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "ipam_network_subnet": {
                      "title": "IPNetworkSubnet",
                      "type": "object",
                      "properties": {
                        "network_ref": {
                          "type": "string",
                          "description": "Network for VirtualService IP allocation with Vantage as the IPAM provider. Network should be created before this is configured. It is a reference to an object of type Network."
                        },
                        "subnet": {
                          "title": "IpAddrPrefix",
                          "required": [
                            "ip_addr",
                            "mask"
                          ],
                          "type": "object",
                          "properties": {
                            "ip_addr": {
                              "title": "IpAddr",
                              "required": [
                                "addr",
                                "type"
                              ],
                              "type": "object",
                              "properties": {
                                "addr": {
                                  "type": "string",
                                  "description": "IP address."
                                },
                                "type": {
                                  "type": "string",
                                  "description": "Enum options - V4, DNS, V6."
                                }
                              }
                            },
                            "mask": {
                              "type": "integer",
                              "description": "Number of mask."
                            }
                          }
                        },
                        "subnet6": {
                          "title": "IpAddrPrefix",
                          "required": [
                            "ip_addr",
                            "mask"
                          ],
                          "type": "object",
                          "properties": {
                            "ip_addr": {
                              "title": "IpAddr",
                              "required": [
                                "addr",
                                "type"
                              ],
                              "type": "object",
                              "properties": {
                                "addr": {
                                  "type": "string",
                                  "description": "IP address."
                                },
                                "type": {
                                  "type": "string",
                                  "description": "Enum options - V4, DNS, V6."
                                }
                              }
                            },
                            "mask": {
                              "type": "integer",
                              "description": "Number of mask."
                            }
                          }
                        },
                        "subnet6_uuid": {
                          "type": "string",
                          "description": "Subnet UUID or Name or Prefix for VirtualService IPv6 allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed. Field introduced in 18.1.1."
                        },
                        "subnet_uuid": {
                          "type": "string",
                          "description": "Subnet UUID or Name or Prefix for VirtualService IP allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed."
                        }
                      }
                    },
                    "network_ref": {
                      "type": "string",
                      "description": "Manually override the network on which the Vip is placed. It is a reference to an object of type Network. Field introduced in 17.1.1."
                    },
                    "placement_networks": {
                      "type": "array",
                      "items": {
                        "title": "VipPlacementNetwork",
                        "type": "object",
                        "properties": {
                          "network_ref": {
                            "type": "string",
                            "description": "Network to use for vip placement. It is a reference to an object of type Network. Field introduced in 18.2.5."
                          },
                          "subnet": {
                            "title": "IpAddrPrefix",
                            "required": [
                              "ip_addr",
                              "mask"
                            ],
                            "type": "object",
                            "properties": {
                              "ip_addr": {
                                "title": "IpAddr",
                                "required": [
                                  "addr",
                                  "type"
                                ],
                                "type": "object",
                                "properties": {
                                  "addr": {
                                    "type": "string",
                                    "description": "IP address."
                                  },
                                  "type": {
                                    "type": "string",
                                    "description": "Enum options - V4, DNS, V6."
                                  }
                                }
                              },
                              "mask": {
                                "type": "integer",
                                "description": "Number of mask."
                              }
                            }
                          },
                          "subnet6": {
                            "title": "IpAddrPrefix",
                            "required": [
                              "ip_addr",
                              "mask"
                            ],
                            "type": "object",
                            "properties": {
                              "ip_addr": {
                                "title": "IpAddr",
                                "required": [
                                  "addr",
                                  "type"
                                ],
                                "type": "object",
                                "properties": {
                                  "addr": {
                                    "type": "string",
                                    "description": "IP address."
                                  },
                                  "type": {
                                    "type": "string",
                                    "description": "Enum options - V4, DNS, V6."
                                  }
                                }
                              },
                              "mask": {
                                "type": "integer",
                                "description": "Number of mask."
                              }
                            }
                          }
                        }
                      },
                      "description": "Placement networks/subnets to use for vip placement. Field introduced in 18.2.5."
                    },
                    "port_uuid": {
                      "type": "string",
                      "description": "(internal-use) Network port assigned to the Vip IP address. Field introduced in 17.1.1."
                    },
                    "prefix_length": {
                      "type": "integer",
                      "description": "Mask applied for the Vip, non-default mask supported only for wildcard Vip. Allowed values are 0-32. Field introduced in 20.1.1.",
                            "default": 32
                    },
                    "subnet": {
                      "title": "IpAddrPrefix",
                      "required": [
                        "ip_addr",
                        "mask"
                      ],
                      "type": "object",
                      "properties": {
                        "ip_addr": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "mask": {
                          "type": "integer",
                          "description": "Number of mask."
                        }
                      }
                    },
                    "subnet6": {
                      "title": "IpAddrPrefix",
                      "required": [
                        "ip_addr",
                        "mask"
                      ],
                      "type": "object",
                      "properties": {
                        "ip_addr": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "mask": {
                          "type": "integer",
                          "description": "Number of mask."
                        }
                      }
                    },
                    "subnet6_uuid": {
                      "type": "string",
                      "description": "If auto_allocate_ip is True, then the subnet for the Vip IPv6 address allocation. This field is applicable only if the VirtualService belongs to an Openstack or AWS cloud, in which case it is mandatory, if auto_allocate is selected. Field introduced in 18.1.1."
                    },
                    "subnet_uuid": {
                      "type": "string",
                      "description": "If auto_allocate_ip is True, then the subnet for the Vip IP address allocation. This field is applicable only if the VirtualService belongs to an Openstack or AWS cloud, in which case it is mandatory, if auto_allocate is selected. Field introduced in 17.1.1."
                    },
                    "vip_id": {
                      "type": "string",
                      "description": "Unique ID associated with the vip. Field introduced in 17.1.1."
                    }
                  }
                },
                "description": "List of Virtual Service IPs. While creating a 'Shared VS',please use vsvip_ref to point to the shared entities. Field introduced in 17.1.1."
              },
              "vrf_context_ref": {
                "type": "string",
                "description": "Virtual Routing Context that the Virtual Service is bound to. This is used to provide the isolation of the set of networks the application is attached to. It is a reference to an object of type VrfContext."
              },
              "vs_datascripts": {
                "type": "array",
                "items": {
                  "title": "VSDataScripts",
                  "required": [
                    "index",
                    "vs_datascript_set_ref"
                  ],
                  "type": "object",
                  "properties": {
                    "index": {
                      "type": "integer",
                      "description": "Index of the virtual service datascript collection."
                    },
                    "vs_datascript_set_ref": {
                      "type": "string",
                      "description": "UUID of the virtual service datascript collection. It is a reference to an object of type VSDataScriptSet."
                    }
                  }
                },
                "description": "Datascripts applied on the data traffic of the Virtual Service."
              },
              "vsvip_cloud_config_cksum": {
                "type": "string",
                "description": "Checksum of cloud configuration for VsVip. Internally set by cloud connector. Field introduced in 17.2.9, 18.1.2."
              },
              "vsvip_ref": {
                "type": "string",
                "description": "Mostly used during the creation of Shared VS, this field refers to entities that can be shared across Virtual Services. It is a reference to an object of type VsVip. Field introduced in 17.1.1."
              },
              "waf_policy_ref": {
                "type": "string",
                "description": "WAF policy for the Virtual Service. It is a reference to an object of type WafPolicy. Field introduced in 17.2.1."
              },
              "weight": {
                "type": "integer",
                "description": "The Quality of Service weight to assign to traffic transmitted from this Virtual Service.  A higher weight will prioritize traffic versus other Virtual Services sharing the same Service Engines. Allowed values are 1-128.",
                "default": 1
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "VirtualService",
          "required": [
            "name"
          ],
          "type": "object",
          "properties": {
            "_last_modified": {
              "type": "string",
              "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
            },
            "active_standby_se_tag": {
              "type": "string",
              "description": "This configuration only applies if the VirtualService is in Legacy Active Standby HA mode and Load Distribution among Active Standby is enabled. This field is used to tag the VirtualService so that VirtualServices with the same tag will share the same Active ServiceEngine. VirtualServices with different tags will have different Active ServiceEngines. If one of the ServiceEngine's in the ServiceEngineGroup fails, all VirtualServices will end up using the same Active ServiceEngine. Redistribution of the VirtualServices can be either manual or automated when the failed ServiceEngine recovers. Redistribution is based on the auto redistribute property of the ServiceEngineGroup. Enum options - ACTIVE_STANDBY_SE_1, ACTIVE_STANDBY_SE_2.",
              "default": "ACTIVE_STANDBY_SE_1"
            },
            "advertise_down_vs": {
              "type": "boolean",
              "description": "Keep advertising Virtual Service via BGP even if it is marked down by health monitor. This setting takes effect for future Virtual Service flaps. To advertise current VSes that are down, please disable and re-enable the Virtual Service. Field introduced in 20.1.1."
            },
            "allow_invalid_client_cert": {
              "type": "boolean",
              "description": "Process request even if invalid client certificate is presented. Datascript APIs need to be used for processing of such requests. Field introduced in 18.2.3."
            },
            "analytics_policy": {
              "title": "AnalyticsPolicy",
              "type": "object",
              "properties": {
                "all_headers": {
                  "type": "boolean",
                  "description": "Log all headers. Field introduced in 18.1.4, 18.2.1."
                },
                "client_insights": {
                  "type": "string",
                  "description": "Gain insights from sampled client to server HTTP requests and responses. Enum options - NO_INSIGHTS, PASSIVE, ACTIVE.",
                  "default": "NO_INSIGHTS"
                },
                "client_insights_sampling": {
                  "title": "ClientInsightsSampling",
                  "type": "object",
                  "properties": {
                    "client_ip": {
                      "title": "IpAddrMatch",
                      "required": [
                        "match_criteria"
                      ],
                      "type": "object",
                      "properties": {
                        "addrs": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "description": ""
                          },
                          "description": "IP address(es)."
                        },
                        "group_refs": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "UUID of IP address group(s). It is a reference to an object of type IpAddrGroup."
                        },
                        "match_criteria": {
                          "type": "string",
                          "description": "Criterion to use for IP address matching the HTTP request. Enum options - IS_IN, IS_NOT_IN."
                        },
                        "prefixes": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "description": ""
                          },
                          "description": "IP address prefix(es)."
                        },
                        "ranges": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "description": ""
                          },
                          "description": "IP address range(s)."
                        }
                      }
                    },
                    "sample_uris": {
                      "title": "StringMatch",
                      "required": [
                        "match_criteria"
                      ],
                      "type": "object",
                      "properties": {
                        "match_criteria": {
                          "type": "string",
                          "description": "Criterion to use for string matching the HTTP request. Enum options - BEGINS_WITH, DOES_NOT_BEGIN_WITH, CONTAINS, DOES_NOT_CONTAIN, ENDS_WITH, DOES_NOT_END_WITH, EQUALS, DOES_NOT_EQUAL, REGEX_MATCH, REGEX_DOES_NOT_MATCH."
                        },
                        "match_str": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "String value(s)."
                        },
                        "string_group_refs": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "UUID of the string group(s). It is a reference to an object of type StringGroup."
                        }
                      }
                    },
                    "skip_uris": {
                      "title": "StringMatch",
                      "required": [
                        "match_criteria"
                      ],
                      "type": "object",
                      "properties": {
                        "match_criteria": {
                          "type": "string",
                          "description": "Criterion to use for string matching the HTTP request. Enum options - BEGINS_WITH, DOES_NOT_BEGIN_WITH, CONTAINS, DOES_NOT_CONTAIN, ENDS_WITH, DOES_NOT_END_WITH, EQUALS, DOES_NOT_EQUAL, REGEX_MATCH, REGEX_DOES_NOT_MATCH."
                        },
                        "match_str": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "String value(s)."
                        },
                        "string_group_refs": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "UUID of the string group(s). It is a reference to an object of type StringGroup."
                        }
                      }
                    }
                  }
                },
                "client_log_filters": {
                  "type": "array",
                  "items": {
                    "title": "ClientLogFilter",
                    "required": [
                      "enabled",
                      "index",
                      "name"
                    ],
                    "type": "object",
                    "properties": {
                      "all_headers": {
                        "type": "boolean",
                        "description": "Placeholder for description of property all_headers of obj type ClientLogFilter field type str  type boolean"
                      },
                      "client_ip": {
                        "title": "IpAddrMatch",
                        "required": [
                          "match_criteria"
                        ],
                        "type": "object",
                        "properties": {
                          "addrs": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "description": ""
                            },
                            "description": "IP address(es)."
                          },
                          "group_refs": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": "UUID of IP address group(s). It is a reference to an object of type IpAddrGroup."
                          },
                          "match_criteria": {
                            "type": "string",
                            "description": "Criterion to use for IP address matching the HTTP request. Enum options - IS_IN, IS_NOT_IN."
                          },
                          "prefixes": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "description": ""
                            },
                            "description": "IP address prefix(es)."
                          },
                          "ranges": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "description": ""
                            },
                            "description": "IP address range(s)."
                          }
                        }
                      },
                      "duration": {
                        "type": "integer",
                        "description": "Special values are 0 - 'infinite'.",
                                "default": 30
                      },
                      "enabled": {
                        "type": "boolean",
                        "description": "Placeholder for description of property enabled of obj type ClientLogFilter field type str  type boolean"
                      },
                      "index": {
                        "type": "integer",
                        "description": "Number of index."
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the object."
                      },
                      "uri": {
                        "title": "StringMatch",
                        "required": [
                          "match_criteria"
                        ],
                        "type": "object",
                        "properties": {
                          "match_criteria": {
                            "type": "string",
                            "description": "Criterion to use for string matching the HTTP request. Enum options - BEGINS_WITH, DOES_NOT_BEGIN_WITH, CONTAINS, DOES_NOT_CONTAIN, ENDS_WITH, DOES_NOT_END_WITH, EQUALS, DOES_NOT_EQUAL, REGEX_MATCH, REGEX_DOES_NOT_MATCH."
                          },
                          "match_str": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": "String value(s)."
                          },
                          "string_group_refs": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": "UUID of the string group(s). It is a reference to an object of type StringGroup."
                          }
                        }
                      }
                    }
                  },
                  "description": "Placeholder for description of property client_log_filters of obj type AnalyticsPolicy field type str  type object"
                },
                "enabled": {
                  "type": "boolean",
                  "description": "[DEPRECATED] Disable Analytics on this VirtualService. This will disable the collection of both metrics and logs. Please use following fields in AnalytcsProfile to control this behavior instead. disable_vs_analytics (for VirtualServices metrics), disable_server_analytics (for Pool metrics) and client_log_config (for logs). Field deprecated in 18.2.1. Field introduced in 17.2.4."
                },
                "full_client_logs": {
                  "title": "FullClientLogs",
                  "required": [
                    "enabled"
                  ],
                  "type": "object",
                  "properties": {
                    "all_headers": {
                      "type": "boolean",
                      "description": "[DEPRECATED] Log all headers. Please use the all_headers flag in AnalyticsPolicy. Field deprecated in 18.1.4, 18.2.1."
                    },
                    "duration": {
                      "type": "integer",
                      "description": "How long should the system capture all logs, measured in minutes. Set to 0 for infinite. Special values are 0 - 'infinite'.",
                            "default": 30
                    },
                    "enabled": {
                      "type": "boolean",
                      "description": "Capture all client logs including connections and requests.  When disabled, only errors will be logged."
                    },
                    "throttle": {
                      "type": "integer",
                      "description": "This setting limits the number of non-significant logs generated per second for this VS on each SE. Default is 10 logs per second. Set it to zero (0) to disable throttling. Field introduced in 17.1.3.",
                            "default": 10
                    }
                  }
                },
                "metrics_realtime_update": {
                  "title": "MetricsRealTimeUpdate",
                  "required": [
                    "enabled"
                  ],
                  "type": "object",
                  "properties": {
                    "duration": {
                      "type": "integer",
                      "description": "Real time metrics collection duration in minutes. 0 for infinite. Special values are 0 - 'infinite'.",
                            "default": 30
                    },
                    "enabled": {
                      "type": "boolean",
                      "description": "Enables real time metrics collection.  When disabled, 6 hour view is the most granular the system will track."
                    }
                  }
                },
                "significant_log_throttle": {
                  "type": "integer",
                  "description": "This setting limits the number of significant logs generated per second for this VS on each SE. Default is 10 logs per second. Set it to zero (0) to disable throttling. Field introduced in 17.1.3.",
                    "default": 10
                },
                "udf_log_throttle": {
                  "type": "integer",
                  "description": "This setting limits the total number of UDF logs generated per second for this VS on each SE. UDF logs are generated due to the configured client log filters or the rules with logging enabled. Default is 10 logs per second. Set it to zero (0) to disable throttling. Field introduced in 17.1.3.",
                    "default": 10
                }
              }
            },
            "analytics_profile_ref": {
              "type": "string",
              "description": "Specifies settings related to analytics. It is a reference to an object of type AnalyticsProfile."
            },
            "apic_contract_graph": {
              "type": "string",
              "description": "The name of the Contract/Graph associated with the Virtual Service. Should be in the <Contract name> <Graph name> format. This is applicable only for Service Integration mode with Cisco APIC Controller . Field introduced in 17.2.12,18.1.2."
            },
            "application_profile_ref": {
              "type": "string",
              "description": "Enable application layer specific features for the Virtual Service. It is a reference to an object of type ApplicationProfile."
            },
            "auto_allocate_floating_ip": {
              "type": "boolean",
              "description": "Auto-allocate floating/elastic IP from the Cloud infrastructure. Field deprecated in 17.1.1."
            },
            "auto_allocate_ip": {
              "type": "boolean",
              "description": "Auto-allocate VIP from the provided subnet. Field deprecated in 17.1.1."
            },
            "availability_zone": {
              "type": "string",
              "description": "Availability-zone to place the Virtual Service. Field deprecated in 17.1.1."
            },
            "avi_allocated_fip": {
              "type": "boolean",
              "description": "(internal-use) FIP allocated by Avi in the Cloud infrastructure. Field deprecated in 17.1.1."
            },
            "avi_allocated_vip": {
              "type": "boolean",
              "description": "(internal-use) VIP allocated by Avi in the Cloud infrastructure. Field deprecated in 17.1.1."
            },
            "azure_availability_set": {
              "type": "string",
              "description": "(internal-use)Applicable for Azure only. Azure Availability set to which this VS is associated. Internally set by the cloud connector. Field introduced in 17.2.12, 18.1.2."
            },
            "bulk_sync_kvcache": {
              "type": "boolean",
              "description": "(This is a beta feature). Sync Key-Value cache to the new SEs when VS is scaled out. For ex  SSL sessions are stored using VS's Key-Value cache. When the VS is scaled out, the SSL session information is synced to the new SE, allowing existing SSL sessions to be reused on the new SE. . Field introduced in 17.2.7, 18.1.1."
            },
            "client_auth": {
              "title": "HTTPClientAuthenticationParams",
              "type": "object",
              "properties": {
                "auth_profile_ref": {
                  "type": "string",
                  "description": "Auth Profile to use for validating users. It is a reference to an object of type AuthProfile."
                },
                "realm": {
                  "type": "string",
                  "description": "Basic authentication realm to present to a user along with the prompt for credentials."
                },
                "request_uri_path": {
                  "title": "StringMatch",
                  "required": [
                    "match_criteria"
                  ],
                  "type": "object",
                  "properties": {
                    "match_criteria": {
                      "type": "string",
                      "description": "Criterion to use for string matching the HTTP request. Enum options - BEGINS_WITH, DOES_NOT_BEGIN_WITH, CONTAINS, DOES_NOT_CONTAIN, ENDS_WITH, DOES_NOT_END_WITH, EQUALS, DOES_NOT_EQUAL, REGEX_MATCH, REGEX_DOES_NOT_MATCH."
                    },
                    "match_str": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "String value(s)."
                    },
                    "string_group_refs": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "UUID of the string group(s). It is a reference to an object of type StringGroup."
                    }
                  }
                },
                "type": {
                  "type": "string",
                  "description": "type of client authentication. Enum options - HTTP_BASIC_AUTH."
                }
              }
            },
            "close_client_conn_on_config_update": {
              "type": "boolean",
              "description": "close client connection on vs config update. Field introduced in 17.2.4."
            },
            "cloud_config_cksum": {
              "type": "string",
              "description": "Checksum of cloud configuration for VS. Internally set by cloud connector."
            },
            "cloud_ref": {
              "type": "string",
              "description": "It is a reference to an object of type Cloud."
            },
            "cloud_type": {
              "type": "string",
              "description": "Enum options - CLOUD_NONE, CLOUD_VCENTER, CLOUD_OPENSTACK, CLOUD_AWS, CLOUD_VCA, CLOUD_APIC, CLOUD_MESOS, CLOUD_LINUXSERVER, CLOUD_DOCKER_UCP, CLOUD_RANCHER, CLOUD_OSHIFT_K8S, CLOUD_AZURE, CLOUD_GCP, CLOUD_NSXT.",
              "default": "CLOUD_NONE"
            },
            "connections_rate_limit": {
              "title": "RateProfile",
              "required": [
                "action"
              ],
              "type": "object",
              "properties": {
                "action": {
                  "title": "RateLimiterAction",
                  "type": "object",
                  "properties": {
                    "file": {
                      "title": "HTTPLocalFile",
                      "required": [
                        "content_type",
                        "file_content"
                      ],
                      "type": "object",
                      "properties": {
                        "content_type": {
                          "type": "string",
                          "description": "Mime-type of the content in the file."
                        },
                        "file_content": {
                          "type": "string",
                          "description": "File content to used in the local HTTP response body."
                        }
                      }
                    },
                    "redirect": {
                      "title": "HTTPRedirectAction",
                      "required": [
                        "protocol"
                      ],
                      "type": "object",
                      "properties": {
                        "host": {
                          "type": "object",
                          "description": ""
                        },
                        "keep_query": {
                          "type": "boolean",
                          "description": "Keep or drop the query of the incoming request URI in the redirected URI.",
                          "default": true
                        },
                        "path": {
                          "type": "object",
                          "description": ""
                        },
                        "port": {
                          "type": "integer",
                          "description": "Port to which redirect the request. Allowed values are 1-65535."
                        },
                        "protocol": {
                          "type": "string",
                          "description": "Protocol type. Enum options - HTTP, HTTPS."
                        },
                        "status_code": {
                          "type": "string",
                          "description": "HTTP redirect status code. Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307.",
                          "default": "HTTP_REDIRECT_STATUS_CODE_302"
                        }
                      }
                    },
                    "status_code": {
                      "type": "string",
                      "description": "HTTP status code for Local Response rate limit action. Enum options - HTTP_LOCAL_RESPONSE_STATUS_CODE_200, HTTP_LOCAL_RESPONSE_STATUS_CODE_204, HTTP_LOCAL_RESPONSE_STATUS_CODE_403, HTTP_LOCAL_RESPONSE_STATUS_CODE_404, HTTP_LOCAL_RESPONSE_STATUS_CODE_429, HTTP_LOCAL_RESPONSE_STATUS_CODE_501.",
                      "default": "HTTP_LOCAL_RESPONSE_STATUS_CODE_429"
                    },
                    "type": {
                      "type": "string",
                      "description": "Type of action to be enforced upon hitting the rate limit. Enum options - RL_ACTION_NONE, RL_ACTION_DROP_CONN, RL_ACTION_RESET_CONN, RL_ACTION_CLOSE_CONN, RL_ACTION_LOCAL_RSP, RL_ACTION_REDIRECT.",
                      "default": "RL_ACTION_NONE"
                    }
                  }
                },
                "burst_sz": {
                  "type": "integer",
                  "description": "Maximum number of connections or requests or packets to be let through instantaneously. Allowed values are 10-2500. Special values are 0- 'automatic'. Field deprecated in 18.2.9."
                },
                "count": {
                  "type": "integer",
                  "description": "Maximum number of connections or requests or packets. Allowed values are 1-1000000000. Special values are 0- 'unlimited'. Field deprecated in 18.2.9."
                },
                "explicit_tracking": {
                  "type": "boolean",
                  "description": "Explicitly tracks an attacker across rate periods."
                },
                "fine_grain": {
                  "type": "boolean",
                  "description": "Enable fine granularity."
                },
                "http_cookie": {
                  "type": "string",
                  "description": "HTTP cookie name. Field introduced in 17.1.1."
                },
                "http_header": {
                  "type": "string",
                  "description": "HTTP header name. Field introduced in 17.1.1."
                },
                "period": {
                  "type": "integer",
                  "description": "Time value in seconds to enforce rate count. Allowed values are 1-300. Field deprecated in 18.2.9."
                },
                "rate_limiter": {
                  "title": "RateLimiter",
                  "required": [
                    "count",
                    "period"
                  ],
                  "type": "object",
                  "properties": {
                    "burst_sz": {
                      "type": "integer",
                      "description": "Maximum number of connections, requests or packets to be let through instantaneously.  If this is less than count, it will have no effect. Allowed values are 0-1000000000. Field introduced in 18.2.9."
                    },
                    "count": {
                      "type": "integer",
                      "description": "Maximum number of connections, requests or packets permitted each period. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                            "example": 1000000000
                    },
                    "name": {
                      "type": "string",
                      "description": "Identifier for Rate Limit. Constructed according to context. Field introduced in 18.2.9."
                    },
                    "period": {
                      "type": "integer",
                      "description": "Time value in seconds to enforce rate count. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                            "example": 1
                    }
                  }
                }
              }
            },
            "content_rewrite": {
              "title": "ContentRewriteProfile",
              "type": "object",
              "properties": {
                "req_match_replace_pair": {
                  "type": "array",
                  "items": {
                    "title": "MatchReplacePair",
                    "required": [
                      "match_string"
                    ],
                    "type": "object",
                    "properties": {
                      "match_string": {
                        "type": "string",
                        "description": "String to be matched."
                      },
                      "replacement_string": {
                        "title": "ReplaceStringVar",
                        "type": "object",
                        "properties": {
                          "type": {
                            "type": "string",
                            "description": "Type of replacement string - can be a variable exposed from datascript, value of an HTTP header or a custom user-input literal string. Enum options - DATASCRIPT_VAR, HTTP_HEADER_VAR, LITERAL_STRING."
                          },
                          "val": {
                            "type": "string",
                            "description": "Value of the replacement string - name of variable exposed from datascript, name of the HTTP header or a custom user-input literal string."
                          }
                        }
                      }
                    }
                  },
                  "description": "Strings to be matched and replaced with on the request body."
                },
                "request_rewrite_enabled": {
                  "type": "boolean",
                  "description": "Enable rewrite on request body."
                },
                "response_rewrite_enabled": {
                  "type": "boolean",
                  "description": "Enable rewrite on response body."
                },
                "rewritable_content_ref": {
                  "type": "string",
                  "description": "Rewrite only content types listed in this string group. Content types not present in this list are not rewritten. It is a reference to an object of type StringGroup."
                },
                "rsp_match_replace_pair": {
                  "type": "array",
                  "items": {
                    "title": "MatchReplacePair",
                    "required": [
                      "match_string"
                    ],
                    "type": "object",
                    "properties": {
                      "match_string": {
                        "type": "string",
                        "description": "String to be matched."
                      },
                      "replacement_string": {
                        "title": "ReplaceStringVar",
                        "type": "object",
                        "properties": {
                          "type": {
                            "type": "string",
                            "description": "Type of replacement string - can be a variable exposed from datascript, value of an HTTP header or a custom user-input literal string. Enum options - DATASCRIPT_VAR, HTTP_HEADER_VAR, LITERAL_STRING."
                          },
                          "val": {
                            "type": "string",
                            "description": "Value of the replacement string - name of variable exposed from datascript, name of the HTTP header or a custom user-input literal string."
                          }
                        }
                      }
                    }
                  },
                  "description": "Strings to be matched and replaced with on the response body."
                }
              }
            },
            "created_by": {
              "type": "string",
              "description": "Creator name."
            },
            "delay_fairness": {
              "type": "boolean",
              "description": "Select the algorithm for QoS fairness.  This determines how multiple Virtual Services sharing the same Service Engines will prioritize traffic over a congested network."
            },
            "description": {
              "type": "string",
              "description": "User defined description for the object."
            },
            "discovered_network_ref": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "(internal-use) Discovered networks providing reachability for client facing Virtual Service IP. This field is deprecated. It is a reference to an object of type Network. Field deprecated in 17.1.1."
            },
            "discovered_networks": {
              "type": "array",
              "items": {
                "title": "DiscoveredNetwork",
                "required": [
                  "network_ref"
                ],
                "type": "object",
                "properties": {
                  "network_ref": {
                    "type": "string",
                    "description": "Discovered network for this IP. It is a reference to an object of type Network."
                  },
                  "subnet": {
                    "type": "array",
                    "items": {
                      "title": "IpAddrPrefix",
                      "required": [
                        "ip_addr",
                        "mask"
                      ],
                      "type": "object",
                      "properties": {
                        "ip_addr": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "mask": {
                          "type": "integer",
                          "description": "Number of mask."
                        }
                      }
                    },
                    "description": "Discovered subnet for this IP."
                  },
                  "subnet6": {
                    "type": "array",
                    "items": {
                      "title": "IpAddrPrefix",
                      "required": [
                        "ip_addr",
                        "mask"
                      ],
                      "type": "object",
                      "properties": {
                        "ip_addr": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "mask": {
                          "type": "integer",
                          "description": "Number of mask."
                        }
                      }
                    },
                    "description": "Discovered IPv6 subnet for this IP. Field introduced in 18.1.1."
                  }
                }
              },
              "description": "(internal-use) Discovered networks providing reachability for client facing Virtual Service IP. This field is used internally by Avi, not editable by the user. Field deprecated in 17.1.1."
            },
            "discovered_subnet": {
              "type": "array",
              "items": {
                "title": "IpAddrPrefix",
                "required": [
                  "ip_addr",
                  "mask"
                ],
                "type": "object",
                "properties": {
                  "ip_addr": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "mask": {
                    "type": "integer",
                    "description": "Number of mask."
                  }
                }
              },
              "description": "(internal-use) Discovered subnets providing reachability for client facing Virtual Service IP. This field is deprecated. Field deprecated in 17.1.1."
            },
            "dns_info": {
              "type": "array",
              "items": {
                "title": "DnsInfo",
                "type": "object",
                "properties": {
                  "algorithm": {
                    "type": "string",
                    "description": "Specifies the algorithm to pick the IP address(es) to be returned, when multiple entries are configured. This does not apply if num_records_in_response is 0. Default is consistent hash. Enum options - DNS_RECORD_RESPONSE_ROUND_ROBIN, DNS_RECORD_RESPONSE_CONSISTENT_HASH. Field introduced in 17.1.1.",
                    "default": "DNS_RECORD_RESPONSE_CONSISTENT_HASH"
                  },
                  "cname": {
                    "title": "DnsCnameRdata",
                    "required": [
                      "cname"
                    ],
                    "type": "object",
                    "properties": {
                      "cname": {
                        "type": "string",
                        "description": "Canonical name."
                      }
                    }
                  },
                  "fqdn": {
                    "type": "string",
                    "description": "Fully qualified domain name."
                  },
                  "metadata": {
                    "type": "string",
                    "description": "Any metadata associated with this record. Field introduced in 17.2.2."
                  },
                  "num_records_in_response": {
                    "type": "integer",
                    "description": "Specifies the number of records returned for this FQDN. Enter 0 to return all records. Default is 0. Allowed values are 0-20. Special values are 0- 'Return all records'. Field introduced in 17.1.1.",
                        "default": 1
                  },
                  "ttl": {
                    "type": "integer",
                    "description": "Time to live for fqdn record. Default value is chosen from DNS profile for this cloud if no value provided."
                  },
                  "type": {
                    "type": "string",
                    "description": "DNS record type. Enum options - DNS_RECORD_OTHER, DNS_RECORD_A, DNS_RECORD_NS, DNS_RECORD_CNAME, DNS_RECORD_SOA, DNS_RECORD_PTR, DNS_RECORD_HINFO, DNS_RECORD_MX, DNS_RECORD_TXT, DNS_RECORD_RP, DNS_RECORD_DNSKEY, DNS_RECORD_AAAA, DNS_RECORD_SRV, DNS_RECORD_OPT, DNS_RECORD_RRSIG, DNS_RECORD_AXFR, DNS_RECORD_ANY.",
                    "default": "DNS_RECORD_A"
                  }
                }
              },
              "description": "Service discovery specific data including fully qualified domain name, type and Time-To-Live of the DNS record. Note that only one of fqdn and dns_info setting is allowed."
            },
            "dns_policies": {
              "type": "array",
              "items": {
                "title": "DnsPolicies",
                "required": [
                  "dns_policy_ref",
                  "index"
                ],
                "type": "object",
                "properties": {
                  "dns_policy_ref": {
                    "type": "string",
                    "description": "UUID of the dns policy. It is a reference to an object of type DnsPolicy. Field introduced in 17.1.1."
                  },
                  "index": {
                    "type": "integer",
                    "description": "Index of the dns policy. Field introduced in 17.1.1."
                  }
                }
              },
              "description": "DNS Policies applied on the dns traffic of the Virtual Service. Field introduced in 17.1.1."
            },
            "east_west_placement": {
              "type": "boolean",
              "description": "Force placement on all SE's in service group (Mesos mode only)."
            },
            "enable_autogw": {
              "type": "boolean",
              "description": "Response traffic to clients will be sent back to the source MAC address of the connection, rather than statically sent to a default gateway.",
              "default": true
            },
            "enable_rhi": {
              "type": "boolean",
              "description": "Enable Route Health Injection using the BGP Config in the vrf context."
            },
            "enable_rhi_snat": {
              "type": "boolean",
              "description": "Enable Route Health Injection for Source NAT'ted floating IP Address using the BGP Config in the vrf context."
            },
            "enabled": {
              "type": "boolean",
              "description": "Enable or disable the Virtual Service.",
              "default": true
            },
            "error_page_profile_ref": {
              "type": "string",
              "description": "Error Page Profile to be used for this virtualservice.This profile is used to send the custom error page to the client generated by the proxy. It is a reference to an object of type ErrorPageProfile. Field introduced in 17.2.4."
            },
            "floating_ip": {
              "title": "IpAddr",
              "required": [
                "addr",
                "type"
              ],
              "type": "object",
              "properties": {
                "addr": {
                  "type": "string",
                  "description": "IP address."
                },
                "type": {
                  "type": "string",
                  "description": "Enum options - V4, DNS, V6."
                }
              }
            },
            "floating_subnet_uuid": {
              "type": "string",
              "description": "If auto_allocate_floating_ip is True and more than one floating-ip subnets exist, then the subnet for the floating IP address allocation. This field is applicable only if the VirtualService belongs to an OpenStack or AWS cloud. In OpenStack or AWS cloud it is required when auto_allocate_floating_ip is selected. Field deprecated in 17.1.1."
            },
            "flow_dist": {
              "type": "string",
              "description": "Criteria for flow distribution among SEs. Enum options - LOAD_AWARE, CONSISTENT_HASH_SOURCE_IP_ADDRESS, CONSISTENT_HASH_SOURCE_IP_ADDRESS_AND_PORT.",
              "default": "LOAD_AWARE"
            },
            "flow_label_type": {
              "type": "string",
              "description": "Criteria for flow labelling. Enum options - NO_LABEL, APPLICATION_LABEL, SERVICE_LABEL.",
              "default": "NO_LABEL"
            },
            "fqdn": {
              "type": "string",
              "description": "DNS resolvable, fully qualified domain name of the virtualservice. Only one of 'fqdn' and 'dns_info' configuration is allowed."
            },
            "host_name_xlate": {
              "type": "string",
              "description": "Translate the host name sent to the servers to this value.  Translate the host name sent from servers back to the value used by the client."
            },
            "http_policies": {
              "type": "array",
              "items": {
                "title": "HTTPPolicies",
                "required": [
                  "http_policy_set_ref",
                  "index"
                ],
                "type": "object",
                "properties": {
                  "http_policy_set_ref": {
                    "type": "string",
                    "description": "UUID of the virtual service HTTP policy collection. It is a reference to an object of type HTTPPolicySet."
                  },
                  "index": {
                    "type": "integer",
                    "description": "Index of the virtual service HTTP policy collection."
                  }
                }
              },
              "description": "HTTP Policies applied on the data traffic of the Virtual Service."
            },
            "icap_request_profile_refs": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "The config settings for the ICAP server when checking the HTTP request. It is a reference to an object of type IcapProfile. Field introduced in 20.1.1."
            },
            "ign_pool_net_reach": {
              "type": "boolean",
              "description": "Ignore Pool servers network reachability constraints for Virtual Service placement."
            },
            "ip_address": {
              "title": "IpAddr",
              "required": [
                "addr",
                "type"
              ],
              "type": "object",
              "properties": {
                "addr": {
                  "type": "string",
                  "description": "IP address."
                },
                "type": {
                  "type": "string",
                  "description": "Enum options - V4, DNS, V6."
                }
              }
            },
            "ipam_network_subnet": {
              "title": "IPNetworkSubnet",
              "type": "object",
              "properties": {
                "network_ref": {
                  "type": "string",
                  "description": "Network for VirtualService IP allocation with Vantage as the IPAM provider. Network should be created before this is configured. It is a reference to an object of type Network."
                },
                "subnet": {
                  "title": "IpAddrPrefix",
                  "required": [
                    "ip_addr",
                    "mask"
                  ],
                  "type": "object",
                  "properties": {
                    "ip_addr": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "mask": {
                      "type": "integer",
                      "description": "Number of mask."
                    }
                  }
                },
                "subnet6": {
                  "title": "IpAddrPrefix",
                  "required": [
                    "ip_addr",
                    "mask"
                  ],
                  "type": "object",
                  "properties": {
                    "ip_addr": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "mask": {
                      "type": "integer",
                      "description": "Number of mask."
                    }
                  }
                },
                "subnet6_uuid": {
                  "type": "string",
                  "description": "Subnet UUID or Name or Prefix for VirtualService IPv6 allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed. Field introduced in 18.1.1."
                },
                "subnet_uuid": {
                  "type": "string",
                  "description": "Subnet UUID or Name or Prefix for VirtualService IP allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed."
                }
              }
            },
            "l4_policies": {
              "type": "array",
              "items": {
                "title": "L4Policies",
                "required": [
                  "index",
                  "l4_policy_set_ref"
                ],
                "type": "object",
                "properties": {
                  "index": {
                    "type": "integer",
                    "description": "Index of the virtual service L4 policy set. Field introduced in 17.2.7."
                  },
                  "l4_policy_set_ref": {
                    "type": "string",
                    "description": "ID of the virtual service L4 policy set. It is a reference to an object of type L4PolicySet. Field introduced in 17.2.7."
                  }
                }
              },
              "description": "L4 Policies applied to the data traffic of the Virtual Service. Field introduced in 17.2.7."
            },
            "limit_doser": {
              "type": "boolean",
              "description": "Limit potential DoS attackers who exceed max_cps_per_client significantly to a fraction of max_cps_per_client for a while."
            },
            "max_cps_per_client": {
              "type": "integer",
              "description": "Maximum connections per second per client IP. Allowed values are 10-1000. Special values are 0- 'unlimited'."
            },
            "microservice_ref": {
              "type": "string",
              "description": "Microservice representing the virtual service. It is a reference to an object of type MicroService."
            },
            "min_pools_up": {
              "type": "integer",
              "description": "Minimum number of UP pools to mark VS up. Field introduced in 18.2.1, 17.2.12."
            },
            "name": {
              "type": "string",
              "description": "Name for the Virtual Service."
            },
            "network_profile_ref": {
              "type": "string",
              "description": "Determines network settings such as protocol, TCP or UDP, and related options for the protocol. It is a reference to an object of type NetworkProfile."
            },
            "network_ref": {
              "type": "string",
              "description": "Manually override the network on which the Virtual Service is placed. It is a reference to an object of type Network. Field deprecated in 17.1.1."
            },
            "network_security_policy_ref": {
              "type": "string",
              "description": "Network security policies for the Virtual Service. It is a reference to an object of type NetworkSecurityPolicy."
            },
            "nsx_securitygroup": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "A list of NSX Service Groups representing the Clients which can access the Virtual IP of the Virtual Service. Field introduced in 17.1.1."
            },
            "performance_limits": {
              "title": "PerformanceLimits",
              "type": "object",
              "properties": {
                "max_concurrent_connections": {
                  "type": "integer",
                  "description": "The maximum number of concurrent client conections allowed to the Virtual Service."
                },
                "max_throughput": {
                  "type": "integer",
                  "description": "The maximum throughput per second for all clients allowed through the client side of the Virtual Service."
                }
              }
            },
            "pool_group_ref": {
              "type": "string",
              "description": "The pool group is an object that contains pools. It is a reference to an object of type PoolGroup."
            },
            "pool_ref": {
              "type": "string",
              "description": "The pool is an object that contains destination servers and related attributes such as load-balancing and persistence. It is a reference to an object of type Pool."
            },
            "port_uuid": {
              "type": "string",
              "description": "(internal-use) Network port assigned to the Virtual Service IP address. Field deprecated in 17.1.1."
            },
            "remove_listening_port_on_vs_down": {
              "type": "boolean",
              "description": "Remove listening port if VirtualService is down."
            },
            "requests_rate_limit": {
              "title": "RateProfile",
              "required": [
                "action"
              ],
              "type": "object",
              "properties": {
                "action": {
                  "title": "RateLimiterAction",
                  "type": "object",
                  "properties": {
                    "file": {
                      "title": "HTTPLocalFile",
                      "required": [
                        "content_type",
                        "file_content"
                      ],
                      "type": "object",
                      "properties": {
                        "content_type": {
                          "type": "string",
                          "description": "Mime-type of the content in the file."
                        },
                        "file_content": {
                          "type": "string",
                          "description": "File content to used in the local HTTP response body."
                        }
                      }
                    },
                    "redirect": {
                      "title": "HTTPRedirectAction",
                      "required": [
                        "protocol"
                      ],
                      "type": "object",
                      "properties": {
                        "host": {
                          "type": "object",
                          "description": ""
                        },
                        "keep_query": {
                          "type": "boolean",
                          "description": "Keep or drop the query of the incoming request URI in the redirected URI.",
                          "default": true
                        },
                        "path": {
                          "type": "object",
                          "description": ""
                        },
                        "port": {
                          "type": "integer",
                          "description": "Port to which redirect the request. Allowed values are 1-65535."
                        },
                        "protocol": {
                          "type": "string",
                          "description": "Protocol type. Enum options - HTTP, HTTPS."
                        },
                        "status_code": {
                          "type": "string",
                          "description": "HTTP redirect status code. Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307.",
                          "default": "HTTP_REDIRECT_STATUS_CODE_302"
                        }
                      }
                    },
                    "status_code": {
                      "type": "string",
                      "description": "HTTP status code for Local Response rate limit action. Enum options - HTTP_LOCAL_RESPONSE_STATUS_CODE_200, HTTP_LOCAL_RESPONSE_STATUS_CODE_204, HTTP_LOCAL_RESPONSE_STATUS_CODE_403, HTTP_LOCAL_RESPONSE_STATUS_CODE_404, HTTP_LOCAL_RESPONSE_STATUS_CODE_429, HTTP_LOCAL_RESPONSE_STATUS_CODE_501.",
                      "default": "HTTP_LOCAL_RESPONSE_STATUS_CODE_429"
                    },
                    "type": {
                      "type": "string",
                      "description": "Type of action to be enforced upon hitting the rate limit. Enum options - RL_ACTION_NONE, RL_ACTION_DROP_CONN, RL_ACTION_RESET_CONN, RL_ACTION_CLOSE_CONN, RL_ACTION_LOCAL_RSP, RL_ACTION_REDIRECT.",
                      "default": "RL_ACTION_NONE"
                    }
                  }
                },
                "burst_sz": {
                  "type": "integer",
                  "description": "Maximum number of connections or requests or packets to be let through instantaneously. Allowed values are 10-2500. Special values are 0- 'automatic'. Field deprecated in 18.2.9."
                },
                "count": {
                  "type": "integer",
                  "description": "Maximum number of connections or requests or packets. Allowed values are 1-1000000000. Special values are 0- 'unlimited'. Field deprecated in 18.2.9."
                },
                "explicit_tracking": {
                  "type": "boolean",
                  "description": "Explicitly tracks an attacker across rate periods."
                },
                "fine_grain": {
                  "type": "boolean",
                  "description": "Enable fine granularity."
                },
                "http_cookie": {
                  "type": "string",
                  "description": "HTTP cookie name. Field introduced in 17.1.1."
                },
                "http_header": {
                  "type": "string",
                  "description": "HTTP header name. Field introduced in 17.1.1."
                },
                "period": {
                  "type": "integer",
                  "description": "Time value in seconds to enforce rate count. Allowed values are 1-300. Field deprecated in 18.2.9."
                },
                "rate_limiter": {
                  "title": "RateLimiter",
                  "required": [
                    "count",
                    "period"
                  ],
                  "type": "object",
                  "properties": {
                    "burst_sz": {
                      "type": "integer",
                      "description": "Maximum number of connections, requests or packets to be let through instantaneously.  If this is less than count, it will have no effect. Allowed values are 0-1000000000. Field introduced in 18.2.9."
                    },
                    "count": {
                      "type": "integer",
                      "description": "Maximum number of connections, requests or packets permitted each period. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                            "example": 1000000000
                    },
                    "name": {
                      "type": "string",
                      "description": "Identifier for Rate Limit. Constructed according to context. Field introduced in 18.2.9."
                    },
                    "period": {
                      "type": "integer",
                      "description": "Time value in seconds to enforce rate count. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                            "example": 1
                    }
                  }
                }
              }
            },
            "saml_sp_config": {
              "title": "SAMLSPConfig",
              "required": [
                "entity_id",
                "single_signon_url"
              ],
              "type": "object",
              "properties": {
                "cookie_name": {
                  "type": "string",
                  "description": "HTTP cookie name for authenticated session. Field introduced in 18.2.3."
                },
                "cookie_timeout": {
                  "type": "integer",
                  "description": "Cookie timeout in minutes. Allowed values are 1-1440. Field introduced in 18.2.3.",
                    "default": 60
                },
                "entity_id": {
                  "type": "string",
                  "description": "Globally unique SAML entityID for this node. The SAML application entity ID on the IDP should match this. Field introduced in 18.2.3."
                },
                "key": {
                  "type": "array",
                  "items": {
                    "title": "HttpCookiePersistenceKey",
                    "type": "object",
                    "properties": {
                      "aes_key": {
                        "type": "string",
                        "description": "aes_key of HttpCookiePersistenceKey."
                      },
                      "hmac_key": {
                        "type": "string",
                        "description": "hmac_key of HttpCookiePersistenceKey."
                      },
                      "name": {
                        "type": "string",
                        "description": "name to use for cookie encryption."
                      }
                    }
                  },
                  "description": "Key to generate the cookie. Field introduced in 18.2.3."
                },
                "signing_ssl_key_and_certificate_ref": {
                  "type": "string",
                  "description": "SP will use this SSL certificate to sign requests going to the IdP and decrypt the assertions coming from IdP. It is a reference to an object of type SSLKeyAndCertificate. Field introduced in 18.2.3."
                },
                "single_signon_url": {
                  "type": "string",
                  "description": "SAML Single Signon URL to be programmed on the IDP. Field introduced in 18.2.3."
                },
                "sp_metadata": {
                  "type": "string",
                  "description": "SAML SP metadata for this application. Field introduced in 18.2.3."
                },
                "use_idp_session_timeout": {
                  "type": "boolean",
                  "description": "By enabling this field IdP can control how long the SP session can exist through the SessionNotOnOrAfter field in the AuthNStatement of SAML Response. Field introduced in 20.1.1."
                }
              }
            },
            "scaleout_ecmp": {
              "type": "boolean",
              "description": "Disable re-distribution of flows across service engines for a virtual service. Enable if the network itself performs flow hashing with ECMP in environments such as GCP."
            },
            "se_group_ref": {
              "type": "string",
              "description": "The Service Engine Group to use for this Virtual Service. Moving to a new SE Group is disruptive to existing connections for this VS. It is a reference to an object of type ServiceEngineGroup."
            },
            "security_policy_ref": {
              "type": "string",
              "description": "Security policy applied on the traffic of the Virtual Service. This policy is used to perform security actions such as Distributed Denial of Service (DDoS) attack mitigation, etc. It is a reference to an object of type SecurityPolicy. Field introduced in 18.2.1."
            },
            "server_network_profile_ref": {
              "type": "string",
              "description": "Determines the network settings profile for the server side of TCP proxied connections.  Leave blank to use the same settings as the client to VS side of the connection. It is a reference to an object of type NetworkProfile."
            },
            "service_metadata": {
              "type": "string",
              "description": "Metadata pertaining to the Service provided by this virtual service. In Openshift/Kubernetes environments, egress pod info is stored. Any user input to this field will be overwritten by Avi Vantage."
            },
            "service_pool_select": {
              "type": "array",
              "items": {
                "title": "ServicePoolSelector",
                "required": [
                  "service_port"
                ],
                "type": "object",
                "properties": {
                  "service_pool_group_ref": {
                    "type": "string",
                    "description": "It is a reference to an object of type PoolGroup."
                  },
                  "service_pool_ref": {
                    "type": "string",
                    "description": "It is a reference to an object of type Pool."
                  },
                  "service_port": {
                    "type": "integer",
                    "description": "Pool based destination port. Allowed values are 1-65535."
                  },
                  "service_port_range_end": {
                    "type": "integer",
                    "description": "The end of the Service port number range. Allowed values are 1-65535. Special values are 0- 'single port'. Field introduced in 17.2.4."
                  },
                  "service_protocol": {
                    "type": "string",
                    "description": "Destination protocol to match for the pool selection. If not specified, it will match any protocol. Enum options - PROTOCOL_TYPE_TCP_PROXY, PROTOCOL_TYPE_TCP_FAST_PATH, PROTOCOL_TYPE_UDP_FAST_PATH, PROTOCOL_TYPE_UDP_PROXY."
                  }
                }
              },
              "description": "Select pool based on destination port."
            },
            "services": {
              "type": "array",
              "items": {
                "title": "Service",
                "required": [
                  "port"
                ],
                "type": "object",
                "properties": {
                  "enable_http2": {
                    "type": "boolean",
                    "description": "Enable HTTP2 on this port. Field introduced in 20.1.1."
                  },
                  "enable_ssl": {
                    "type": "boolean",
                    "description": "Enable SSL termination and offload for traffic from clients."
                  },
                  "override_application_profile_ref": {
                    "type": "string",
                    "description": "Enable application layer specific features for the this specific service. It is a reference to an object of type ApplicationProfile. Field introduced in 17.2.4."
                  },
                  "override_network_profile_ref": {
                    "type": "string",
                    "description": "Override the network profile for this specific service port. It is a reference to an object of type NetworkProfile."
                  },
                  "port": {
                    "type": "integer",
                    "description": "The Virtual Service's port number. Allowed values are 0-65535."
                  },
                  "port_range_end": {
                    "type": "integer",
                    "description": "The end of the Virtual Service's port number range. Allowed values are 1-65535. Special values are 0- 'single port'."
                  }
                }
              },
              "description": "List of Services defined for this Virtual Service."
            },
            "sideband_profile": {
              "title": "SidebandProfile",
              "type": "object",
              "properties": {
                "ip": {
                  "type": "array",
                  "items": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "description": "IP Address of the sideband server."
                },
                "sideband_max_request_body_size": {
                  "type": "integer",
                  "description": "Maximum size of the request body that will be sent on the sideband. Allowed values are 0-16384.",
                    "default": 1024
                }
              }
            },
            "snat_ip": {
              "type": "array",
              "items": {
                "title": "IpAddr",
                "required": [
                  "addr",
                  "type"
                ],
                "type": "object",
                "properties": {
                  "addr": {
                    "type": "string",
                    "description": "IP address."
                  },
                  "type": {
                    "type": "string",
                    "description": "Enum options - V4, DNS, V6."
                  }
                }
              },
              "description": "NAT'ted floating source IP Address(es) for upstream connection to servers."
            },
            "sp_pool_refs": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "GSLB pools used to manage site-persistence functionality. Each site-persistence pool contains the virtualservices in all the other sites, that is auto-generated by the GSLB manager. This is a read-only field for the user. It is a reference to an object of type Pool. Field introduced in 17.2.2."
            },
            "ssl_key_and_certificate_refs": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Select or create one or two certificates, EC and/or RSA, that will be presented to SSL/TLS terminated connections. It is a reference to an object of type SSLKeyAndCertificate."
            },
            "ssl_profile_ref": {
              "type": "string",
              "description": "Determines the set of SSL versions and ciphers to accept for SSL/TLS terminated connections. It is a reference to an object of type SSLProfile."
            },
            "ssl_profile_selectors": {
              "type": "array",
              "items": {
                "title": "SSLProfileSelector",
                "required": [
                  "client_ip_list",
                  "ssl_profile_ref"
                ],
                "type": "object",
                "properties": {
                  "client_ip_list": {
                    "title": "IpAddrMatch",
                    "required": [
                      "match_criteria"
                    ],
                    "type": "object",
                    "properties": {
                      "addrs": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "description": ""
                        },
                        "description": "IP address(es)."
                      },
                      "group_refs": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "description": "UUID of IP address group(s). It is a reference to an object of type IpAddrGroup."
                      },
                      "match_criteria": {
                        "type": "string",
                        "description": "Criterion to use for IP address matching the HTTP request. Enum options - IS_IN, IS_NOT_IN."
                      },
                      "prefixes": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "description": ""
                        },
                        "description": "IP address prefix(es)."
                      },
                      "ranges": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "description": ""
                        },
                        "description": "IP address range(s)."
                      }
                    }
                  },
                  "ssl_profile_ref": {
                    "type": "string",
                    "description": "SSL profile for the client IP addresses listed. It is a reference to an object of type SSLProfile. Field introduced in 18.2.3."
                  }
                }
              },
              "description": "Select SSL Profile based on client IP address match. Field introduced in 18.2.3."
            },
            "ssl_sess_cache_avg_size": {
              "type": "integer",
              "description": "Expected number of SSL session cache entries (may be exceeded). Allowed values are 1024-16383.",
              "default": 1024
            },
            "sso_policy": {
              "title": "SSOPolicy",
              "required": [
                "authentication_policy",
                "name",
                "type"
              ],
              "type": "object",
              "properties": {
                "_last_modified": {
                  "type": "string",
                  "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
                },
                "authentication_policy": {
                  "title": "AuthenticationPolicy",
                  "required": [
                    "default_auth_profile_ref"
                  ],
                  "type": "object",
                  "properties": {
                    "auth_profile_ref": {
                      "type": "string",
                      "description": "Auth Profile to use for validating users. It is a reference to an object of type AuthProfile. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                    },
                    "authn_rules": {
                      "type": "array",
                      "items": {
                        "title": "AuthenticationRule",
                        "required": [
                          "enable",
                          "index",
                          "name"
                        ],
                        "type": "object",
                        "properties": {
                          "action": {
                            "type": "object",
                            "description": ""
                          },
                          "enable": {
                            "type": "boolean",
                            "description": "Enable or disable the rule. Field introduced in 18.2.5.",
                            "example": true
                          },
                          "index": {
                            "type": "integer",
                            "description": "Index of the rule. Field introduced in 18.2.5."
                          },
                          "match": {
                            "type": "object",
                            "description": ""
                          },
                          "name": {
                            "type": "string",
                            "description": "Name of the rule. Field introduced in 18.2.5."
                          }
                        }
                      },
                      "description": "Add rules to apply auth profile to specific targets. Field introduced in 18.2.5."
                    },
                    "cookie_name": {
                      "type": "string",
                      "description": "HTTP cookie name for authenticated session. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                    },
                    "cookie_timeout": {
                      "type": "integer",
                      "description": "Cookie timeout in minutes. Allowed values are 1-1440. Field deprecated in 18.2.3. Field introduced in 18.2.1.",
                            "default": 60
                    },
                    "default_auth_profile_ref": {
                      "type": "string",
                      "description": "Auth Profile to use for validating users. It is a reference to an object of type AuthProfile. Field introduced in 18.2.3."
                    },
                    "entity_id": {
                      "type": "string",
                      "description": "Globally unique entityID for this node. Entity ID on the IDP should match this. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                    },
                    "key": {
                      "type": "array",
                      "items": {
                        "title": "HttpCookiePersistenceKey",
                        "type": "object",
                        "properties": {
                          "aes_key": {
                            "type": "string",
                            "description": "aes_key of HttpCookiePersistenceKey."
                          },
                          "hmac_key": {
                            "type": "string",
                            "description": "hmac_key of HttpCookiePersistenceKey."
                          },
                          "name": {
                            "type": "string",
                            "description": "name to use for cookie encryption."
                          }
                        }
                      },
                      "description": "Key to generate the cookie. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                    },
                    "single_signon_url": {
                      "type": "string",
                      "description": "Single Signon URL to be programmed on the IDP. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                    },
                    "sp_metadata": {
                      "type": "string",
                      "description": "SAML SP metadata. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                    }
                  }
                },
                "authorization_policy": {
                  "title": "AuthorizationPolicy",
                  "type": "object",
                  "properties": {
                    "authz_rules": {
                      "type": "array",
                      "items": {
                        "title": "AuthorizationRule",
                        "required": [
                          "action",
                          "enable",
                          "index",
                          "match",
                          "name"
                        ],
                        "type": "object",
                        "properties": {
                          "action": {
                            "type": "object",
                            "description": ""
                          },
                          "enable": {
                            "type": "boolean",
                            "description": "Enable or disable the rule. Field introduced in 18.2.5.",
                            "example": true
                          },
                          "index": {
                            "type": "integer",
                            "description": "Index of the Authorization Policy rule. Field introduced in 18.2.5."
                          },
                          "match": {
                            "type": "object",
                            "description": ""
                          },
                          "name": {
                            "type": "string",
                            "description": "Name of the rule. Field introduced in 18.2.5."
                          }
                        }
                      },
                      "description": "Authorization Policy Rules. Field introduced in 18.2.5."
                    }
                  }
                },
                "name": {
                  "type": "string",
                  "description": "Name of the SSO Policy. Field introduced in 18.2.3."
                },
                "tenant_ref": {
                  "type": "string",
                  "description": "UUID of the Tenant. It is a reference to an object of type Tenant. Field introduced in 18.2.3."
                },
                "type": {
                  "type": "string",
                  "description": "SSO Policy Type. Enum options - SSO_TYPE_SAML, SSO_TYPE_PINGACCESS. Field introduced in 18.2.5.",
                  "example": "SSO_TYPE_SAML"
                },
                "url": {
                  "type": "string",
                  "description": "url"
                },
                "uuid": {
                  "type": "string",
                  "description": "UUID of the SSO Policy. Field introduced in 18.2.3."
                }
              }
            },
            "sso_policy_ref": {
              "type": "string",
              "description": "The SSO Policy attached to the virtualservice. It is a reference to an object of type SSOPolicy. Field introduced in 18.2.3."
            },
            "static_dns_records": {
              "type": "array",
              "items": {
                "title": "DnsRecord",
                "required": [
                  "type"
                ],
                "type": "object",
                "properties": {
                  "algorithm": {
                    "type": "string",
                    "description": "Specifies the algorithm to pick the IP address(es) to be returned, when multiple entries are configured. This does not apply if num_records_in_response is 0. Default is round-robin. Enum options - DNS_RECORD_RESPONSE_ROUND_ROBIN, DNS_RECORD_RESPONSE_CONSISTENT_HASH. Field introduced in 17.1.1.",
                    "default": "DNS_RECORD_RESPONSE_ROUND_ROBIN"
                  },
                  "cname": {
                    "title": "DnsCnameRdata",
                    "required": [
                      "cname"
                    ],
                    "type": "object",
                    "properties": {
                      "cname": {
                        "type": "string",
                        "description": "Canonical name."
                      }
                    }
                  },
                  "delegated": {
                    "type": "boolean",
                    "description": "Configured FQDNs are delegated domains (i.e. they represent a zone cut). Field introduced in 17.1.2."
                  },
                  "description": {
                    "type": "string",
                    "description": "Details of DNS record."
                  },
                  "fqdn": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "Fully Qualified Domain Name."
                  },
                  "ip6_address": {
                    "type": "array",
                    "items": {
                      "title": "DnsAAAARdata",
                      "required": [
                        "ip6_address"
                      ],
                      "type": "object",
                      "properties": {
                        "ip6_address": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        }
                      }
                    },
                    "description": "IPv6 address in AAAA record. Field introduced in 18.1.1."
                  },
                  "ip_address": {
                    "type": "array",
                    "items": {
                      "title": "DnsARdata",
                      "required": [
                        "ip_address"
                      ],
                      "type": "object",
                      "properties": {
                        "ip_address": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        }
                      }
                    },
                    "description": "IP address in A record."
                  },
                  "metadata": {
                    "type": "string",
                    "description": "Internal metadata for the DNS record. Field introduced in 18.2.5."
                  },
                  "mx_records": {
                    "type": "array",
                    "items": {
                      "title": "DnsMxRdata",
                      "required": [
                        "host",
                        "priority"
                      ],
                      "type": "object",
                      "properties": {
                        "host": {
                          "type": "string",
                          "description": "Fully qualified domain name of a mailserver . The host name maps directly to one or more address records in the DNS table, and must not point to any CNAME records (RFC 2181). Field introduced in 18.2.9, 20.1.1."
                        },
                        "priority": {
                          "type": "integer",
                          "description": "The priority field identifies which mail server should be preferred. Allowed values are 0-65535. Field introduced in 18.2.9, 20.1.1."
                        }
                      }
                    },
                    "description": "MX record. Field introduced in 18.2.9, 20.1.1."
                  },
                  "ns": {
                    "type": "array",
                    "items": {
                      "title": "DnsNsRdata",
                      "required": [
                        "nsname"
                      ],
                      "type": "object",
                      "properties": {
                        "ip6_address": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "ip_address": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "nsname": {
                          "type": "string",
                          "description": "Name Server name. Field introduced in 17.1.1."
                        }
                      }
                    },
                    "description": "Name Server information in NS record. Field introduced in 17.1.1."
                  },
                  "num_records_in_response": {
                    "type": "integer",
                    "description": "Specifies the number of records returned by the DNS service. Enter 0 to return all records. Default is 0. Allowed values are 0-20. Special values are 0- 'Return all records'. Field introduced in 17.1.1."
                  },
                  "service_locator": {
                    "type": "array",
                    "items": {
                      "title": "DnsSrvRdata",
                      "required": [
                        "port"
                      ],
                      "type": "object",
                      "properties": {
                        "port": {
                          "type": "integer",
                          "description": "Service port. Allowed values are 0-65535."
                        },
                        "priority": {
                          "type": "integer",
                          "description": "Priority of the target hosting the service, low value implies higher priority for this service record. Allowed values are 0-65535."
                        },
                        "target": {
                          "type": "string",
                          "description": "Canonical hostname, of the machine hosting the service, with no trailing period. 'default.host' is valid but not 'default.host.'.",
                          "default": "default.host"
                        },
                        "weight": {
                          "type": "integer",
                          "description": "Relative weight for service records with same priority, high value implies higher preference for this service record. Allowed values are 0-65535."
                        }
                      }
                    },
                    "description": "Service locator info in SRV record."
                  },
                  "ttl": {
                    "type": "integer",
                    "description": "Time To Live for this DNS record."
                  },
                  "txt_records": {
                    "type": "array",
                    "items": {
                      "title": "DnsTxtRdata",
                      "required": [
                        "text_str"
                      ],
                      "type": "object",
                      "properties": {
                        "text_str": {
                          "type": "string",
                          "description": "Text data associated with the FQDN. Field introduced in 18.2.9, 20.1.1."
                        }
                      }
                    },
                    "description": "Text record. Field introduced in 18.2.9, 20.1.1."
                  },
                  "type": {
                    "type": "string",
                    "description": "DNS record type. Enum options - DNS_RECORD_OTHER, DNS_RECORD_A, DNS_RECORD_NS, DNS_RECORD_CNAME, DNS_RECORD_SOA, DNS_RECORD_PTR, DNS_RECORD_HINFO, DNS_RECORD_MX, DNS_RECORD_TXT, DNS_RECORD_RP, DNS_RECORD_DNSKEY, DNS_RECORD_AAAA, DNS_RECORD_SRV, DNS_RECORD_OPT, DNS_RECORD_RRSIG, DNS_RECORD_AXFR, DNS_RECORD_ANY."
                  },
                  "wildcard_match": {
                    "type": "boolean",
                    "description": "Enable wild-card match of fqdn  if an exact match is not found in the DNS table, the longest match is chosen by wild-carding the fqdn in the DNS request. Default is false. Field introduced in 17.1.1."
                  }
                }
              },
              "description": "List of static DNS records applied to this Virtual Service. These are static entries and no health monitoring is performed against the IP addresses."
            },
            "subnet": {
              "title": "IpAddrPrefix",
              "required": [
                "ip_addr",
                "mask"
              ],
              "type": "object",
              "properties": {
                "ip_addr": {
                  "title": "IpAddr",
                  "required": [
                    "addr",
                    "type"
                  ],
                  "type": "object",
                  "properties": {
                    "addr": {
                      "type": "string",
                      "description": "IP address."
                    },
                    "type": {
                      "type": "string",
                      "description": "Enum options - V4, DNS, V6."
                    }
                  }
                },
                "mask": {
                  "type": "integer",
                  "description": "Number of mask."
                }
              }
            },
            "subnet_uuid": {
              "type": "string",
              "description": "It represents subnet for the Virtual Service IP address allocation when auto_allocate_ip is True.It is only applicable in OpenStack or AWS cloud. This field is required if auto_allocate_ip is True. Field deprecated in 17.1.1."
            },
            "tenant_ref": {
              "type": "string",
              "description": "It is a reference to an object of type Tenant."
            },
            "test_se_datastore_level_1_ref": {
              "type": "string",
              "description": "Used for testing SE Datastore Upgrade 2.0 functionality. It is a reference to an object of type TestSeDatastoreLevel1. Field introduced in 18.2.6."
            },
            "topology_policies": {
              "type": "array",
              "items": {
                "title": "DnsPolicies",
                "required": [
                  "dns_policy_ref",
                  "index"
                ],
                "type": "object",
                "properties": {
                  "dns_policy_ref": {
                    "type": "string",
                    "description": "UUID of the dns policy. It is a reference to an object of type DnsPolicy. Field introduced in 17.1.1."
                  },
                  "index": {
                    "type": "integer",
                    "description": "Index of the dns policy. Field introduced in 17.1.1."
                  }
                }
              },
              "description": "Topology Policies applied on the dns traffic of the Virtual Service based onGSLB Topology algorithm. Field introduced in 18.2.3."
            },
            "traffic_clone_profile_ref": {
              "type": "string",
              "description": "Server network or list of servers for cloning traffic. It is a reference to an object of type TrafficCloneProfile. Field introduced in 17.1.1."
            },
            "traffic_enabled": {
              "type": "boolean",
              "description": "Knob to enable the Virtual Service traffic on its assigned service engines. This setting is effective only when the enabled flag is set to True. Field introduced in 17.2.8.",
              "default": true
            },
            "type": {
              "type": "string",
              "description": "Specify if this is a normal Virtual Service, or if it is the parent or child of an SNI-enabled virtual hosted Virtual Service. Enum options - VS_TYPE_NORMAL, VS_TYPE_VH_PARENT, VS_TYPE_VH_CHILD.",
              "default": "VS_TYPE_NORMAL"
            },
            "url": {
              "type": "string",
              "description": "url"
            },
            "use_bridge_ip_as_vip": {
              "type": "boolean",
              "description": "Use Bridge IP as VIP on each Host in Mesos deployments."
            },
            "use_vip_as_snat": {
              "type": "boolean",
              "description": "Use the Virtual IP as the SNAT IP for health monitoring and sending traffic to the backend servers instead of the Service Engine interface IP. The caveat of enabling this option is that the VirtualService cannot be configued in an Active-Active HA mode. DNS based Multi VIP solution has to be used for HA & Non-disruptive Upgrade purposes. Field introduced in 17.1.9,17.2.3."
            },
            "uuid": {
              "type": "string",
              "description": "UUID of the VirtualService."
            },
            "vh_domain_name": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "The exact name requested from the client's SNI-enabled TLS hello domain name field. If this is a match, the parent VS will forward the connection to this child VS."
            },
            "vh_parent_vs_uuid": {
              "type": "string",
              "description": "Specifies the Virtual Service acting as Virtual Hosting (SNI) parent."
            },
            "vip": {
              "type": "array",
              "items": {
                "title": "Vip",
                "required": [
                  "vip_id"
                ],
                "type": "object",
                "properties": {
                  "auto_allocate_floating_ip": {
                    "type": "boolean",
                    "description": "Auto-allocate floating/elastic IP from the Cloud infrastructure. Field introduced in 17.1.1."
                  },
                  "auto_allocate_ip": {
                    "type": "boolean",
                    "description": "Auto-allocate VIP from the provided subnet. Field introduced in 17.1.1."
                  },
                  "auto_allocate_ip_type": {
                    "type": "string",
                    "description": "Specifies whether to auto-allocate only a V4 address, only a V6 address, or one of each type. Enum options - V4_ONLY, V6_ONLY, V4_V6. Field introduced in 18.1.1.",
                    "default": "V4_ONLY"
                  },
                  "availability_zone": {
                    "type": "string",
                    "description": "Availability-zone to place the Virtual Service. Field introduced in 17.1.1."
                  },
                  "avi_allocated_fip": {
                    "type": "boolean",
                    "description": "(internal-use) FIP allocated by Avi in the Cloud infrastructure. Field introduced in 17.1.1."
                  },
                  "avi_allocated_vip": {
                    "type": "boolean",
                    "description": "(internal-use) VIP allocated by Avi in the Cloud infrastructure. Field introduced in 17.1.1."
                  },
                  "discovered_networks": {
                    "type": "array",
                    "items": {
                      "title": "DiscoveredNetwork",
                      "required": [
                        "network_ref"
                      ],
                      "type": "object",
                      "properties": {
                        "network_ref": {
                          "type": "string",
                          "description": "Discovered network for this IP. It is a reference to an object of type Network."
                        },
                        "subnet": {
                          "type": "array",
                          "items": {
                            "title": "IpAddrPrefix",
                            "required": [
                              "ip_addr",
                              "mask"
                            ],
                            "type": "object",
                            "properties": {
                              "ip_addr": {
                                "title": "IpAddr",
                                "required": [
                                  "addr",
                                  "type"
                                ],
                                "type": "object",
                                "properties": {
                                  "addr": {
                                    "type": "string",
                                    "description": "IP address."
                                  },
                                  "type": {
                                    "type": "string",
                                    "description": "Enum options - V4, DNS, V6."
                                  }
                                }
                              },
                              "mask": {
                                "type": "integer",
                                "description": "Number of mask."
                              }
                            }
                          },
                          "description": "Discovered subnet for this IP."
                        },
                        "subnet6": {
                          "type": "array",
                          "items": {
                            "title": "IpAddrPrefix",
                            "required": [
                              "ip_addr",
                              "mask"
                            ],
                            "type": "object",
                            "properties": {
                              "ip_addr": {
                                "title": "IpAddr",
                                "required": [
                                  "addr",
                                  "type"
                                ],
                                "type": "object",
                                "properties": {
                                  "addr": {
                                    "type": "string",
                                    "description": "IP address."
                                  },
                                  "type": {
                                    "type": "string",
                                    "description": "Enum options - V4, DNS, V6."
                                  }
                                }
                              },
                              "mask": {
                                "type": "integer",
                                "description": "Number of mask."
                              }
                            }
                          },
                          "description": "Discovered IPv6 subnet for this IP. Field introduced in 18.1.1."
                        }
                      }
                    },
                    "description": "Discovered networks providing reachability for client facing Vip IP. Field introduced in 17.1.1."
                  },
                  "enabled": {
                    "type": "boolean",
                    "description": "Enable or disable the Vip. Field introduced in 17.1.1.",
                    "default": true
                  },
                  "floating_ip": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "floating_ip6": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "floating_subnet6_uuid": {
                    "type": "string",
                    "description": "If auto_allocate_floating_ip is True and more than one floating-ip subnets exist, then the subnet for the floating IPv6 address allocation. Field introduced in 18.1.1."
                  },
                  "floating_subnet_uuid": {
                    "type": "string",
                    "description": "If auto_allocate_floating_ip is True and more than one floating-ip subnets exist, then the subnet for the floating IP address allocation. Field introduced in 17.1.1."
                  },
                  "ip6_address": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "ip_address": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "ipam_network_subnet": {
                    "title": "IPNetworkSubnet",
                    "type": "object",
                    "properties": {
                      "network_ref": {
                        "type": "string",
                        "description": "Network for VirtualService IP allocation with Vantage as the IPAM provider. Network should be created before this is configured. It is a reference to an object of type Network."
                      },
                      "subnet": {
                        "title": "IpAddrPrefix",
                        "required": [
                          "ip_addr",
                          "mask"
                        ],
                        "type": "object",
                        "properties": {
                          "ip_addr": {
                            "title": "IpAddr",
                            "required": [
                              "addr",
                              "type"
                            ],
                            "type": "object",
                            "properties": {
                              "addr": {
                                "type": "string",
                                "description": "IP address."
                              },
                              "type": {
                                "type": "string",
                                "description": "Enum options - V4, DNS, V6."
                              }
                            }
                          },
                          "mask": {
                            "type": "integer",
                            "description": "Number of mask."
                          }
                        }
                      },
                      "subnet6": {
                        "title": "IpAddrPrefix",
                        "required": [
                          "ip_addr",
                          "mask"
                        ],
                        "type": "object",
                        "properties": {
                          "ip_addr": {
                            "title": "IpAddr",
                            "required": [
                              "addr",
                              "type"
                            ],
                            "type": "object",
                            "properties": {
                              "addr": {
                                "type": "string",
                                "description": "IP address."
                              },
                              "type": {
                                "type": "string",
                                "description": "Enum options - V4, DNS, V6."
                              }
                            }
                          },
                          "mask": {
                            "type": "integer",
                            "description": "Number of mask."
                          }
                        }
                      },
                      "subnet6_uuid": {
                        "type": "string",
                        "description": "Subnet UUID or Name or Prefix for VirtualService IPv6 allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed. Field introduced in 18.1.1."
                      },
                      "subnet_uuid": {
                        "type": "string",
                        "description": "Subnet UUID or Name or Prefix for VirtualService IP allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed."
                      }
                    }
                  },
                  "network_ref": {
                    "type": "string",
                    "description": "Manually override the network on which the Vip is placed. It is a reference to an object of type Network. Field introduced in 17.1.1."
                  },
                  "placement_networks": {
                    "type": "array",
                    "items": {
                      "title": "VipPlacementNetwork",
                      "type": "object",
                      "properties": {
                        "network_ref": {
                          "type": "string",
                          "description": "Network to use for vip placement. It is a reference to an object of type Network. Field introduced in 18.2.5."
                        },
                        "subnet": {
                          "title": "IpAddrPrefix",
                          "required": [
                            "ip_addr",
                            "mask"
                          ],
                          "type": "object",
                          "properties": {
                            "ip_addr": {
                              "title": "IpAddr",
                              "required": [
                                "addr",
                                "type"
                              ],
                              "type": "object",
                              "properties": {
                                "addr": {
                                  "type": "string",
                                  "description": "IP address."
                                },
                                "type": {
                                  "type": "string",
                                  "description": "Enum options - V4, DNS, V6."
                                }
                              }
                            },
                            "mask": {
                              "type": "integer",
                              "description": "Number of mask."
                            }
                          }
                        },
                        "subnet6": {
                          "title": "IpAddrPrefix",
                          "required": [
                            "ip_addr",
                            "mask"
                          ],
                          "type": "object",
                          "properties": {
                            "ip_addr": {
                              "title": "IpAddr",
                              "required": [
                                "addr",
                                "type"
                              ],
                              "type": "object",
                              "properties": {
                                "addr": {
                                  "type": "string",
                                  "description": "IP address."
                                },
                                "type": {
                                  "type": "string",
                                  "description": "Enum options - V4, DNS, V6."
                                }
                              }
                            },
                            "mask": {
                              "type": "integer",
                              "description": "Number of mask."
                            }
                          }
                        }
                      }
                    },
                    "description": "Placement networks/subnets to use for vip placement. Field introduced in 18.2.5."
                  },
                  "port_uuid": {
                    "type": "string",
                    "description": "(internal-use) Network port assigned to the Vip IP address. Field introduced in 17.1.1."
                  },
                  "prefix_length": {
                    "type": "integer",
                    "description": "Mask applied for the Vip, non-default mask supported only for wildcard Vip. Allowed values are 0-32. Field introduced in 20.1.1.",
                        "default": 32
                  },
                  "subnet": {
                    "title": "IpAddrPrefix",
                    "required": [
                      "ip_addr",
                      "mask"
                    ],
                    "type": "object",
                    "properties": {
                      "ip_addr": {
                        "title": "IpAddr",
                        "required": [
                          "addr",
                          "type"
                        ],
                        "type": "object",
                        "properties": {
                          "addr": {
                            "type": "string",
                            "description": "IP address."
                          },
                          "type": {
                            "type": "string",
                            "description": "Enum options - V4, DNS, V6."
                          }
                        }
                      },
                      "mask": {
                        "type": "integer",
                        "description": "Number of mask."
                      }
                    }
                  },
                  "subnet6": {
                    "title": "IpAddrPrefix",
                    "required": [
                      "ip_addr",
                      "mask"
                    ],
                    "type": "object",
                    "properties": {
                      "ip_addr": {
                        "title": "IpAddr",
                        "required": [
                          "addr",
                          "type"
                        ],
                        "type": "object",
                        "properties": {
                          "addr": {
                            "type": "string",
                            "description": "IP address."
                          },
                          "type": {
                            "type": "string",
                            "description": "Enum options - V4, DNS, V6."
                          }
                        }
                      },
                      "mask": {
                        "type": "integer",
                        "description": "Number of mask."
                      }
                    }
                  },
                  "subnet6_uuid": {
                    "type": "string",
                    "description": "If auto_allocate_ip is True, then the subnet for the Vip IPv6 address allocation. This field is applicable only if the VirtualService belongs to an Openstack or AWS cloud, in which case it is mandatory, if auto_allocate is selected. Field introduced in 18.1.1."
                  },
                  "subnet_uuid": {
                    "type": "string",
                    "description": "If auto_allocate_ip is True, then the subnet for the Vip IP address allocation. This field is applicable only if the VirtualService belongs to an Openstack or AWS cloud, in which case it is mandatory, if auto_allocate is selected. Field introduced in 17.1.1."
                  },
                  "vip_id": {
                    "type": "string",
                    "description": "Unique ID associated with the vip. Field introduced in 17.1.1."
                  }
                }
              },
              "description": "List of Virtual Service IPs. While creating a 'Shared VS',please use vsvip_ref to point to the shared entities. Field introduced in 17.1.1."
            },
            "vrf_context_ref": {
              "type": "string",
              "description": "Virtual Routing Context that the Virtual Service is bound to. This is used to provide the isolation of the set of networks the application is attached to. It is a reference to an object of type VrfContext."
            },
            "vs_datascripts": {
              "type": "array",
              "items": {
                "title": "VSDataScripts",
                "required": [
                  "index",
                  "vs_datascript_set_ref"
                ],
                "type": "object",
                "properties": {
                  "index": {
                    "type": "integer",
                    "description": "Index of the virtual service datascript collection."
                  },
                  "vs_datascript_set_ref": {
                    "type": "string",
                    "description": "UUID of the virtual service datascript collection. It is a reference to an object of type VSDataScriptSet."
                  }
                }
              },
              "description": "Datascripts applied on the data traffic of the Virtual Service."
            },
            "vsvip_cloud_config_cksum": {
              "type": "string",
              "description": "Checksum of cloud configuration for VsVip. Internally set by cloud connector. Field introduced in 17.2.9, 18.1.2."
            },
            "vsvip_ref": {
              "type": "string",
              "description": "Mostly used during the creation of Shared VS, this field refers to entities that can be shared across Virtual Services. It is a reference to an object of type VsVip. Field introduced in 17.1.1."
            },
            "waf_policy_ref": {
              "type": "string",
              "description": "WAF policy for the Virtual Service. It is a reference to an object of type WafPolicy. Field introduced in 17.2.1."
            },
            "weight": {
              "type": "integer",
              "description": "The Quality of Service weight to assign to traffic transmitted from this Virtual Service.  A higher weight will prioritize traffic versus other Virtual Services sharing the same Service Engines. Allowed values are 1-128.",
              "default": 1
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceByUuidPUT"
      },
      "task": true
    },
    {
      "name": "virtualserviceByUuidPATCH",
      "summary": "VirtualserviceByUuid_PATCH",
      "description": "VirtualserviceByUuid_PATCH",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "object name: string",
          "required": false,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "VirtualService object creation: {\"_last_modified\": \"string\", \"active_standby_se_tag\": \"string\", \"advertise_down_vs\": \"boolean\", \"allow_invalid_client_cert\": \"boolean\", \"analytics_policy\": {\"all_headers\": \"boolean\", \"client_insights\": \"string\", \"client_insights_sampling\": {\"client_ip\": {\"addrs\": \"array\", \"group_refs\": \"array\", \"match_criteria\": \"string\", \"prefixes\": \"array\", \"ranges\": \"array\"}, \"sample_uris\": {\"match_criteria\": \"string\", \"match_str\": \"array\", \"string_group_refs\": \"array\"}, \"skip_uris\": {\"match_criteria\": \"string\", \"match_str\": \"array\", \"string_group_refs\": \"array\"}}, \"client_log_filters\": [{\"all_headers\": \"boolean\", \"client_ip\": {\"addrs\": \"array\", \"group_refs\": \"array\", \"match_criteria\": \"string\", \"prefixes\": \"array\", \"ranges\": \"array\"}, \"duration\": 123, \"enabled\": \"boolean\", \"index\": 123, \"name\": \"string\", \"uri\": {\"match_criteria\": \"string\", \"match_str\": \"array\", \"string_group_refs\": \"array\"}}], \"enabled\": \"boolean\", \"full_client_logs\": {\"all_headers\": \"boolean\", \"duration\": 123, \"enabled\": \"boolean\", \"throttle\": 123}, \"metrics_realtime_update\": {\"duration\": 123, \"enabled\": \"boolean\"}, \"significant_log_throttle\": 123, \"udf_log_throttle\": 123}, \"analytics_profile_ref\": \"string\", \"apic_contract_graph\": \"string\", \"application_profile_ref\": \"string\", \"auto_allocate_floating_ip\": \"boolean\", \"auto_allocate_ip\": \"boolean\", \"availability_zone\": \"string\", \"avi_allocated_fip\": \"boolean\", \"avi_allocated_vip\": \"boolean\", \"azure_availability_set\": \"string\", \"bulk_sync_kvcache\": \"boolean\", \"client_auth\": {\"auth_profile_ref\": \"string\", \"realm\": \"string\", \"request_uri_path\": {\"match_criteria\": \"string\", \"match_str\": \"array\", \"string_group_refs\": \"array\"}, \"type\": \"string\"}, \"close_client_conn_on_config_update\": \"boolean\", \"cloud_config_cksum\": \"string\", \"cloud_ref\": \"string\", \"cloud_type\": \"string\", \"connections_rate_limit\": {\"action\": {\"file\": {\"content_type\": \"string\", \"file_content\": \"string\"}, \"redirect\": {\"host\": \"object\", \"keep_query\": \"boolean\", \"path\": \"object\", \"port\": 123, \"protocol\": \"string\", \"status_code\": \"string\"}, \"status_code\": \"string\", \"type\": \"string\"}, \"burst_sz\": 123, \"count\": 123, \"explicit_tracking\": \"boolean\", \"fine_grain\": \"boolean\", \"http_cookie\": \"string\", \"http_header\": \"string\", \"period\": 123, \"rate_limiter\": {\"burst_sz\": 123, \"count\": 123, \"name\": \"string\", \"period\": 123}}, \"content_rewrite\": {\"req_match_replace_pair\": [{\"match_string\": \"string\", \"replacement_string\": {\"type\": \"string\", \"val\": \"string\"}}], \"request_rewrite_enabled\": \"boolean\", \"response_rewrite_enabled\": \"boolean\", \"rewritable_content_ref\": \"string\", \"rsp_match_replace_pair\": [{\"match_string\": \"string\", \"replacement_string\": {\"type\": \"string\", \"val\": \"string\"}}]}, \"created_by\": \"string\", \"delay_fairness\": \"boolean\", \"description\": \"string\", \"discovered_network_ref\": \"array\", \"discovered_networks\": [{\"network_ref\": \"string\", \"subnet\": [{\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}], \"subnet6\": [{\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}]}], \"discovered_subnet\": [{\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}], \"dns_info\": [{\"algorithm\": \"string\", \"cname\": {\"cname\": \"string\"}, \"fqdn\": \"string\", \"metadata\": \"string\", \"num_records_in_response\": 123, \"ttl\": 123, \"type\": \"string\"}], \"dns_policies\": [{\"dns_policy_ref\": \"string\", \"index\": 123}], \"east_west_placement\": \"boolean\", \"enable_autogw\": \"boolean\", \"enable_rhi\": \"boolean\", \"enable_rhi_snat\": \"boolean\", \"enabled\": \"boolean\", \"error_page_profile_ref\": \"string\", \"floating_ip\": {\"addr\": \"string\", \"type\": \"string\"}, \"floating_subnet_uuid\": \"string\", \"flow_dist\": \"string\", \"flow_label_type\": \"string\", \"fqdn\": \"string\", \"host_name_xlate\": \"string\", \"http_policies\": [{\"http_policy_set_ref\": \"string\", \"index\": 123}], \"icap_request_profile_refs\": \"array\", \"ign_pool_net_reach\": \"boolean\", \"ip_address\": {\"addr\": \"string\", \"type\": \"string\"}, \"ipam_network_subnet\": {\"network_ref\": \"string\", \"subnet\": {\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}, \"subnet6\": {\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}, \"subnet6_uuid\": \"string\", \"subnet_uuid\": \"string\"}, \"l4_policies\": [{\"index\": 123, \"l4_policy_set_ref\": \"string\"}], \"limit_doser\": \"boolean\", \"max_cps_per_client\": 123, \"microservice_ref\": \"string\", \"min_pools_up\": 123, \"name\": \"string\", \"network_profile_ref\": \"string\", \"network_ref\": \"string\", \"network_security_policy_ref\": \"string\", \"nsx_securitygroup\": \"array\", \"performance_limits\": {\"max_concurrent_connections\": 123, \"max_throughput\": 123}, \"pool_group_ref\": \"string\", \"pool_ref\": \"string\", \"port_uuid\": \"string\", \"remove_listening_port_on_vs_down\": \"boolean\", \"requests_rate_limit\": {\"action\": {\"file\": {\"content_type\": \"string\", \"file_content\": \"string\"}, \"redirect\": {\"host\": \"object\", \"keep_query\": \"boolean\", \"path\": \"object\", \"port\": 123, \"protocol\": \"string\", \"status_code\": \"string\"}, \"status_code\": \"string\", \"type\": \"string\"}, \"burst_sz\": 123, \"count\": 123, \"explicit_tracking\": \"boolean\", \"fine_grain\": \"boolean\", \"http_cookie\": \"string\", \"http_header\": \"string\", \"period\": 123, \"rate_limiter\": {\"burst_sz\": 123, \"count\": 123, \"name\": \"string\", \"period\": 123}}, \"saml_sp_config\": {\"cookie_name\": \"string\", \"cookie_timeout\": 123, \"entity_id\": \"string\", \"key\": [{\"aes_key\": \"string\", \"hmac_key\": \"string\", \"name\": \"string\"}], \"signing_ssl_key_and_certificate_ref\": \"string\", \"single_signon_url\": \"string\", \"sp_metadata\": \"string\", \"use_idp_session_timeout\": \"boolean\"}, \"scaleout_ecmp\": \"boolean\", \"se_group_ref\": \"string\", \"security_policy_ref\": \"string\", \"server_network_profile_ref\": \"string\", \"service_metadata\": \"string\", \"service_pool_select\": [{\"service_pool_group_ref\": \"string\", \"service_pool_ref\": \"string\", \"service_port\": 123, \"service_port_range_end\": 123, \"service_protocol\": \"string\"}], \"services\": [{\"enable_http2\": \"boolean\", \"enable_ssl\": \"boolean\", \"override_application_profile_ref\": \"string\", \"override_network_profile_ref\": \"string\", \"port\": 123, \"port_range_end\": 123}], \"sideband_profile\": {\"ip\": [{\"addr\": \"string\", \"type\": \"string\"}], \"sideband_max_request_body_size\": 123}, \"snat_ip\": [{\"addr\": \"string\", \"type\": \"string\"}], \"sp_pool_refs\": \"array\", \"ssl_key_and_certificate_refs\": \"array\", \"ssl_profile_ref\": \"string\", \"ssl_profile_selectors\": [{\"client_ip_list\": {\"addrs\": \"array\", \"group_refs\": \"array\", \"match_criteria\": \"string\", \"prefixes\": \"array\", \"ranges\": \"array\"}, \"ssl_profile_ref\": \"string\"}], \"ssl_sess_cache_avg_size\": 123, \"sso_policy\": {\"_last_modified\": \"string\", \"authentication_policy\": {\"auth_profile_ref\": \"string\", \"authn_rules\": [{\"action\": \"object\", \"enable\": \"boolean\", \"index\": 123, \"match\": \"object\", \"name\": \"string\"}], \"cookie_name\": \"string\", \"cookie_timeout\": 123, \"default_auth_profile_ref\": \"string\", \"entity_id\": \"string\", \"key\": [{\"aes_key\": \"string\", \"hmac_key\": \"string\", \"name\": \"string\"}], \"single_signon_url\": \"string\", \"sp_metadata\": \"string\"}, \"authorization_policy\": {\"authz_rules\": [{\"action\": \"object\", \"enable\": \"boolean\", \"index\": 123, \"match\": \"object\", \"name\": \"string\"}]}, \"name\": \"string\", \"tenant_ref\": \"string\", \"type\": \"string\", \"url\": \"string\", \"uuid\": \"string\"}, \"sso_policy_ref\": \"string\", \"static_dns_records\": [{\"algorithm\": \"string\", \"cname\": {\"cname\": \"string\"}, \"delegated\": \"boolean\", \"description\": \"string\", \"fqdn\": \"array\", \"ip6_address\": [{\"ip6_address\": {\"addr\": \"string\", \"type\": \"string\"}}], \"ip_address\": [{\"ip_address\": {\"addr\": \"string\", \"type\": \"string\"}}], \"metadata\": \"string\", \"mx_records\": [{\"host\": \"string\", \"priority\": 123}], \"ns\": [{\"ip6_address\": {\"addr\": \"string\", \"type\": \"string\"}, \"ip_address\": {\"addr\": \"string\", \"type\": \"string\"}, \"nsname\": \"string\"}], \"num_records_in_response\": 123, \"service_locator\": [{\"port\": 123, \"priority\": 123, \"target\": \"string\", \"weight\": 123}], \"ttl\": 123, \"txt_records\": [{\"text_str\": \"string\"}], \"type\": \"string\", \"wildcard_match\": \"boolean\"}], \"subnet\": {\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}, \"subnet_uuid\": \"string\", \"tenant_ref\": \"string\", \"test_se_datastore_level_1_ref\": \"string\", \"topology_policies\": [{\"dns_policy_ref\": \"string\", \"index\": 123}], \"traffic_clone_profile_ref\": \"string\", \"traffic_enabled\": \"boolean\", \"type\": \"string\", \"url\": \"string\", \"use_bridge_ip_as_vip\": \"boolean\", \"use_vip_as_snat\": \"boolean\", \"uuid\": \"string\", \"vh_domain_name\": \"array\", \"vh_parent_vs_uuid\": \"string\", \"vip\": [{\"auto_allocate_floating_ip\": \"boolean\", \"auto_allocate_ip\": \"boolean\", \"auto_allocate_ip_type\": \"string\", \"availability_zone\": \"string\", \"avi_allocated_fip\": \"boolean\", \"avi_allocated_vip\": \"boolean\", \"discovered_networks\": [{\"network_ref\": \"string\", \"subnet\": [{\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}], \"subnet6\": [{\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}]}], \"enabled\": \"boolean\", \"floating_ip\": {\"addr\": \"string\", \"type\": \"string\"}, \"floating_ip6\": {\"addr\": \"string\", \"type\": \"string\"}, \"floating_subnet6_uuid\": \"string\", \"floating_subnet_uuid\": \"string\", \"ip6_address\": {\"addr\": \"string\", \"type\": \"string\"}, \"ip_address\": {\"addr\": \"string\", \"type\": \"string\"}, \"ipam_network_subnet\": {\"network_ref\": \"string\", \"subnet\": {\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}, \"subnet6\": {\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}, \"subnet6_uuid\": \"string\", \"subnet_uuid\": \"string\"}, \"network_ref\": \"string\", \"placement_networks\": [{\"network_ref\": \"string\", \"subnet\": {\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}, \"subnet6\": {\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}}], \"port_uuid\": \"string\", \"prefix_length\": 123, \"subnet\": {\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}, \"subnet6\": {\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}, \"subnet6_uuid\": \"string\", \"subnet_uuid\": \"string\", \"vip_id\": \"string\"}], \"vrf_context_ref\": \"string\", \"vs_datascripts\": [{\"index\": 123, \"vs_datascript_set_ref\": \"string\"}], \"vsvip_cloud_config_cksum\": \"string\", \"vsvip_ref\": \"string\", \"waf_policy_ref\": \"string\", \"weight\": 123}",
          "required": true,
          "schema": {
            "title": "VirtualService",
            "required": [
              "name"
            ],
            "type": "object",
            "properties": {
              "_last_modified": {
                "type": "string",
                "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
              },
              "active_standby_se_tag": {
                "type": "string",
                "description": "This configuration only applies if the VirtualService is in Legacy Active Standby HA mode and Load Distribution among Active Standby is enabled. This field is used to tag the VirtualService so that VirtualServices with the same tag will share the same Active ServiceEngine. VirtualServices with different tags will have different Active ServiceEngines. If one of the ServiceEngine's in the ServiceEngineGroup fails, all VirtualServices will end up using the same Active ServiceEngine. Redistribution of the VirtualServices can be either manual or automated when the failed ServiceEngine recovers. Redistribution is based on the auto redistribute property of the ServiceEngineGroup. Enum options - ACTIVE_STANDBY_SE_1, ACTIVE_STANDBY_SE_2.",
                "default": "ACTIVE_STANDBY_SE_1"
              },
              "advertise_down_vs": {
                "type": "boolean",
                "description": "Keep advertising Virtual Service via BGP even if it is marked down by health monitor. This setting takes effect for future Virtual Service flaps. To advertise current VSes that are down, please disable and re-enable the Virtual Service. Field introduced in 20.1.1."
              },
              "allow_invalid_client_cert": {
                "type": "boolean",
                "description": "Process request even if invalid client certificate is presented. Datascript APIs need to be used for processing of such requests. Field introduced in 18.2.3."
              },
              "analytics_policy": {
                "title": "AnalyticsPolicy",
                "type": "object",
                "properties": {
                  "all_headers": {
                    "type": "boolean",
                    "description": "Log all headers. Field introduced in 18.1.4, 18.2.1."
                  },
                  "client_insights": {
                    "type": "string",
                    "description": "Gain insights from sampled client to server HTTP requests and responses. Enum options - NO_INSIGHTS, PASSIVE, ACTIVE.",
                    "default": "NO_INSIGHTS"
                  },
                  "client_insights_sampling": {
                    "title": "ClientInsightsSampling",
                    "type": "object",
                    "properties": {
                      "client_ip": {
                        "title": "IpAddrMatch",
                        "required": [
                          "match_criteria"
                        ],
                        "type": "object",
                        "properties": {
                          "addrs": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "description": ""
                            },
                            "description": "IP address(es)."
                          },
                          "group_refs": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": "UUID of IP address group(s). It is a reference to an object of type IpAddrGroup."
                          },
                          "match_criteria": {
                            "type": "string",
                            "description": "Criterion to use for IP address matching the HTTP request. Enum options - IS_IN, IS_NOT_IN."
                          },
                          "prefixes": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "description": ""
                            },
                            "description": "IP address prefix(es)."
                          },
                          "ranges": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "description": ""
                            },
                            "description": "IP address range(s)."
                          }
                        }
                      },
                      "sample_uris": {
                        "title": "StringMatch",
                        "required": [
                          "match_criteria"
                        ],
                        "type": "object",
                        "properties": {
                          "match_criteria": {
                            "type": "string",
                            "description": "Criterion to use for string matching the HTTP request. Enum options - BEGINS_WITH, DOES_NOT_BEGIN_WITH, CONTAINS, DOES_NOT_CONTAIN, ENDS_WITH, DOES_NOT_END_WITH, EQUALS, DOES_NOT_EQUAL, REGEX_MATCH, REGEX_DOES_NOT_MATCH."
                          },
                          "match_str": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": "String value(s)."
                          },
                          "string_group_refs": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": "UUID of the string group(s). It is a reference to an object of type StringGroup."
                          }
                        }
                      },
                      "skip_uris": {
                        "title": "StringMatch",
                        "required": [
                          "match_criteria"
                        ],
                        "type": "object",
                        "properties": {
                          "match_criteria": {
                            "type": "string",
                            "description": "Criterion to use for string matching the HTTP request. Enum options - BEGINS_WITH, DOES_NOT_BEGIN_WITH, CONTAINS, DOES_NOT_CONTAIN, ENDS_WITH, DOES_NOT_END_WITH, EQUALS, DOES_NOT_EQUAL, REGEX_MATCH, REGEX_DOES_NOT_MATCH."
                          },
                          "match_str": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": "String value(s)."
                          },
                          "string_group_refs": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": "UUID of the string group(s). It is a reference to an object of type StringGroup."
                          }
                        }
                      }
                    }
                  },
                  "client_log_filters": {
                    "type": "array",
                    "items": {
                      "title": "ClientLogFilter",
                      "required": [
                        "enabled",
                        "index",
                        "name"
                      ],
                      "type": "object",
                      "properties": {
                        "all_headers": {
                          "type": "boolean",
                          "description": "Placeholder for description of property all_headers of obj type ClientLogFilter field type str  type boolean"
                        },
                        "client_ip": {
                          "title": "IpAddrMatch",
                          "required": [
                            "match_criteria"
                          ],
                          "type": "object",
                          "properties": {
                            "addrs": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "description": ""
                              },
                              "description": "IP address(es)."
                            },
                            "group_refs": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "UUID of IP address group(s). It is a reference to an object of type IpAddrGroup."
                            },
                            "match_criteria": {
                              "type": "string",
                              "description": "Criterion to use for IP address matching the HTTP request. Enum options - IS_IN, IS_NOT_IN."
                            },
                            "prefixes": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "description": ""
                              },
                              "description": "IP address prefix(es)."
                            },
                            "ranges": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "description": ""
                              },
                              "description": "IP address range(s)."
                            }
                          }
                        },
                        "duration": {
                          "type": "integer",
                          "description": "Special values are 0 - 'infinite'.",
                                    "default": 30
                        },
                        "enabled": {
                          "type": "boolean",
                          "description": "Placeholder for description of property enabled of obj type ClientLogFilter field type str  type boolean"
                        },
                        "index": {
                          "type": "integer",
                          "description": "Number of index."
                        },
                        "name": {
                          "type": "string",
                          "description": "Name of the object."
                        },
                        "uri": {
                          "title": "StringMatch",
                          "required": [
                            "match_criteria"
                          ],
                          "type": "object",
                          "properties": {
                            "match_criteria": {
                              "type": "string",
                              "description": "Criterion to use for string matching the HTTP request. Enum options - BEGINS_WITH, DOES_NOT_BEGIN_WITH, CONTAINS, DOES_NOT_CONTAIN, ENDS_WITH, DOES_NOT_END_WITH, EQUALS, DOES_NOT_EQUAL, REGEX_MATCH, REGEX_DOES_NOT_MATCH."
                            },
                            "match_str": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "String value(s)."
                            },
                            "string_group_refs": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "description": "UUID of the string group(s). It is a reference to an object of type StringGroup."
                            }
                          }
                        }
                      }
                    },
                    "description": "Placeholder for description of property client_log_filters of obj type AnalyticsPolicy field type str  type object"
                  },
                  "enabled": {
                    "type": "boolean",
                    "description": "[DEPRECATED] Disable Analytics on this VirtualService. This will disable the collection of both metrics and logs. Please use following fields in AnalytcsProfile to control this behavior instead. disable_vs_analytics (for VirtualServices metrics), disable_server_analytics (for Pool metrics) and client_log_config (for logs). Field deprecated in 18.2.1. Field introduced in 17.2.4."
                  },
                  "full_client_logs": {
                    "title": "FullClientLogs",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "all_headers": {
                        "type": "boolean",
                        "description": "[DEPRECATED] Log all headers. Please use the all_headers flag in AnalyticsPolicy. Field deprecated in 18.1.4, 18.2.1."
                      },
                      "duration": {
                        "type": "integer",
                        "description": "How long should the system capture all logs, measured in minutes. Set to 0 for infinite. Special values are 0 - 'infinite'.",
                                "default": 30
                      },
                      "enabled": {
                        "type": "boolean",
                        "description": "Capture all client logs including connections and requests.  When disabled, only errors will be logged."
                      },
                      "throttle": {
                        "type": "integer",
                        "description": "This setting limits the number of non-significant logs generated per second for this VS on each SE. Default is 10 logs per second. Set it to zero (0) to disable throttling. Field introduced in 17.1.3.",
                                "default": 10
                      }
                    }
                  },
                  "metrics_realtime_update": {
                    "title": "MetricsRealTimeUpdate",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "duration": {
                        "type": "integer",
                        "description": "Real time metrics collection duration in minutes. 0 for infinite. Special values are 0 - 'infinite'.",
                                "default": 30
                      },
                      "enabled": {
                        "type": "boolean",
                        "description": "Enables real time metrics collection.  When disabled, 6 hour view is the most granular the system will track."
                      }
                    }
                  },
                  "significant_log_throttle": {
                    "type": "integer",
                    "description": "This setting limits the number of significant logs generated per second for this VS on each SE. Default is 10 logs per second. Set it to zero (0) to disable throttling. Field introduced in 17.1.3.",
                        "default": 10
                  },
                  "udf_log_throttle": {
                    "type": "integer",
                    "description": "This setting limits the total number of UDF logs generated per second for this VS on each SE. UDF logs are generated due to the configured client log filters or the rules with logging enabled. Default is 10 logs per second. Set it to zero (0) to disable throttling. Field introduced in 17.1.3.",
                        "default": 10
                  }
                }
              },
              "analytics_profile_ref": {
                "type": "string",
                "description": "Specifies settings related to analytics. It is a reference to an object of type AnalyticsProfile."
              },
              "apic_contract_graph": {
                "type": "string",
                "description": "The name of the Contract/Graph associated with the Virtual Service. Should be in the <Contract name> <Graph name> format. This is applicable only for Service Integration mode with Cisco APIC Controller . Field introduced in 17.2.12,18.1.2."
              },
              "application_profile_ref": {
                "type": "string",
                "description": "Enable application layer specific features for the Virtual Service. It is a reference to an object of type ApplicationProfile."
              },
              "auto_allocate_floating_ip": {
                "type": "boolean",
                "description": "Auto-allocate floating/elastic IP from the Cloud infrastructure. Field deprecated in 17.1.1."
              },
              "auto_allocate_ip": {
                "type": "boolean",
                "description": "Auto-allocate VIP from the provided subnet. Field deprecated in 17.1.1."
              },
              "availability_zone": {
                "type": "string",
                "description": "Availability-zone to place the Virtual Service. Field deprecated in 17.1.1."
              },
              "avi_allocated_fip": {
                "type": "boolean",
                "description": "(internal-use) FIP allocated by Avi in the Cloud infrastructure. Field deprecated in 17.1.1."
              },
              "avi_allocated_vip": {
                "type": "boolean",
                "description": "(internal-use) VIP allocated by Avi in the Cloud infrastructure. Field deprecated in 17.1.1."
              },
              "azure_availability_set": {
                "type": "string",
                "description": "(internal-use)Applicable for Azure only. Azure Availability set to which this VS is associated. Internally set by the cloud connector. Field introduced in 17.2.12, 18.1.2."
              },
              "bulk_sync_kvcache": {
                "type": "boolean",
                "description": "(This is a beta feature). Sync Key-Value cache to the new SEs when VS is scaled out. For ex  SSL sessions are stored using VS's Key-Value cache. When the VS is scaled out, the SSL session information is synced to the new SE, allowing existing SSL sessions to be reused on the new SE. . Field introduced in 17.2.7, 18.1.1."
              },
              "client_auth": {
                "title": "HTTPClientAuthenticationParams",
                "type": "object",
                "properties": {
                  "auth_profile_ref": {
                    "type": "string",
                    "description": "Auth Profile to use for validating users. It is a reference to an object of type AuthProfile."
                  },
                  "realm": {
                    "type": "string",
                    "description": "Basic authentication realm to present to a user along with the prompt for credentials."
                  },
                  "request_uri_path": {
                    "title": "StringMatch",
                    "required": [
                      "match_criteria"
                    ],
                    "type": "object",
                    "properties": {
                      "match_criteria": {
                        "type": "string",
                        "description": "Criterion to use for string matching the HTTP request. Enum options - BEGINS_WITH, DOES_NOT_BEGIN_WITH, CONTAINS, DOES_NOT_CONTAIN, ENDS_WITH, DOES_NOT_END_WITH, EQUALS, DOES_NOT_EQUAL, REGEX_MATCH, REGEX_DOES_NOT_MATCH."
                      },
                      "match_str": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "description": "String value(s)."
                      },
                      "string_group_refs": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "description": "UUID of the string group(s). It is a reference to an object of type StringGroup."
                      }
                    }
                  },
                  "type": {
                    "type": "string",
                    "description": "type of client authentication. Enum options - HTTP_BASIC_AUTH."
                  }
                }
              },
              "close_client_conn_on_config_update": {
                "type": "boolean",
                "description": "close client connection on vs config update. Field introduced in 17.2.4."
              },
              "cloud_config_cksum": {
                "type": "string",
                "description": "Checksum of cloud configuration for VS. Internally set by cloud connector."
              },
              "cloud_ref": {
                "type": "string",
                "description": "It is a reference to an object of type Cloud."
              },
              "cloud_type": {
                "type": "string",
                "description": "Enum options - CLOUD_NONE, CLOUD_VCENTER, CLOUD_OPENSTACK, CLOUD_AWS, CLOUD_VCA, CLOUD_APIC, CLOUD_MESOS, CLOUD_LINUXSERVER, CLOUD_DOCKER_UCP, CLOUD_RANCHER, CLOUD_OSHIFT_K8S, CLOUD_AZURE, CLOUD_GCP, CLOUD_NSXT.",
                "default": "CLOUD_NONE"
              },
              "connections_rate_limit": {
                "title": "RateProfile",
                "required": [
                  "action"
                ],
                "type": "object",
                "properties": {
                  "action": {
                    "title": "RateLimiterAction",
                    "type": "object",
                    "properties": {
                      "file": {
                        "title": "HTTPLocalFile",
                        "required": [
                          "content_type",
                          "file_content"
                        ],
                        "type": "object",
                        "properties": {
                          "content_type": {
                            "type": "string",
                            "description": "Mime-type of the content in the file."
                          },
                          "file_content": {
                            "type": "string",
                            "description": "File content to used in the local HTTP response body."
                          }
                        }
                      },
                      "redirect": {
                        "title": "HTTPRedirectAction",
                        "required": [
                          "protocol"
                        ],
                        "type": "object",
                        "properties": {
                          "host": {
                            "type": "object",
                            "description": ""
                          },
                          "keep_query": {
                            "type": "boolean",
                            "description": "Keep or drop the query of the incoming request URI in the redirected URI.",
                            "default": true
                          },
                          "path": {
                            "type": "object",
                            "description": ""
                          },
                          "port": {
                            "type": "integer",
                            "description": "Port to which redirect the request. Allowed values are 1-65535."
                          },
                          "protocol": {
                            "type": "string",
                            "description": "Protocol type. Enum options - HTTP, HTTPS."
                          },
                          "status_code": {
                            "type": "string",
                            "description": "HTTP redirect status code. Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307.",
                            "default": "HTTP_REDIRECT_STATUS_CODE_302"
                          }
                        }
                      },
                      "status_code": {
                        "type": "string",
                        "description": "HTTP status code for Local Response rate limit action. Enum options - HTTP_LOCAL_RESPONSE_STATUS_CODE_200, HTTP_LOCAL_RESPONSE_STATUS_CODE_204, HTTP_LOCAL_RESPONSE_STATUS_CODE_403, HTTP_LOCAL_RESPONSE_STATUS_CODE_404, HTTP_LOCAL_RESPONSE_STATUS_CODE_429, HTTP_LOCAL_RESPONSE_STATUS_CODE_501.",
                        "default": "HTTP_LOCAL_RESPONSE_STATUS_CODE_429"
                      },
                      "type": {
                        "type": "string",
                        "description": "Type of action to be enforced upon hitting the rate limit. Enum options - RL_ACTION_NONE, RL_ACTION_DROP_CONN, RL_ACTION_RESET_CONN, RL_ACTION_CLOSE_CONN, RL_ACTION_LOCAL_RSP, RL_ACTION_REDIRECT.",
                        "default": "RL_ACTION_NONE"
                      }
                    }
                  },
                  "burst_sz": {
                    "type": "integer",
                    "description": "Maximum number of connections or requests or packets to be let through instantaneously. Allowed values are 10-2500. Special values are 0- 'automatic'. Field deprecated in 18.2.9."
                  },
                  "count": {
                    "type": "integer",
                    "description": "Maximum number of connections or requests or packets. Allowed values are 1-1000000000. Special values are 0- 'unlimited'. Field deprecated in 18.2.9."
                  },
                  "explicit_tracking": {
                    "type": "boolean",
                    "description": "Explicitly tracks an attacker across rate periods."
                  },
                  "fine_grain": {
                    "type": "boolean",
                    "description": "Enable fine granularity."
                  },
                  "http_cookie": {
                    "type": "string",
                    "description": "HTTP cookie name. Field introduced in 17.1.1."
                  },
                  "http_header": {
                    "type": "string",
                    "description": "HTTP header name. Field introduced in 17.1.1."
                  },
                  "period": {
                    "type": "integer",
                    "description": "Time value in seconds to enforce rate count. Allowed values are 1-300. Field deprecated in 18.2.9."
                  },
                  "rate_limiter": {
                    "title": "RateLimiter",
                    "required": [
                      "count",
                      "period"
                    ],
                    "type": "object",
                    "properties": {
                      "burst_sz": {
                        "type": "integer",
                        "description": "Maximum number of connections, requests or packets to be let through instantaneously.  If this is less than count, it will have no effect. Allowed values are 0-1000000000. Field introduced in 18.2.9."
                      },
                      "count": {
                        "type": "integer",
                        "description": "Maximum number of connections, requests or packets permitted each period. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                                "example": 1000000000
                      },
                      "name": {
                        "type": "string",
                        "description": "Identifier for Rate Limit. Constructed according to context. Field introduced in 18.2.9."
                      },
                      "period": {
                        "type": "integer",
                        "description": "Time value in seconds to enforce rate count. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                                "example": 1
                      }
                    }
                  }
                }
              },
              "content_rewrite": {
                "title": "ContentRewriteProfile",
                "type": "object",
                "properties": {
                  "req_match_replace_pair": {
                    "type": "array",
                    "items": {
                      "title": "MatchReplacePair",
                      "required": [
                        "match_string"
                      ],
                      "type": "object",
                      "properties": {
                        "match_string": {
                          "type": "string",
                          "description": "String to be matched."
                        },
                        "replacement_string": {
                          "title": "ReplaceStringVar",
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string",
                              "description": "Type of replacement string - can be a variable exposed from datascript, value of an HTTP header or a custom user-input literal string. Enum options - DATASCRIPT_VAR, HTTP_HEADER_VAR, LITERAL_STRING."
                            },
                            "val": {
                              "type": "string",
                              "description": "Value of the replacement string - name of variable exposed from datascript, name of the HTTP header or a custom user-input literal string."
                            }
                          }
                        }
                      }
                    },
                    "description": "Strings to be matched and replaced with on the request body."
                  },
                  "request_rewrite_enabled": {
                    "type": "boolean",
                    "description": "Enable rewrite on request body."
                  },
                  "response_rewrite_enabled": {
                    "type": "boolean",
                    "description": "Enable rewrite on response body."
                  },
                  "rewritable_content_ref": {
                    "type": "string",
                    "description": "Rewrite only content types listed in this string group. Content types not present in this list are not rewritten. It is a reference to an object of type StringGroup."
                  },
                  "rsp_match_replace_pair": {
                    "type": "array",
                    "items": {
                      "title": "MatchReplacePair",
                      "required": [
                        "match_string"
                      ],
                      "type": "object",
                      "properties": {
                        "match_string": {
                          "type": "string",
                          "description": "String to be matched."
                        },
                        "replacement_string": {
                          "title": "ReplaceStringVar",
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string",
                              "description": "Type of replacement string - can be a variable exposed from datascript, value of an HTTP header or a custom user-input literal string. Enum options - DATASCRIPT_VAR, HTTP_HEADER_VAR, LITERAL_STRING."
                            },
                            "val": {
                              "type": "string",
                              "description": "Value of the replacement string - name of variable exposed from datascript, name of the HTTP header or a custom user-input literal string."
                            }
                          }
                        }
                      }
                    },
                    "description": "Strings to be matched and replaced with on the response body."
                  }
                }
              },
              "created_by": {
                "type": "string",
                "description": "Creator name."
              },
              "delay_fairness": {
                "type": "boolean",
                "description": "Select the algorithm for QoS fairness.  This determines how multiple Virtual Services sharing the same Service Engines will prioritize traffic over a congested network."
              },
              "description": {
                "type": "string",
                "description": "User defined description for the object."
              },
              "discovered_network_ref": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "(internal-use) Discovered networks providing reachability for client facing Virtual Service IP. This field is deprecated. It is a reference to an object of type Network. Field deprecated in 17.1.1."
              },
              "discovered_networks": {
                "type": "array",
                "items": {
                  "title": "DiscoveredNetwork",
                  "required": [
                    "network_ref"
                  ],
                  "type": "object",
                  "properties": {
                    "network_ref": {
                      "type": "string",
                      "description": "Discovered network for this IP. It is a reference to an object of type Network."
                    },
                    "subnet": {
                      "type": "array",
                      "items": {
                        "title": "IpAddrPrefix",
                        "required": [
                          "ip_addr",
                          "mask"
                        ],
                        "type": "object",
                        "properties": {
                          "ip_addr": {
                            "title": "IpAddr",
                            "required": [
                              "addr",
                              "type"
                            ],
                            "type": "object",
                            "properties": {
                              "addr": {
                                "type": "string",
                                "description": "IP address."
                              },
                              "type": {
                                "type": "string",
                                "description": "Enum options - V4, DNS, V6."
                              }
                            }
                          },
                          "mask": {
                            "type": "integer",
                            "description": "Number of mask."
                          }
                        }
                      },
                      "description": "Discovered subnet for this IP."
                    },
                    "subnet6": {
                      "type": "array",
                      "items": {
                        "title": "IpAddrPrefix",
                        "required": [
                          "ip_addr",
                          "mask"
                        ],
                        "type": "object",
                        "properties": {
                          "ip_addr": {
                            "title": "IpAddr",
                            "required": [
                              "addr",
                              "type"
                            ],
                            "type": "object",
                            "properties": {
                              "addr": {
                                "type": "string",
                                "description": "IP address."
                              },
                              "type": {
                                "type": "string",
                                "description": "Enum options - V4, DNS, V6."
                              }
                            }
                          },
                          "mask": {
                            "type": "integer",
                            "description": "Number of mask."
                          }
                        }
                      },
                      "description": "Discovered IPv6 subnet for this IP. Field introduced in 18.1.1."
                    }
                  }
                },
                "description": "(internal-use) Discovered networks providing reachability for client facing Virtual Service IP. This field is used internally by Avi, not editable by the user. Field deprecated in 17.1.1."
              },
              "discovered_subnet": {
                "type": "array",
                "items": {
                  "title": "IpAddrPrefix",
                  "required": [
                    "ip_addr",
                    "mask"
                  ],
                  "type": "object",
                  "properties": {
                    "ip_addr": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "mask": {
                      "type": "integer",
                      "description": "Number of mask."
                    }
                  }
                },
                "description": "(internal-use) Discovered subnets providing reachability for client facing Virtual Service IP. This field is deprecated. Field deprecated in 17.1.1."
              },
              "dns_info": {
                "type": "array",
                "items": {
                  "title": "DnsInfo",
                  "type": "object",
                  "properties": {
                    "algorithm": {
                      "type": "string",
                      "description": "Specifies the algorithm to pick the IP address(es) to be returned, when multiple entries are configured. This does not apply if num_records_in_response is 0. Default is consistent hash. Enum options - DNS_RECORD_RESPONSE_ROUND_ROBIN, DNS_RECORD_RESPONSE_CONSISTENT_HASH. Field introduced in 17.1.1.",
                      "default": "DNS_RECORD_RESPONSE_CONSISTENT_HASH"
                    },
                    "cname": {
                      "title": "DnsCnameRdata",
                      "required": [
                        "cname"
                      ],
                      "type": "object",
                      "properties": {
                        "cname": {
                          "type": "string",
                          "description": "Canonical name."
                        }
                      }
                    },
                    "fqdn": {
                      "type": "string",
                      "description": "Fully qualified domain name."
                    },
                    "metadata": {
                      "type": "string",
                      "description": "Any metadata associated with this record. Field introduced in 17.2.2."
                    },
                    "num_records_in_response": {
                      "type": "integer",
                      "description": "Specifies the number of records returned for this FQDN. Enter 0 to return all records. Default is 0. Allowed values are 0-20. Special values are 0- 'Return all records'. Field introduced in 17.1.1.",
                            "default": 1
                    },
                    "ttl": {
                      "type": "integer",
                      "description": "Time to live for fqdn record. Default value is chosen from DNS profile for this cloud if no value provided."
                    },
                    "type": {
                      "type": "string",
                      "description": "DNS record type. Enum options - DNS_RECORD_OTHER, DNS_RECORD_A, DNS_RECORD_NS, DNS_RECORD_CNAME, DNS_RECORD_SOA, DNS_RECORD_PTR, DNS_RECORD_HINFO, DNS_RECORD_MX, DNS_RECORD_TXT, DNS_RECORD_RP, DNS_RECORD_DNSKEY, DNS_RECORD_AAAA, DNS_RECORD_SRV, DNS_RECORD_OPT, DNS_RECORD_RRSIG, DNS_RECORD_AXFR, DNS_RECORD_ANY.",
                      "default": "DNS_RECORD_A"
                    }
                  }
                },
                "description": "Service discovery specific data including fully qualified domain name, type and Time-To-Live of the DNS record. Note that only one of fqdn and dns_info setting is allowed."
              },
              "dns_policies": {
                "type": "array",
                "items": {
                  "title": "DnsPolicies",
                  "required": [
                    "dns_policy_ref",
                    "index"
                  ],
                  "type": "object",
                  "properties": {
                    "dns_policy_ref": {
                      "type": "string",
                      "description": "UUID of the dns policy. It is a reference to an object of type DnsPolicy. Field introduced in 17.1.1."
                    },
                    "index": {
                      "type": "integer",
                      "description": "Index of the dns policy. Field introduced in 17.1.1."
                    }
                  }
                },
                "description": "DNS Policies applied on the dns traffic of the Virtual Service. Field introduced in 17.1.1."
              },
              "east_west_placement": {
                "type": "boolean",
                "description": "Force placement on all SE's in service group (Mesos mode only)."
              },
              "enable_autogw": {
                "type": "boolean",
                "description": "Response traffic to clients will be sent back to the source MAC address of the connection, rather than statically sent to a default gateway.",
                "default": true
              },
              "enable_rhi": {
                "type": "boolean",
                "description": "Enable Route Health Injection using the BGP Config in the vrf context."
              },
              "enable_rhi_snat": {
                "type": "boolean",
                "description": "Enable Route Health Injection for Source NAT'ted floating IP Address using the BGP Config in the vrf context."
              },
              "enabled": {
                "type": "boolean",
                "description": "Enable or disable the Virtual Service.",
                "default": true
              },
              "error_page_profile_ref": {
                "type": "string",
                "description": "Error Page Profile to be used for this virtualservice.This profile is used to send the custom error page to the client generated by the proxy. It is a reference to an object of type ErrorPageProfile. Field introduced in 17.2.4."
              },
              "floating_ip": {
                "title": "IpAddr",
                "required": [
                  "addr",
                  "type"
                ],
                "type": "object",
                "properties": {
                  "addr": {
                    "type": "string",
                    "description": "IP address."
                  },
                  "type": {
                    "type": "string",
                    "description": "Enum options - V4, DNS, V6."
                  }
                }
              },
              "floating_subnet_uuid": {
                "type": "string",
                "description": "If auto_allocate_floating_ip is True and more than one floating-ip subnets exist, then the subnet for the floating IP address allocation. This field is applicable only if the VirtualService belongs to an OpenStack or AWS cloud. In OpenStack or AWS cloud it is required when auto_allocate_floating_ip is selected. Field deprecated in 17.1.1."
              },
              "flow_dist": {
                "type": "string",
                "description": "Criteria for flow distribution among SEs. Enum options - LOAD_AWARE, CONSISTENT_HASH_SOURCE_IP_ADDRESS, CONSISTENT_HASH_SOURCE_IP_ADDRESS_AND_PORT.",
                "default": "LOAD_AWARE"
              },
              "flow_label_type": {
                "type": "string",
                "description": "Criteria for flow labelling. Enum options - NO_LABEL, APPLICATION_LABEL, SERVICE_LABEL.",
                "default": "NO_LABEL"
              },
              "fqdn": {
                "type": "string",
                "description": "DNS resolvable, fully qualified domain name of the virtualservice. Only one of 'fqdn' and 'dns_info' configuration is allowed."
              },
              "host_name_xlate": {
                "type": "string",
                "description": "Translate the host name sent to the servers to this value.  Translate the host name sent from servers back to the value used by the client."
              },
              "http_policies": {
                "type": "array",
                "items": {
                  "title": "HTTPPolicies",
                  "required": [
                    "http_policy_set_ref",
                    "index"
                  ],
                  "type": "object",
                  "properties": {
                    "http_policy_set_ref": {
                      "type": "string",
                      "description": "UUID of the virtual service HTTP policy collection. It is a reference to an object of type HTTPPolicySet."
                    },
                    "index": {
                      "type": "integer",
                      "description": "Index of the virtual service HTTP policy collection."
                    }
                  }
                },
                "description": "HTTP Policies applied on the data traffic of the Virtual Service."
              },
              "icap_request_profile_refs": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "The config settings for the ICAP server when checking the HTTP request. It is a reference to an object of type IcapProfile. Field introduced in 20.1.1."
              },
              "ign_pool_net_reach": {
                "type": "boolean",
                "description": "Ignore Pool servers network reachability constraints for Virtual Service placement."
              },
              "ip_address": {
                "title": "IpAddr",
                "required": [
                  "addr",
                  "type"
                ],
                "type": "object",
                "properties": {
                  "addr": {
                    "type": "string",
                    "description": "IP address."
                  },
                  "type": {
                    "type": "string",
                    "description": "Enum options - V4, DNS, V6."
                  }
                }
              },
              "ipam_network_subnet": {
                "title": "IPNetworkSubnet",
                "type": "object",
                "properties": {
                  "network_ref": {
                    "type": "string",
                    "description": "Network for VirtualService IP allocation with Vantage as the IPAM provider. Network should be created before this is configured. It is a reference to an object of type Network."
                  },
                  "subnet": {
                    "title": "IpAddrPrefix",
                    "required": [
                      "ip_addr",
                      "mask"
                    ],
                    "type": "object",
                    "properties": {
                      "ip_addr": {
                        "title": "IpAddr",
                        "required": [
                          "addr",
                          "type"
                        ],
                        "type": "object",
                        "properties": {
                          "addr": {
                            "type": "string",
                            "description": "IP address."
                          },
                          "type": {
                            "type": "string",
                            "description": "Enum options - V4, DNS, V6."
                          }
                        }
                      },
                      "mask": {
                        "type": "integer",
                        "description": "Number of mask."
                      }
                    }
                  },
                  "subnet6": {
                    "title": "IpAddrPrefix",
                    "required": [
                      "ip_addr",
                      "mask"
                    ],
                    "type": "object",
                    "properties": {
                      "ip_addr": {
                        "title": "IpAddr",
                        "required": [
                          "addr",
                          "type"
                        ],
                        "type": "object",
                        "properties": {
                          "addr": {
                            "type": "string",
                            "description": "IP address."
                          },
                          "type": {
                            "type": "string",
                            "description": "Enum options - V4, DNS, V6."
                          }
                        }
                      },
                      "mask": {
                        "type": "integer",
                        "description": "Number of mask."
                      }
                    }
                  },
                  "subnet6_uuid": {
                    "type": "string",
                    "description": "Subnet UUID or Name or Prefix for VirtualService IPv6 allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed. Field introduced in 18.1.1."
                  },
                  "subnet_uuid": {
                    "type": "string",
                    "description": "Subnet UUID or Name or Prefix for VirtualService IP allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed."
                  }
                }
              },
              "l4_policies": {
                "type": "array",
                "items": {
                  "title": "L4Policies",
                  "required": [
                    "index",
                    "l4_policy_set_ref"
                  ],
                  "type": "object",
                  "properties": {
                    "index": {
                      "type": "integer",
                      "description": "Index of the virtual service L4 policy set. Field introduced in 17.2.7."
                    },
                    "l4_policy_set_ref": {
                      "type": "string",
                      "description": "ID of the virtual service L4 policy set. It is a reference to an object of type L4PolicySet. Field introduced in 17.2.7."
                    }
                  }
                },
                "description": "L4 Policies applied to the data traffic of the Virtual Service. Field introduced in 17.2.7."
              },
              "limit_doser": {
                "type": "boolean",
                "description": "Limit potential DoS attackers who exceed max_cps_per_client significantly to a fraction of max_cps_per_client for a while."
              },
              "max_cps_per_client": {
                "type": "integer",
                "description": "Maximum connections per second per client IP. Allowed values are 10-1000. Special values are 0- 'unlimited'."
              },
              "microservice_ref": {
                "type": "string",
                "description": "Microservice representing the virtual service. It is a reference to an object of type MicroService."
              },
              "min_pools_up": {
                "type": "integer",
                "description": "Minimum number of UP pools to mark VS up. Field introduced in 18.2.1, 17.2.12."
              },
              "name": {
                "type": "string",
                "description": "Name for the Virtual Service."
              },
              "network_profile_ref": {
                "type": "string",
                "description": "Determines network settings such as protocol, TCP or UDP, and related options for the protocol. It is a reference to an object of type NetworkProfile."
              },
              "network_ref": {
                "type": "string",
                "description": "Manually override the network on which the Virtual Service is placed. It is a reference to an object of type Network. Field deprecated in 17.1.1."
              },
              "network_security_policy_ref": {
                "type": "string",
                "description": "Network security policies for the Virtual Service. It is a reference to an object of type NetworkSecurityPolicy."
              },
              "nsx_securitygroup": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "A list of NSX Service Groups representing the Clients which can access the Virtual IP of the Virtual Service. Field introduced in 17.1.1."
              },
              "performance_limits": {
                "title": "PerformanceLimits",
                "type": "object",
                "properties": {
                  "max_concurrent_connections": {
                    "type": "integer",
                    "description": "The maximum number of concurrent client conections allowed to the Virtual Service."
                  },
                  "max_throughput": {
                    "type": "integer",
                    "description": "The maximum throughput per second for all clients allowed through the client side of the Virtual Service."
                  }
                }
              },
              "pool_group_ref": {
                "type": "string",
                "description": "The pool group is an object that contains pools. It is a reference to an object of type PoolGroup."
              },
              "pool_ref": {
                "type": "string",
                "description": "The pool is an object that contains destination servers and related attributes such as load-balancing and persistence. It is a reference to an object of type Pool."
              },
              "port_uuid": {
                "type": "string",
                "description": "(internal-use) Network port assigned to the Virtual Service IP address. Field deprecated in 17.1.1."
              },
              "remove_listening_port_on_vs_down": {
                "type": "boolean",
                "description": "Remove listening port if VirtualService is down."
              },
              "requests_rate_limit": {
                "title": "RateProfile",
                "required": [
                  "action"
                ],
                "type": "object",
                "properties": {
                  "action": {
                    "title": "RateLimiterAction",
                    "type": "object",
                    "properties": {
                      "file": {
                        "title": "HTTPLocalFile",
                        "required": [
                          "content_type",
                          "file_content"
                        ],
                        "type": "object",
                        "properties": {
                          "content_type": {
                            "type": "string",
                            "description": "Mime-type of the content in the file."
                          },
                          "file_content": {
                            "type": "string",
                            "description": "File content to used in the local HTTP response body."
                          }
                        }
                      },
                      "redirect": {
                        "title": "HTTPRedirectAction",
                        "required": [
                          "protocol"
                        ],
                        "type": "object",
                        "properties": {
                          "host": {
                            "type": "object",
                            "description": ""
                          },
                          "keep_query": {
                            "type": "boolean",
                            "description": "Keep or drop the query of the incoming request URI in the redirected URI.",
                            "default": true
                          },
                          "path": {
                            "type": "object",
                            "description": ""
                          },
                          "port": {
                            "type": "integer",
                            "description": "Port to which redirect the request. Allowed values are 1-65535."
                          },
                          "protocol": {
                            "type": "string",
                            "description": "Protocol type. Enum options - HTTP, HTTPS."
                          },
                          "status_code": {
                            "type": "string",
                            "description": "HTTP redirect status code. Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307.",
                            "default": "HTTP_REDIRECT_STATUS_CODE_302"
                          }
                        }
                      },
                      "status_code": {
                        "type": "string",
                        "description": "HTTP status code for Local Response rate limit action. Enum options - HTTP_LOCAL_RESPONSE_STATUS_CODE_200, HTTP_LOCAL_RESPONSE_STATUS_CODE_204, HTTP_LOCAL_RESPONSE_STATUS_CODE_403, HTTP_LOCAL_RESPONSE_STATUS_CODE_404, HTTP_LOCAL_RESPONSE_STATUS_CODE_429, HTTP_LOCAL_RESPONSE_STATUS_CODE_501.",
                        "default": "HTTP_LOCAL_RESPONSE_STATUS_CODE_429"
                      },
                      "type": {
                        "type": "string",
                        "description": "Type of action to be enforced upon hitting the rate limit. Enum options - RL_ACTION_NONE, RL_ACTION_DROP_CONN, RL_ACTION_RESET_CONN, RL_ACTION_CLOSE_CONN, RL_ACTION_LOCAL_RSP, RL_ACTION_REDIRECT.",
                        "default": "RL_ACTION_NONE"
                      }
                    }
                  },
                  "burst_sz": {
                    "type": "integer",
                    "description": "Maximum number of connections or requests or packets to be let through instantaneously. Allowed values are 10-2500. Special values are 0- 'automatic'. Field deprecated in 18.2.9."
                  },
                  "count": {
                    "type": "integer",
                    "description": "Maximum number of connections or requests or packets. Allowed values are 1-1000000000. Special values are 0- 'unlimited'. Field deprecated in 18.2.9."
                  },
                  "explicit_tracking": {
                    "type": "boolean",
                    "description": "Explicitly tracks an attacker across rate periods."
                  },
                  "fine_grain": {
                    "type": "boolean",
                    "description": "Enable fine granularity."
                  },
                  "http_cookie": {
                    "type": "string",
                    "description": "HTTP cookie name. Field introduced in 17.1.1."
                  },
                  "http_header": {
                    "type": "string",
                    "description": "HTTP header name. Field introduced in 17.1.1."
                  },
                  "period": {
                    "type": "integer",
                    "description": "Time value in seconds to enforce rate count. Allowed values are 1-300. Field deprecated in 18.2.9."
                  },
                  "rate_limiter": {
                    "title": "RateLimiter",
                    "required": [
                      "count",
                      "period"
                    ],
                    "type": "object",
                    "properties": {
                      "burst_sz": {
                        "type": "integer",
                        "description": "Maximum number of connections, requests or packets to be let through instantaneously.  If this is less than count, it will have no effect. Allowed values are 0-1000000000. Field introduced in 18.2.9."
                      },
                      "count": {
                        "type": "integer",
                        "description": "Maximum number of connections, requests or packets permitted each period. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                                "example": 1000000000
                      },
                      "name": {
                        "type": "string",
                        "description": "Identifier for Rate Limit. Constructed according to context. Field introduced in 18.2.9."
                      },
                      "period": {
                        "type": "integer",
                        "description": "Time value in seconds to enforce rate count. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                                "example": 1
                      }
                    }
                  }
                }
              },
              "saml_sp_config": {
                "title": "SAMLSPConfig",
                "required": [
                  "entity_id",
                  "single_signon_url"
                ],
                "type": "object",
                "properties": {
                  "cookie_name": {
                    "type": "string",
                    "description": "HTTP cookie name for authenticated session. Field introduced in 18.2.3."
                  },
                  "cookie_timeout": {
                    "type": "integer",
                    "description": "Cookie timeout in minutes. Allowed values are 1-1440. Field introduced in 18.2.3.",
                        "default": 60
                  },
                  "entity_id": {
                    "type": "string",
                    "description": "Globally unique SAML entityID for this node. The SAML application entity ID on the IDP should match this. Field introduced in 18.2.3."
                  },
                  "key": {
                    "type": "array",
                    "items": {
                      "title": "HttpCookiePersistenceKey",
                      "type": "object",
                      "properties": {
                        "aes_key": {
                          "type": "string",
                          "description": "aes_key of HttpCookiePersistenceKey."
                        },
                        "hmac_key": {
                          "type": "string",
                          "description": "hmac_key of HttpCookiePersistenceKey."
                        },
                        "name": {
                          "type": "string",
                          "description": "name to use for cookie encryption."
                        }
                      }
                    },
                    "description": "Key to generate the cookie. Field introduced in 18.2.3."
                  },
                  "signing_ssl_key_and_certificate_ref": {
                    "type": "string",
                    "description": "SP will use this SSL certificate to sign requests going to the IdP and decrypt the assertions coming from IdP. It is a reference to an object of type SSLKeyAndCertificate. Field introduced in 18.2.3."
                  },
                  "single_signon_url": {
                    "type": "string",
                    "description": "SAML Single Signon URL to be programmed on the IDP. Field introduced in 18.2.3."
                  },
                  "sp_metadata": {
                    "type": "string",
                    "description": "SAML SP metadata for this application. Field introduced in 18.2.3."
                  },
                  "use_idp_session_timeout": {
                    "type": "boolean",
                    "description": "By enabling this field IdP can control how long the SP session can exist through the SessionNotOnOrAfter field in the AuthNStatement of SAML Response. Field introduced in 20.1.1."
                  }
                }
              },
              "scaleout_ecmp": {
                "type": "boolean",
                "description": "Disable re-distribution of flows across service engines for a virtual service. Enable if the network itself performs flow hashing with ECMP in environments such as GCP."
              },
              "se_group_ref": {
                "type": "string",
                "description": "The Service Engine Group to use for this Virtual Service. Moving to a new SE Group is disruptive to existing connections for this VS. It is a reference to an object of type ServiceEngineGroup."
              },
              "security_policy_ref": {
                "type": "string",
                "description": "Security policy applied on the traffic of the Virtual Service. This policy is used to perform security actions such as Distributed Denial of Service (DDoS) attack mitigation, etc. It is a reference to an object of type SecurityPolicy. Field introduced in 18.2.1."
              },
              "server_network_profile_ref": {
                "type": "string",
                "description": "Determines the network settings profile for the server side of TCP proxied connections.  Leave blank to use the same settings as the client to VS side of the connection. It is a reference to an object of type NetworkProfile."
              },
              "service_metadata": {
                "type": "string",
                "description": "Metadata pertaining to the Service provided by this virtual service. In Openshift/Kubernetes environments, egress pod info is stored. Any user input to this field will be overwritten by Avi Vantage."
              },
              "service_pool_select": {
                "type": "array",
                "items": {
                  "title": "ServicePoolSelector",
                  "required": [
                    "service_port"
                  ],
                  "type": "object",
                  "properties": {
                    "service_pool_group_ref": {
                      "type": "string",
                      "description": "It is a reference to an object of type PoolGroup."
                    },
                    "service_pool_ref": {
                      "type": "string",
                      "description": "It is a reference to an object of type Pool."
                    },
                    "service_port": {
                      "type": "integer",
                      "description": "Pool based destination port. Allowed values are 1-65535."
                    },
                    "service_port_range_end": {
                      "type": "integer",
                      "description": "The end of the Service port number range. Allowed values are 1-65535. Special values are 0- 'single port'. Field introduced in 17.2.4."
                    },
                    "service_protocol": {
                      "type": "string",
                      "description": "Destination protocol to match for the pool selection. If not specified, it will match any protocol. Enum options - PROTOCOL_TYPE_TCP_PROXY, PROTOCOL_TYPE_TCP_FAST_PATH, PROTOCOL_TYPE_UDP_FAST_PATH, PROTOCOL_TYPE_UDP_PROXY."
                    }
                  }
                },
                "description": "Select pool based on destination port."
              },
              "services": {
                "type": "array",
                "items": {
                  "title": "Service",
                  "required": [
                    "port"
                  ],
                  "type": "object",
                  "properties": {
                    "enable_http2": {
                      "type": "boolean",
                      "description": "Enable HTTP2 on this port. Field introduced in 20.1.1."
                    },
                    "enable_ssl": {
                      "type": "boolean",
                      "description": "Enable SSL termination and offload for traffic from clients."
                    },
                    "override_application_profile_ref": {
                      "type": "string",
                      "description": "Enable application layer specific features for the this specific service. It is a reference to an object of type ApplicationProfile. Field introduced in 17.2.4."
                    },
                    "override_network_profile_ref": {
                      "type": "string",
                      "description": "Override the network profile for this specific service port. It is a reference to an object of type NetworkProfile."
                    },
                    "port": {
                      "type": "integer",
                      "description": "The Virtual Service's port number. Allowed values are 0-65535."
                    },
                    "port_range_end": {
                      "type": "integer",
                      "description": "The end of the Virtual Service's port number range. Allowed values are 1-65535. Special values are 0- 'single port'."
                    }
                  }
                },
                "description": "List of Services defined for this Virtual Service."
              },
              "sideband_profile": {
                "title": "SidebandProfile",
                "type": "object",
                "properties": {
                  "ip": {
                    "type": "array",
                    "items": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "description": "IP Address of the sideband server."
                  },
                  "sideband_max_request_body_size": {
                    "type": "integer",
                    "description": "Maximum size of the request body that will be sent on the sideband. Allowed values are 0-16384.",
                        "default": 1024
                  }
                }
              },
              "snat_ip": {
                "type": "array",
                "items": {
                  "title": "IpAddr",
                  "required": [
                    "addr",
                    "type"
                  ],
                  "type": "object",
                  "properties": {
                    "addr": {
                      "type": "string",
                      "description": "IP address."
                    },
                    "type": {
                      "type": "string",
                      "description": "Enum options - V4, DNS, V6."
                    }
                  }
                },
                "description": "NAT'ted floating source IP Address(es) for upstream connection to servers."
              },
              "sp_pool_refs": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "GSLB pools used to manage site-persistence functionality. Each site-persistence pool contains the virtualservices in all the other sites, that is auto-generated by the GSLB manager. This is a read-only field for the user. It is a reference to an object of type Pool. Field introduced in 17.2.2."
              },
              "ssl_key_and_certificate_refs": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Select or create one or two certificates, EC and/or RSA, that will be presented to SSL/TLS terminated connections. It is a reference to an object of type SSLKeyAndCertificate."
              },
              "ssl_profile_ref": {
                "type": "string",
                "description": "Determines the set of SSL versions and ciphers to accept for SSL/TLS terminated connections. It is a reference to an object of type SSLProfile."
              },
              "ssl_profile_selectors": {
                "type": "array",
                "items": {
                  "title": "SSLProfileSelector",
                  "required": [
                    "client_ip_list",
                    "ssl_profile_ref"
                  ],
                  "type": "object",
                  "properties": {
                    "client_ip_list": {
                      "title": "IpAddrMatch",
                      "required": [
                        "match_criteria"
                      ],
                      "type": "object",
                      "properties": {
                        "addrs": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "description": ""
                          },
                          "description": "IP address(es)."
                        },
                        "group_refs": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "UUID of IP address group(s). It is a reference to an object of type IpAddrGroup."
                        },
                        "match_criteria": {
                          "type": "string",
                          "description": "Criterion to use for IP address matching the HTTP request. Enum options - IS_IN, IS_NOT_IN."
                        },
                        "prefixes": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "description": ""
                          },
                          "description": "IP address prefix(es)."
                        },
                        "ranges": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "description": ""
                          },
                          "description": "IP address range(s)."
                        }
                      }
                    },
                    "ssl_profile_ref": {
                      "type": "string",
                      "description": "SSL profile for the client IP addresses listed. It is a reference to an object of type SSLProfile. Field introduced in 18.2.3."
                    }
                  }
                },
                "description": "Select SSL Profile based on client IP address match. Field introduced in 18.2.3."
              },
              "ssl_sess_cache_avg_size": {
                "type": "integer",
                "description": "Expected number of SSL session cache entries (may be exceeded). Allowed values are 1024-16383.",
                "default": 1024
              },
              "sso_policy": {
                "title": "SSOPolicy",
                "required": [
                  "authentication_policy",
                  "name",
                  "type"
                ],
                "type": "object",
                "properties": {
                  "_last_modified": {
                    "type": "string",
                    "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
                  },
                  "authentication_policy": {
                    "title": "AuthenticationPolicy",
                    "required": [
                      "default_auth_profile_ref"
                    ],
                    "type": "object",
                    "properties": {
                      "auth_profile_ref": {
                        "type": "string",
                        "description": "Auth Profile to use for validating users. It is a reference to an object of type AuthProfile. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                      },
                      "authn_rules": {
                        "type": "array",
                        "items": {
                          "title": "AuthenticationRule",
                          "required": [
                            "enable",
                            "index",
                            "name"
                          ],
                          "type": "object",
                          "properties": {
                            "action": {
                              "type": "object",
                              "description": ""
                            },
                            "enable": {
                              "type": "boolean",
                              "description": "Enable or disable the rule. Field introduced in 18.2.5.",
                              "example": true
                            },
                            "index": {
                              "type": "integer",
                              "description": "Index of the rule. Field introduced in 18.2.5."
                            },
                            "match": {
                              "type": "object",
                              "description": ""
                            },
                            "name": {
                              "type": "string",
                              "description": "Name of the rule. Field introduced in 18.2.5."
                            }
                          }
                        },
                        "description": "Add rules to apply auth profile to specific targets. Field introduced in 18.2.5."
                      },
                      "cookie_name": {
                        "type": "string",
                        "description": "HTTP cookie name for authenticated session. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                      },
                      "cookie_timeout": {
                        "type": "integer",
                        "description": "Cookie timeout in minutes. Allowed values are 1-1440. Field deprecated in 18.2.3. Field introduced in 18.2.1.",
                                "default": 60
                      },
                      "default_auth_profile_ref": {
                        "type": "string",
                        "description": "Auth Profile to use for validating users. It is a reference to an object of type AuthProfile. Field introduced in 18.2.3."
                      },
                      "entity_id": {
                        "type": "string",
                        "description": "Globally unique entityID for this node. Entity ID on the IDP should match this. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                      },
                      "key": {
                        "type": "array",
                        "items": {
                          "title": "HttpCookiePersistenceKey",
                          "type": "object",
                          "properties": {
                            "aes_key": {
                              "type": "string",
                              "description": "aes_key of HttpCookiePersistenceKey."
                            },
                            "hmac_key": {
                              "type": "string",
                              "description": "hmac_key of HttpCookiePersistenceKey."
                            },
                            "name": {
                              "type": "string",
                              "description": "name to use for cookie encryption."
                            }
                          }
                        },
                        "description": "Key to generate the cookie. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                      },
                      "single_signon_url": {
                        "type": "string",
                        "description": "Single Signon URL to be programmed on the IDP. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                      },
                      "sp_metadata": {
                        "type": "string",
                        "description": "SAML SP metadata. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                      }
                    }
                  },
                  "authorization_policy": {
                    "title": "AuthorizationPolicy",
                    "type": "object",
                    "properties": {
                      "authz_rules": {
                        "type": "array",
                        "items": {
                          "title": "AuthorizationRule",
                          "required": [
                            "action",
                            "enable",
                            "index",
                            "match",
                            "name"
                          ],
                          "type": "object",
                          "properties": {
                            "action": {
                              "type": "object",
                              "description": ""
                            },
                            "enable": {
                              "type": "boolean",
                              "description": "Enable or disable the rule. Field introduced in 18.2.5.",
                              "example": true
                            },
                            "index": {
                              "type": "integer",
                              "description": "Index of the Authorization Policy rule. Field introduced in 18.2.5."
                            },
                            "match": {
                              "type": "object",
                              "description": ""
                            },
                            "name": {
                              "type": "string",
                              "description": "Name of the rule. Field introduced in 18.2.5."
                            }
                          }
                        },
                        "description": "Authorization Policy Rules. Field introduced in 18.2.5."
                      }
                    }
                  },
                  "name": {
                    "type": "string",
                    "description": "Name of the SSO Policy. Field introduced in 18.2.3."
                  },
                  "tenant_ref": {
                    "type": "string",
                    "description": "UUID of the Tenant. It is a reference to an object of type Tenant. Field introduced in 18.2.3."
                  },
                  "type": {
                    "type": "string",
                    "description": "SSO Policy Type. Enum options - SSO_TYPE_SAML, SSO_TYPE_PINGACCESS. Field introduced in 18.2.5.",
                    "example": "SSO_TYPE_SAML"
                  },
                  "url": {
                    "type": "string",
                    "description": "url"
                  },
                  "uuid": {
                    "type": "string",
                    "description": "UUID of the SSO Policy. Field introduced in 18.2.3."
                  }
                }
              },
              "sso_policy_ref": {
                "type": "string",
                "description": "The SSO Policy attached to the virtualservice. It is a reference to an object of type SSOPolicy. Field introduced in 18.2.3."
              },
              "static_dns_records": {
                "type": "array",
                "items": {
                  "title": "DnsRecord",
                  "required": [
                    "type"
                  ],
                  "type": "object",
                  "properties": {
                    "algorithm": {
                      "type": "string",
                      "description": "Specifies the algorithm to pick the IP address(es) to be returned, when multiple entries are configured. This does not apply if num_records_in_response is 0. Default is round-robin. Enum options - DNS_RECORD_RESPONSE_ROUND_ROBIN, DNS_RECORD_RESPONSE_CONSISTENT_HASH. Field introduced in 17.1.1.",
                      "default": "DNS_RECORD_RESPONSE_ROUND_ROBIN"
                    },
                    "cname": {
                      "title": "DnsCnameRdata",
                      "required": [
                        "cname"
                      ],
                      "type": "object",
                      "properties": {
                        "cname": {
                          "type": "string",
                          "description": "Canonical name."
                        }
                      }
                    },
                    "delegated": {
                      "type": "boolean",
                      "description": "Configured FQDNs are delegated domains (i.e. they represent a zone cut). Field introduced in 17.1.2."
                    },
                    "description": {
                      "type": "string",
                      "description": "Details of DNS record."
                    },
                    "fqdn": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "Fully Qualified Domain Name."
                    },
                    "ip6_address": {
                      "type": "array",
                      "items": {
                        "title": "DnsAAAARdata",
                        "required": [
                          "ip6_address"
                        ],
                        "type": "object",
                        "properties": {
                          "ip6_address": {
                            "title": "IpAddr",
                            "required": [
                              "addr",
                              "type"
                            ],
                            "type": "object",
                            "properties": {
                              "addr": {
                                "type": "string",
                                "description": "IP address."
                              },
                              "type": {
                                "type": "string",
                                "description": "Enum options - V4, DNS, V6."
                              }
                            }
                          }
                        }
                      },
                      "description": "IPv6 address in AAAA record. Field introduced in 18.1.1."
                    },
                    "ip_address": {
                      "type": "array",
                      "items": {
                        "title": "DnsARdata",
                        "required": [
                          "ip_address"
                        ],
                        "type": "object",
                        "properties": {
                          "ip_address": {
                            "title": "IpAddr",
                            "required": [
                              "addr",
                              "type"
                            ],
                            "type": "object",
                            "properties": {
                              "addr": {
                                "type": "string",
                                "description": "IP address."
                              },
                              "type": {
                                "type": "string",
                                "description": "Enum options - V4, DNS, V6."
                              }
                            }
                          }
                        }
                      },
                      "description": "IP address in A record."
                    },
                    "metadata": {
                      "type": "string",
                      "description": "Internal metadata for the DNS record. Field introduced in 18.2.5."
                    },
                    "mx_records": {
                      "type": "array",
                      "items": {
                        "title": "DnsMxRdata",
                        "required": [
                          "host",
                          "priority"
                        ],
                        "type": "object",
                        "properties": {
                          "host": {
                            "type": "string",
                            "description": "Fully qualified domain name of a mailserver . The host name maps directly to one or more address records in the DNS table, and must not point to any CNAME records (RFC 2181). Field introduced in 18.2.9, 20.1.1."
                          },
                          "priority": {
                            "type": "integer",
                            "description": "The priority field identifies which mail server should be preferred. Allowed values are 0-65535. Field introduced in 18.2.9, 20.1.1."
                          }
                        }
                      },
                      "description": "MX record. Field introduced in 18.2.9, 20.1.1."
                    },
                    "ns": {
                      "type": "array",
                      "items": {
                        "title": "DnsNsRdata",
                        "required": [
                          "nsname"
                        ],
                        "type": "object",
                        "properties": {
                          "ip6_address": {
                            "title": "IpAddr",
                            "required": [
                              "addr",
                              "type"
                            ],
                            "type": "object",
                            "properties": {
                              "addr": {
                                "type": "string",
                                "description": "IP address."
                              },
                              "type": {
                                "type": "string",
                                "description": "Enum options - V4, DNS, V6."
                              }
                            }
                          },
                          "ip_address": {
                            "title": "IpAddr",
                            "required": [
                              "addr",
                              "type"
                            ],
                            "type": "object",
                            "properties": {
                              "addr": {
                                "type": "string",
                                "description": "IP address."
                              },
                              "type": {
                                "type": "string",
                                "description": "Enum options - V4, DNS, V6."
                              }
                            }
                          },
                          "nsname": {
                            "type": "string",
                            "description": "Name Server name. Field introduced in 17.1.1."
                          }
                        }
                      },
                      "description": "Name Server information in NS record. Field introduced in 17.1.1."
                    },
                    "num_records_in_response": {
                      "type": "integer",
                      "description": "Specifies the number of records returned by the DNS service. Enter 0 to return all records. Default is 0. Allowed values are 0-20. Special values are 0- 'Return all records'. Field introduced in 17.1.1."
                    },
                    "service_locator": {
                      "type": "array",
                      "items": {
                        "title": "DnsSrvRdata",
                        "required": [
                          "port"
                        ],
                        "type": "object",
                        "properties": {
                          "port": {
                            "type": "integer",
                            "description": "Service port. Allowed values are 0-65535."
                          },
                          "priority": {
                            "type": "integer",
                            "description": "Priority of the target hosting the service, low value implies higher priority for this service record. Allowed values are 0-65535."
                          },
                          "target": {
                            "type": "string",
                            "description": "Canonical hostname, of the machine hosting the service, with no trailing period. 'default.host' is valid but not 'default.host.'.",
                            "default": "default.host"
                          },
                          "weight": {
                            "type": "integer",
                            "description": "Relative weight for service records with same priority, high value implies higher preference for this service record. Allowed values are 0-65535."
                          }
                        }
                      },
                      "description": "Service locator info in SRV record."
                    },
                    "ttl": {
                      "type": "integer",
                      "description": "Time To Live for this DNS record."
                    },
                    "txt_records": {
                      "type": "array",
                      "items": {
                        "title": "DnsTxtRdata",
                        "required": [
                          "text_str"
                        ],
                        "type": "object",
                        "properties": {
                          "text_str": {
                            "type": "string",
                            "description": "Text data associated with the FQDN. Field introduced in 18.2.9, 20.1.1."
                          }
                        }
                      },
                      "description": "Text record. Field introduced in 18.2.9, 20.1.1."
                    },
                    "type": {
                      "type": "string",
                      "description": "DNS record type. Enum options - DNS_RECORD_OTHER, DNS_RECORD_A, DNS_RECORD_NS, DNS_RECORD_CNAME, DNS_RECORD_SOA, DNS_RECORD_PTR, DNS_RECORD_HINFO, DNS_RECORD_MX, DNS_RECORD_TXT, DNS_RECORD_RP, DNS_RECORD_DNSKEY, DNS_RECORD_AAAA, DNS_RECORD_SRV, DNS_RECORD_OPT, DNS_RECORD_RRSIG, DNS_RECORD_AXFR, DNS_RECORD_ANY."
                    },
                    "wildcard_match": {
                      "type": "boolean",
                      "description": "Enable wild-card match of fqdn  if an exact match is not found in the DNS table, the longest match is chosen by wild-carding the fqdn in the DNS request. Default is false. Field introduced in 17.1.1."
                    }
                  }
                },
                "description": "List of static DNS records applied to this Virtual Service. These are static entries and no health monitoring is performed against the IP addresses."
              },
              "subnet": {
                "title": "IpAddrPrefix",
                "required": [
                  "ip_addr",
                  "mask"
                ],
                "type": "object",
                "properties": {
                  "ip_addr": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "mask": {
                    "type": "integer",
                    "description": "Number of mask."
                  }
                }
              },
              "subnet_uuid": {
                "type": "string",
                "description": "It represents subnet for the Virtual Service IP address allocation when auto_allocate_ip is True.It is only applicable in OpenStack or AWS cloud. This field is required if auto_allocate_ip is True. Field deprecated in 17.1.1."
              },
              "tenant_ref": {
                "type": "string",
                "description": "It is a reference to an object of type Tenant."
              },
              "test_se_datastore_level_1_ref": {
                "type": "string",
                "description": "Used for testing SE Datastore Upgrade 2.0 functionality. It is a reference to an object of type TestSeDatastoreLevel1. Field introduced in 18.2.6."
              },
              "topology_policies": {
                "type": "array",
                "items": {
                  "title": "DnsPolicies",
                  "required": [
                    "dns_policy_ref",
                    "index"
                  ],
                  "type": "object",
                  "properties": {
                    "dns_policy_ref": {
                      "type": "string",
                      "description": "UUID of the dns policy. It is a reference to an object of type DnsPolicy. Field introduced in 17.1.1."
                    },
                    "index": {
                      "type": "integer",
                      "description": "Index of the dns policy. Field introduced in 17.1.1."
                    }
                  }
                },
                "description": "Topology Policies applied on the dns traffic of the Virtual Service based onGSLB Topology algorithm. Field introduced in 18.2.3."
              },
              "traffic_clone_profile_ref": {
                "type": "string",
                "description": "Server network or list of servers for cloning traffic. It is a reference to an object of type TrafficCloneProfile. Field introduced in 17.1.1."
              },
              "traffic_enabled": {
                "type": "boolean",
                "description": "Knob to enable the Virtual Service traffic on its assigned service engines. This setting is effective only when the enabled flag is set to True. Field introduced in 17.2.8.",
                "default": true
              },
              "type": {
                "type": "string",
                "description": "Specify if this is a normal Virtual Service, or if it is the parent or child of an SNI-enabled virtual hosted Virtual Service. Enum options - VS_TYPE_NORMAL, VS_TYPE_VH_PARENT, VS_TYPE_VH_CHILD.",
                "default": "VS_TYPE_NORMAL"
              },
              "url": {
                "type": "string",
                "description": "url"
              },
              "use_bridge_ip_as_vip": {
                "type": "boolean",
                "description": "Use Bridge IP as VIP on each Host in Mesos deployments."
              },
              "use_vip_as_snat": {
                "type": "boolean",
                "description": "Use the Virtual IP as the SNAT IP for health monitoring and sending traffic to the backend servers instead of the Service Engine interface IP. The caveat of enabling this option is that the VirtualService cannot be configued in an Active-Active HA mode. DNS based Multi VIP solution has to be used for HA & Non-disruptive Upgrade purposes. Field introduced in 17.1.9,17.2.3."
              },
              "uuid": {
                "type": "string",
                "description": "UUID of the VirtualService."
              },
              "vh_domain_name": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "The exact name requested from the client's SNI-enabled TLS hello domain name field. If this is a match, the parent VS will forward the connection to this child VS."
              },
              "vh_parent_vs_uuid": {
                "type": "string",
                "description": "Specifies the Virtual Service acting as Virtual Hosting (SNI) parent."
              },
              "vip": {
                "type": "array",
                "items": {
                  "title": "Vip",
                  "required": [
                    "vip_id"
                  ],
                  "type": "object",
                  "properties": {
                    "auto_allocate_floating_ip": {
                      "type": "boolean",
                      "description": "Auto-allocate floating/elastic IP from the Cloud infrastructure. Field introduced in 17.1.1."
                    },
                    "auto_allocate_ip": {
                      "type": "boolean",
                      "description": "Auto-allocate VIP from the provided subnet. Field introduced in 17.1.1."
                    },
                    "auto_allocate_ip_type": {
                      "type": "string",
                      "description": "Specifies whether to auto-allocate only a V4 address, only a V6 address, or one of each type. Enum options - V4_ONLY, V6_ONLY, V4_V6. Field introduced in 18.1.1.",
                      "default": "V4_ONLY"
                    },
                    "availability_zone": {
                      "type": "string",
                      "description": "Availability-zone to place the Virtual Service. Field introduced in 17.1.1."
                    },
                    "avi_allocated_fip": {
                      "type": "boolean",
                      "description": "(internal-use) FIP allocated by Avi in the Cloud infrastructure. Field introduced in 17.1.1."
                    },
                    "avi_allocated_vip": {
                      "type": "boolean",
                      "description": "(internal-use) VIP allocated by Avi in the Cloud infrastructure. Field introduced in 17.1.1."
                    },
                    "discovered_networks": {
                      "type": "array",
                      "items": {
                        "title": "DiscoveredNetwork",
                        "required": [
                          "network_ref"
                        ],
                        "type": "object",
                        "properties": {
                          "network_ref": {
                            "type": "string",
                            "description": "Discovered network for this IP. It is a reference to an object of type Network."
                          },
                          "subnet": {
                            "type": "array",
                            "items": {
                              "title": "IpAddrPrefix",
                              "required": [
                                "ip_addr",
                                "mask"
                              ],
                              "type": "object",
                              "properties": {
                                "ip_addr": {
                                  "title": "IpAddr",
                                  "required": [
                                    "addr",
                                    "type"
                                  ],
                                  "type": "object",
                                  "properties": {
                                    "addr": {
                                      "type": "string",
                                      "description": "IP address."
                                    },
                                    "type": {
                                      "type": "string",
                                      "description": "Enum options - V4, DNS, V6."
                                    }
                                  }
                                },
                                "mask": {
                                  "type": "integer",
                                  "description": "Number of mask."
                                }
                              }
                            },
                            "description": "Discovered subnet for this IP."
                          },
                          "subnet6": {
                            "type": "array",
                            "items": {
                              "title": "IpAddrPrefix",
                              "required": [
                                "ip_addr",
                                "mask"
                              ],
                              "type": "object",
                              "properties": {
                                "ip_addr": {
                                  "title": "IpAddr",
                                  "required": [
                                    "addr",
                                    "type"
                                  ],
                                  "type": "object",
                                  "properties": {
                                    "addr": {
                                      "type": "string",
                                      "description": "IP address."
                                    },
                                    "type": {
                                      "type": "string",
                                      "description": "Enum options - V4, DNS, V6."
                                    }
                                  }
                                },
                                "mask": {
                                  "type": "integer",
                                  "description": "Number of mask."
                                }
                              }
                            },
                            "description": "Discovered IPv6 subnet for this IP. Field introduced in 18.1.1."
                          }
                        }
                      },
                      "description": "Discovered networks providing reachability for client facing Vip IP. Field introduced in 17.1.1."
                    },
                    "enabled": {
                      "type": "boolean",
                      "description": "Enable or disable the Vip. Field introduced in 17.1.1.",
                      "default": true
                    },
                    "floating_ip": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "floating_ip6": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "floating_subnet6_uuid": {
                      "type": "string",
                      "description": "If auto_allocate_floating_ip is True and more than one floating-ip subnets exist, then the subnet for the floating IPv6 address allocation. Field introduced in 18.1.1."
                    },
                    "floating_subnet_uuid": {
                      "type": "string",
                      "description": "If auto_allocate_floating_ip is True and more than one floating-ip subnets exist, then the subnet for the floating IP address allocation. Field introduced in 17.1.1."
                    },
                    "ip6_address": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "ip_address": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "ipam_network_subnet": {
                      "title": "IPNetworkSubnet",
                      "type": "object",
                      "properties": {
                        "network_ref": {
                          "type": "string",
                          "description": "Network for VirtualService IP allocation with Vantage as the IPAM provider. Network should be created before this is configured. It is a reference to an object of type Network."
                        },
                        "subnet": {
                          "title": "IpAddrPrefix",
                          "required": [
                            "ip_addr",
                            "mask"
                          ],
                          "type": "object",
                          "properties": {
                            "ip_addr": {
                              "title": "IpAddr",
                              "required": [
                                "addr",
                                "type"
                              ],
                              "type": "object",
                              "properties": {
                                "addr": {
                                  "type": "string",
                                  "description": "IP address."
                                },
                                "type": {
                                  "type": "string",
                                  "description": "Enum options - V4, DNS, V6."
                                }
                              }
                            },
                            "mask": {
                              "type": "integer",
                              "description": "Number of mask."
                            }
                          }
                        },
                        "subnet6": {
                          "title": "IpAddrPrefix",
                          "required": [
                            "ip_addr",
                            "mask"
                          ],
                          "type": "object",
                          "properties": {
                            "ip_addr": {
                              "title": "IpAddr",
                              "required": [
                                "addr",
                                "type"
                              ],
                              "type": "object",
                              "properties": {
                                "addr": {
                                  "type": "string",
                                  "description": "IP address."
                                },
                                "type": {
                                  "type": "string",
                                  "description": "Enum options - V4, DNS, V6."
                                }
                              }
                            },
                            "mask": {
                              "type": "integer",
                              "description": "Number of mask."
                            }
                          }
                        },
                        "subnet6_uuid": {
                          "type": "string",
                          "description": "Subnet UUID or Name or Prefix for VirtualService IPv6 allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed. Field introduced in 18.1.1."
                        },
                        "subnet_uuid": {
                          "type": "string",
                          "description": "Subnet UUID or Name or Prefix for VirtualService IP allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed."
                        }
                      }
                    },
                    "network_ref": {
                      "type": "string",
                      "description": "Manually override the network on which the Vip is placed. It is a reference to an object of type Network. Field introduced in 17.1.1."
                    },
                    "placement_networks": {
                      "type": "array",
                      "items": {
                        "title": "VipPlacementNetwork",
                        "type": "object",
                        "properties": {
                          "network_ref": {
                            "type": "string",
                            "description": "Network to use for vip placement. It is a reference to an object of type Network. Field introduced in 18.2.5."
                          },
                          "subnet": {
                            "title": "IpAddrPrefix",
                            "required": [
                              "ip_addr",
                              "mask"
                            ],
                            "type": "object",
                            "properties": {
                              "ip_addr": {
                                "title": "IpAddr",
                                "required": [
                                  "addr",
                                  "type"
                                ],
                                "type": "object",
                                "properties": {
                                  "addr": {
                                    "type": "string",
                                    "description": "IP address."
                                  },
                                  "type": {
                                    "type": "string",
                                    "description": "Enum options - V4, DNS, V6."
                                  }
                                }
                              },
                              "mask": {
                                "type": "integer",
                                "description": "Number of mask."
                              }
                            }
                          },
                          "subnet6": {
                            "title": "IpAddrPrefix",
                            "required": [
                              "ip_addr",
                              "mask"
                            ],
                            "type": "object",
                            "properties": {
                              "ip_addr": {
                                "title": "IpAddr",
                                "required": [
                                  "addr",
                                  "type"
                                ],
                                "type": "object",
                                "properties": {
                                  "addr": {
                                    "type": "string",
                                    "description": "IP address."
                                  },
                                  "type": {
                                    "type": "string",
                                    "description": "Enum options - V4, DNS, V6."
                                  }
                                }
                              },
                              "mask": {
                                "type": "integer",
                                "description": "Number of mask."
                              }
                            }
                          }
                        }
                      },
                      "description": "Placement networks/subnets to use for vip placement. Field introduced in 18.2.5."
                    },
                    "port_uuid": {
                      "type": "string",
                      "description": "(internal-use) Network port assigned to the Vip IP address. Field introduced in 17.1.1."
                    },
                    "prefix_length": {
                      "type": "integer",
                      "description": "Mask applied for the Vip, non-default mask supported only for wildcard Vip. Allowed values are 0-32. Field introduced in 20.1.1.",
                            "default": 32
                    },
                    "subnet": {
                      "title": "IpAddrPrefix",
                      "required": [
                        "ip_addr",
                        "mask"
                      ],
                      "type": "object",
                      "properties": {
                        "ip_addr": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "mask": {
                          "type": "integer",
                          "description": "Number of mask."
                        }
                      }
                    },
                    "subnet6": {
                      "title": "IpAddrPrefix",
                      "required": [
                        "ip_addr",
                        "mask"
                      ],
                      "type": "object",
                      "properties": {
                        "ip_addr": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "mask": {
                          "type": "integer",
                          "description": "Number of mask."
                        }
                      }
                    },
                    "subnet6_uuid": {
                      "type": "string",
                      "description": "If auto_allocate_ip is True, then the subnet for the Vip IPv6 address allocation. This field is applicable only if the VirtualService belongs to an Openstack or AWS cloud, in which case it is mandatory, if auto_allocate is selected. Field introduced in 18.1.1."
                    },
                    "subnet_uuid": {
                      "type": "string",
                      "description": "If auto_allocate_ip is True, then the subnet for the Vip IP address allocation. This field is applicable only if the VirtualService belongs to an Openstack or AWS cloud, in which case it is mandatory, if auto_allocate is selected. Field introduced in 17.1.1."
                    },
                    "vip_id": {
                      "type": "string",
                      "description": "Unique ID associated with the vip. Field introduced in 17.1.1."
                    }
                  }
                },
                "description": "List of Virtual Service IPs. While creating a 'Shared VS',please use vsvip_ref to point to the shared entities. Field introduced in 17.1.1."
              },
              "vrf_context_ref": {
                "type": "string",
                "description": "Virtual Routing Context that the Virtual Service is bound to. This is used to provide the isolation of the set of networks the application is attached to. It is a reference to an object of type VrfContext."
              },
              "vs_datascripts": {
                "type": "array",
                "items": {
                  "title": "VSDataScripts",
                  "required": [
                    "index",
                    "vs_datascript_set_ref"
                  ],
                  "type": "object",
                  "properties": {
                    "index": {
                      "type": "integer",
                      "description": "Index of the virtual service datascript collection."
                    },
                    "vs_datascript_set_ref": {
                      "type": "string",
                      "description": "UUID of the virtual service datascript collection. It is a reference to an object of type VSDataScriptSet."
                    }
                  }
                },
                "description": "Datascripts applied on the data traffic of the Virtual Service."
              },
              "vsvip_cloud_config_cksum": {
                "type": "string",
                "description": "Checksum of cloud configuration for VsVip. Internally set by cloud connector. Field introduced in 17.2.9, 18.1.2."
              },
              "vsvip_ref": {
                "type": "string",
                "description": "Mostly used during the creation of Shared VS, this field refers to entities that can be shared across Virtual Services. It is a reference to an object of type VsVip. Field introduced in 17.1.1."
              },
              "waf_policy_ref": {
                "type": "string",
                "description": "WAF policy for the Virtual Service. It is a reference to an object of type WafPolicy. Field introduced in 17.2.1."
              },
              "weight": {
                "type": "integer",
                "description": "The Quality of Service weight to assign to traffic transmitted from this Virtual Service.  A higher weight will prioritize traffic versus other Virtual Services sharing the same Service Engines. Allowed values are 1-128.",
                "default": 1
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "VirtualService",
          "required": [
            "name"
          ],
          "type": "object",
          "properties": {
            "_last_modified": {
              "type": "string",
              "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
            },
            "active_standby_se_tag": {
              "type": "string",
              "description": "This configuration only applies if the VirtualService is in Legacy Active Standby HA mode and Load Distribution among Active Standby is enabled. This field is used to tag the VirtualService so that VirtualServices with the same tag will share the same Active ServiceEngine. VirtualServices with different tags will have different Active ServiceEngines. If one of the ServiceEngine's in the ServiceEngineGroup fails, all VirtualServices will end up using the same Active ServiceEngine. Redistribution of the VirtualServices can be either manual or automated when the failed ServiceEngine recovers. Redistribution is based on the auto redistribute property of the ServiceEngineGroup. Enum options - ACTIVE_STANDBY_SE_1, ACTIVE_STANDBY_SE_2.",
              "default": "ACTIVE_STANDBY_SE_1"
            },
            "advertise_down_vs": {
              "type": "boolean",
              "description": "Keep advertising Virtual Service via BGP even if it is marked down by health monitor. This setting takes effect for future Virtual Service flaps. To advertise current VSes that are down, please disable and re-enable the Virtual Service. Field introduced in 20.1.1."
            },
            "allow_invalid_client_cert": {
              "type": "boolean",
              "description": "Process request even if invalid client certificate is presented. Datascript APIs need to be used for processing of such requests. Field introduced in 18.2.3."
            },
            "analytics_policy": {
              "title": "AnalyticsPolicy",
              "type": "object",
              "properties": {
                "all_headers": {
                  "type": "boolean",
                  "description": "Log all headers. Field introduced in 18.1.4, 18.2.1."
                },
                "client_insights": {
                  "type": "string",
                  "description": "Gain insights from sampled client to server HTTP requests and responses. Enum options - NO_INSIGHTS, PASSIVE, ACTIVE.",
                  "default": "NO_INSIGHTS"
                },
                "client_insights_sampling": {
                  "title": "ClientInsightsSampling",
                  "type": "object",
                  "properties": {
                    "client_ip": {
                      "title": "IpAddrMatch",
                      "required": [
                        "match_criteria"
                      ],
                      "type": "object",
                      "properties": {
                        "addrs": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "description": ""
                          },
                          "description": "IP address(es)."
                        },
                        "group_refs": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "UUID of IP address group(s). It is a reference to an object of type IpAddrGroup."
                        },
                        "match_criteria": {
                          "type": "string",
                          "description": "Criterion to use for IP address matching the HTTP request. Enum options - IS_IN, IS_NOT_IN."
                        },
                        "prefixes": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "description": ""
                          },
                          "description": "IP address prefix(es)."
                        },
                        "ranges": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "description": ""
                          },
                          "description": "IP address range(s)."
                        }
                      }
                    },
                    "sample_uris": {
                      "title": "StringMatch",
                      "required": [
                        "match_criteria"
                      ],
                      "type": "object",
                      "properties": {
                        "match_criteria": {
                          "type": "string",
                          "description": "Criterion to use for string matching the HTTP request. Enum options - BEGINS_WITH, DOES_NOT_BEGIN_WITH, CONTAINS, DOES_NOT_CONTAIN, ENDS_WITH, DOES_NOT_END_WITH, EQUALS, DOES_NOT_EQUAL, REGEX_MATCH, REGEX_DOES_NOT_MATCH."
                        },
                        "match_str": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "String value(s)."
                        },
                        "string_group_refs": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "UUID of the string group(s). It is a reference to an object of type StringGroup."
                        }
                      }
                    },
                    "skip_uris": {
                      "title": "StringMatch",
                      "required": [
                        "match_criteria"
                      ],
                      "type": "object",
                      "properties": {
                        "match_criteria": {
                          "type": "string",
                          "description": "Criterion to use for string matching the HTTP request. Enum options - BEGINS_WITH, DOES_NOT_BEGIN_WITH, CONTAINS, DOES_NOT_CONTAIN, ENDS_WITH, DOES_NOT_END_WITH, EQUALS, DOES_NOT_EQUAL, REGEX_MATCH, REGEX_DOES_NOT_MATCH."
                        },
                        "match_str": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "String value(s)."
                        },
                        "string_group_refs": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "UUID of the string group(s). It is a reference to an object of type StringGroup."
                        }
                      }
                    }
                  }
                },
                "client_log_filters": {
                  "type": "array",
                  "items": {
                    "title": "ClientLogFilter",
                    "required": [
                      "enabled",
                      "index",
                      "name"
                    ],
                    "type": "object",
                    "properties": {
                      "all_headers": {
                        "type": "boolean",
                        "description": "Placeholder for description of property all_headers of obj type ClientLogFilter field type str  type boolean"
                      },
                      "client_ip": {
                        "title": "IpAddrMatch",
                        "required": [
                          "match_criteria"
                        ],
                        "type": "object",
                        "properties": {
                          "addrs": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "description": ""
                            },
                            "description": "IP address(es)."
                          },
                          "group_refs": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": "UUID of IP address group(s). It is a reference to an object of type IpAddrGroup."
                          },
                          "match_criteria": {
                            "type": "string",
                            "description": "Criterion to use for IP address matching the HTTP request. Enum options - IS_IN, IS_NOT_IN."
                          },
                          "prefixes": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "description": ""
                            },
                            "description": "IP address prefix(es)."
                          },
                          "ranges": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "description": ""
                            },
                            "description": "IP address range(s)."
                          }
                        }
                      },
                      "duration": {
                        "type": "integer",
                        "description": "Special values are 0 - 'infinite'.",
                                "default": 30
                      },
                      "enabled": {
                        "type": "boolean",
                        "description": "Placeholder for description of property enabled of obj type ClientLogFilter field type str  type boolean"
                      },
                      "index": {
                        "type": "integer",
                        "description": "Number of index."
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the object."
                      },
                      "uri": {
                        "title": "StringMatch",
                        "required": [
                          "match_criteria"
                        ],
                        "type": "object",
                        "properties": {
                          "match_criteria": {
                            "type": "string",
                            "description": "Criterion to use for string matching the HTTP request. Enum options - BEGINS_WITH, DOES_NOT_BEGIN_WITH, CONTAINS, DOES_NOT_CONTAIN, ENDS_WITH, DOES_NOT_END_WITH, EQUALS, DOES_NOT_EQUAL, REGEX_MATCH, REGEX_DOES_NOT_MATCH."
                          },
                          "match_str": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": "String value(s)."
                          },
                          "string_group_refs": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": "UUID of the string group(s). It is a reference to an object of type StringGroup."
                          }
                        }
                      }
                    }
                  },
                  "description": "Placeholder for description of property client_log_filters of obj type AnalyticsPolicy field type str  type object"
                },
                "enabled": {
                  "type": "boolean",
                  "description": "[DEPRECATED] Disable Analytics on this VirtualService. This will disable the collection of both metrics and logs. Please use following fields in AnalytcsProfile to control this behavior instead. disable_vs_analytics (for VirtualServices metrics), disable_server_analytics (for Pool metrics) and client_log_config (for logs). Field deprecated in 18.2.1. Field introduced in 17.2.4."
                },
                "full_client_logs": {
                  "title": "FullClientLogs",
                  "required": [
                    "enabled"
                  ],
                  "type": "object",
                  "properties": {
                    "all_headers": {
                      "type": "boolean",
                      "description": "[DEPRECATED] Log all headers. Please use the all_headers flag in AnalyticsPolicy. Field deprecated in 18.1.4, 18.2.1."
                    },
                    "duration": {
                      "type": "integer",
                      "description": "How long should the system capture all logs, measured in minutes. Set to 0 for infinite. Special values are 0 - 'infinite'.",
                            "default": 30
                    },
                    "enabled": {
                      "type": "boolean",
                      "description": "Capture all client logs including connections and requests.  When disabled, only errors will be logged."
                    },
                    "throttle": {
                      "type": "integer",
                      "description": "This setting limits the number of non-significant logs generated per second for this VS on each SE. Default is 10 logs per second. Set it to zero (0) to disable throttling. Field introduced in 17.1.3.",
                            "default": 10
                    }
                  }
                },
                "metrics_realtime_update": {
                  "title": "MetricsRealTimeUpdate",
                  "required": [
                    "enabled"
                  ],
                  "type": "object",
                  "properties": {
                    "duration": {
                      "type": "integer",
                      "description": "Real time metrics collection duration in minutes. 0 for infinite. Special values are 0 - 'infinite'.",
                            "default": 30
                    },
                    "enabled": {
                      "type": "boolean",
                      "description": "Enables real time metrics collection.  When disabled, 6 hour view is the most granular the system will track."
                    }
                  }
                },
                "significant_log_throttle": {
                  "type": "integer",
                  "description": "This setting limits the number of significant logs generated per second for this VS on each SE. Default is 10 logs per second. Set it to zero (0) to disable throttling. Field introduced in 17.1.3.",
                    "default": 10
                },
                "udf_log_throttle": {
                  "type": "integer",
                  "description": "This setting limits the total number of UDF logs generated per second for this VS on each SE. UDF logs are generated due to the configured client log filters or the rules with logging enabled. Default is 10 logs per second. Set it to zero (0) to disable throttling. Field introduced in 17.1.3.",
                    "default": 10
                }
              }
            },
            "analytics_profile_ref": {
              "type": "string",
              "description": "Specifies settings related to analytics. It is a reference to an object of type AnalyticsProfile."
            },
            "apic_contract_graph": {
              "type": "string",
              "description": "The name of the Contract/Graph associated with the Virtual Service. Should be in the <Contract name> <Graph name> format. This is applicable only for Service Integration mode with Cisco APIC Controller . Field introduced in 17.2.12,18.1.2."
            },
            "application_profile_ref": {
              "type": "string",
              "description": "Enable application layer specific features for the Virtual Service. It is a reference to an object of type ApplicationProfile."
            },
            "auto_allocate_floating_ip": {
              "type": "boolean",
              "description": "Auto-allocate floating/elastic IP from the Cloud infrastructure. Field deprecated in 17.1.1."
            },
            "auto_allocate_ip": {
              "type": "boolean",
              "description": "Auto-allocate VIP from the provided subnet. Field deprecated in 17.1.1."
            },
            "availability_zone": {
              "type": "string",
              "description": "Availability-zone to place the Virtual Service. Field deprecated in 17.1.1."
            },
            "avi_allocated_fip": {
              "type": "boolean",
              "description": "(internal-use) FIP allocated by Avi in the Cloud infrastructure. Field deprecated in 17.1.1."
            },
            "avi_allocated_vip": {
              "type": "boolean",
              "description": "(internal-use) VIP allocated by Avi in the Cloud infrastructure. Field deprecated in 17.1.1."
            },
            "azure_availability_set": {
              "type": "string",
              "description": "(internal-use)Applicable for Azure only. Azure Availability set to which this VS is associated. Internally set by the cloud connector. Field introduced in 17.2.12, 18.1.2."
            },
            "bulk_sync_kvcache": {
              "type": "boolean",
              "description": "(This is a beta feature). Sync Key-Value cache to the new SEs when VS is scaled out. For ex  SSL sessions are stored using VS's Key-Value cache. When the VS is scaled out, the SSL session information is synced to the new SE, allowing existing SSL sessions to be reused on the new SE. . Field introduced in 17.2.7, 18.1.1."
            },
            "client_auth": {
              "title": "HTTPClientAuthenticationParams",
              "type": "object",
              "properties": {
                "auth_profile_ref": {
                  "type": "string",
                  "description": "Auth Profile to use for validating users. It is a reference to an object of type AuthProfile."
                },
                "realm": {
                  "type": "string",
                  "description": "Basic authentication realm to present to a user along with the prompt for credentials."
                },
                "request_uri_path": {
                  "title": "StringMatch",
                  "required": [
                    "match_criteria"
                  ],
                  "type": "object",
                  "properties": {
                    "match_criteria": {
                      "type": "string",
                      "description": "Criterion to use for string matching the HTTP request. Enum options - BEGINS_WITH, DOES_NOT_BEGIN_WITH, CONTAINS, DOES_NOT_CONTAIN, ENDS_WITH, DOES_NOT_END_WITH, EQUALS, DOES_NOT_EQUAL, REGEX_MATCH, REGEX_DOES_NOT_MATCH."
                    },
                    "match_str": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "String value(s)."
                    },
                    "string_group_refs": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "UUID of the string group(s). It is a reference to an object of type StringGroup."
                    }
                  }
                },
                "type": {
                  "type": "string",
                  "description": "type of client authentication. Enum options - HTTP_BASIC_AUTH."
                }
              }
            },
            "close_client_conn_on_config_update": {
              "type": "boolean",
              "description": "close client connection on vs config update. Field introduced in 17.2.4."
            },
            "cloud_config_cksum": {
              "type": "string",
              "description": "Checksum of cloud configuration for VS. Internally set by cloud connector."
            },
            "cloud_ref": {
              "type": "string",
              "description": "It is a reference to an object of type Cloud."
            },
            "cloud_type": {
              "type": "string",
              "description": "Enum options - CLOUD_NONE, CLOUD_VCENTER, CLOUD_OPENSTACK, CLOUD_AWS, CLOUD_VCA, CLOUD_APIC, CLOUD_MESOS, CLOUD_LINUXSERVER, CLOUD_DOCKER_UCP, CLOUD_RANCHER, CLOUD_OSHIFT_K8S, CLOUD_AZURE, CLOUD_GCP, CLOUD_NSXT.",
              "default": "CLOUD_NONE"
            },
            "connections_rate_limit": {
              "title": "RateProfile",
              "required": [
                "action"
              ],
              "type": "object",
              "properties": {
                "action": {
                  "title": "RateLimiterAction",
                  "type": "object",
                  "properties": {
                    "file": {
                      "title": "HTTPLocalFile",
                      "required": [
                        "content_type",
                        "file_content"
                      ],
                      "type": "object",
                      "properties": {
                        "content_type": {
                          "type": "string",
                          "description": "Mime-type of the content in the file."
                        },
                        "file_content": {
                          "type": "string",
                          "description": "File content to used in the local HTTP response body."
                        }
                      }
                    },
                    "redirect": {
                      "title": "HTTPRedirectAction",
                      "required": [
                        "protocol"
                      ],
                      "type": "object",
                      "properties": {
                        "host": {
                          "type": "object",
                          "description": ""
                        },
                        "keep_query": {
                          "type": "boolean",
                          "description": "Keep or drop the query of the incoming request URI in the redirected URI.",
                          "default": true
                        },
                        "path": {
                          "type": "object",
                          "description": ""
                        },
                        "port": {
                          "type": "integer",
                          "description": "Port to which redirect the request. Allowed values are 1-65535."
                        },
                        "protocol": {
                          "type": "string",
                          "description": "Protocol type. Enum options - HTTP, HTTPS."
                        },
                        "status_code": {
                          "type": "string",
                          "description": "HTTP redirect status code. Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307.",
                          "default": "HTTP_REDIRECT_STATUS_CODE_302"
                        }
                      }
                    },
                    "status_code": {
                      "type": "string",
                      "description": "HTTP status code for Local Response rate limit action. Enum options - HTTP_LOCAL_RESPONSE_STATUS_CODE_200, HTTP_LOCAL_RESPONSE_STATUS_CODE_204, HTTP_LOCAL_RESPONSE_STATUS_CODE_403, HTTP_LOCAL_RESPONSE_STATUS_CODE_404, HTTP_LOCAL_RESPONSE_STATUS_CODE_429, HTTP_LOCAL_RESPONSE_STATUS_CODE_501.",
                      "default": "HTTP_LOCAL_RESPONSE_STATUS_CODE_429"
                    },
                    "type": {
                      "type": "string",
                      "description": "Type of action to be enforced upon hitting the rate limit. Enum options - RL_ACTION_NONE, RL_ACTION_DROP_CONN, RL_ACTION_RESET_CONN, RL_ACTION_CLOSE_CONN, RL_ACTION_LOCAL_RSP, RL_ACTION_REDIRECT.",
                      "default": "RL_ACTION_NONE"
                    }
                  }
                },
                "burst_sz": {
                  "type": "integer",
                  "description": "Maximum number of connections or requests or packets to be let through instantaneously. Allowed values are 10-2500. Special values are 0- 'automatic'. Field deprecated in 18.2.9."
                },
                "count": {
                  "type": "integer",
                  "description": "Maximum number of connections or requests or packets. Allowed values are 1-1000000000. Special values are 0- 'unlimited'. Field deprecated in 18.2.9."
                },
                "explicit_tracking": {
                  "type": "boolean",
                  "description": "Explicitly tracks an attacker across rate periods."
                },
                "fine_grain": {
                  "type": "boolean",
                  "description": "Enable fine granularity."
                },
                "http_cookie": {
                  "type": "string",
                  "description": "HTTP cookie name. Field introduced in 17.1.1."
                },
                "http_header": {
                  "type": "string",
                  "description": "HTTP header name. Field introduced in 17.1.1."
                },
                "period": {
                  "type": "integer",
                  "description": "Time value in seconds to enforce rate count. Allowed values are 1-300. Field deprecated in 18.2.9."
                },
                "rate_limiter": {
                  "title": "RateLimiter",
                  "required": [
                    "count",
                    "period"
                  ],
                  "type": "object",
                  "properties": {
                    "burst_sz": {
                      "type": "integer",
                      "description": "Maximum number of connections, requests or packets to be let through instantaneously.  If this is less than count, it will have no effect. Allowed values are 0-1000000000. Field introduced in 18.2.9."
                    },
                    "count": {
                      "type": "integer",
                      "description": "Maximum number of connections, requests or packets permitted each period. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                            "example": 1000000000
                    },
                    "name": {
                      "type": "string",
                      "description": "Identifier for Rate Limit. Constructed according to context. Field introduced in 18.2.9."
                    },
                    "period": {
                      "type": "integer",
                      "description": "Time value in seconds to enforce rate count. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                            "example": 1
                    }
                  }
                }
              }
            },
            "content_rewrite": {
              "title": "ContentRewriteProfile",
              "type": "object",
              "properties": {
                "req_match_replace_pair": {
                  "type": "array",
                  "items": {
                    "title": "MatchReplacePair",
                    "required": [
                      "match_string"
                    ],
                    "type": "object",
                    "properties": {
                      "match_string": {
                        "type": "string",
                        "description": "String to be matched."
                      },
                      "replacement_string": {
                        "title": "ReplaceStringVar",
                        "type": "object",
                        "properties": {
                          "type": {
                            "type": "string",
                            "description": "Type of replacement string - can be a variable exposed from datascript, value of an HTTP header or a custom user-input literal string. Enum options - DATASCRIPT_VAR, HTTP_HEADER_VAR, LITERAL_STRING."
                          },
                          "val": {
                            "type": "string",
                            "description": "Value of the replacement string - name of variable exposed from datascript, name of the HTTP header or a custom user-input literal string."
                          }
                        }
                      }
                    }
                  },
                  "description": "Strings to be matched and replaced with on the request body."
                },
                "request_rewrite_enabled": {
                  "type": "boolean",
                  "description": "Enable rewrite on request body."
                },
                "response_rewrite_enabled": {
                  "type": "boolean",
                  "description": "Enable rewrite on response body."
                },
                "rewritable_content_ref": {
                  "type": "string",
                  "description": "Rewrite only content types listed in this string group. Content types not present in this list are not rewritten. It is a reference to an object of type StringGroup."
                },
                "rsp_match_replace_pair": {
                  "type": "array",
                  "items": {
                    "title": "MatchReplacePair",
                    "required": [
                      "match_string"
                    ],
                    "type": "object",
                    "properties": {
                      "match_string": {
                        "type": "string",
                        "description": "String to be matched."
                      },
                      "replacement_string": {
                        "title": "ReplaceStringVar",
                        "type": "object",
                        "properties": {
                          "type": {
                            "type": "string",
                            "description": "Type of replacement string - can be a variable exposed from datascript, value of an HTTP header or a custom user-input literal string. Enum options - DATASCRIPT_VAR, HTTP_HEADER_VAR, LITERAL_STRING."
                          },
                          "val": {
                            "type": "string",
                            "description": "Value of the replacement string - name of variable exposed from datascript, name of the HTTP header or a custom user-input literal string."
                          }
                        }
                      }
                    }
                  },
                  "description": "Strings to be matched and replaced with on the response body."
                }
              }
            },
            "created_by": {
              "type": "string",
              "description": "Creator name."
            },
            "delay_fairness": {
              "type": "boolean",
              "description": "Select the algorithm for QoS fairness.  This determines how multiple Virtual Services sharing the same Service Engines will prioritize traffic over a congested network."
            },
            "description": {
              "type": "string",
              "description": "User defined description for the object."
            },
            "discovered_network_ref": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "(internal-use) Discovered networks providing reachability for client facing Virtual Service IP. This field is deprecated. It is a reference to an object of type Network. Field deprecated in 17.1.1."
            },
            "discovered_networks": {
              "type": "array",
              "items": {
                "title": "DiscoveredNetwork",
                "required": [
                  "network_ref"
                ],
                "type": "object",
                "properties": {
                  "network_ref": {
                    "type": "string",
                    "description": "Discovered network for this IP. It is a reference to an object of type Network."
                  },
                  "subnet": {
                    "type": "array",
                    "items": {
                      "title": "IpAddrPrefix",
                      "required": [
                        "ip_addr",
                        "mask"
                      ],
                      "type": "object",
                      "properties": {
                        "ip_addr": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "mask": {
                          "type": "integer",
                          "description": "Number of mask."
                        }
                      }
                    },
                    "description": "Discovered subnet for this IP."
                  },
                  "subnet6": {
                    "type": "array",
                    "items": {
                      "title": "IpAddrPrefix",
                      "required": [
                        "ip_addr",
                        "mask"
                      ],
                      "type": "object",
                      "properties": {
                        "ip_addr": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "mask": {
                          "type": "integer",
                          "description": "Number of mask."
                        }
                      }
                    },
                    "description": "Discovered IPv6 subnet for this IP. Field introduced in 18.1.1."
                  }
                }
              },
              "description": "(internal-use) Discovered networks providing reachability for client facing Virtual Service IP. This field is used internally by Avi, not editable by the user. Field deprecated in 17.1.1."
            },
            "discovered_subnet": {
              "type": "array",
              "items": {
                "title": "IpAddrPrefix",
                "required": [
                  "ip_addr",
                  "mask"
                ],
                "type": "object",
                "properties": {
                  "ip_addr": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "mask": {
                    "type": "integer",
                    "description": "Number of mask."
                  }
                }
              },
              "description": "(internal-use) Discovered subnets providing reachability for client facing Virtual Service IP. This field is deprecated. Field deprecated in 17.1.1."
            },
            "dns_info": {
              "type": "array",
              "items": {
                "title": "DnsInfo",
                "type": "object",
                "properties": {
                  "algorithm": {
                    "type": "string",
                    "description": "Specifies the algorithm to pick the IP address(es) to be returned, when multiple entries are configured. This does not apply if num_records_in_response is 0. Default is consistent hash. Enum options - DNS_RECORD_RESPONSE_ROUND_ROBIN, DNS_RECORD_RESPONSE_CONSISTENT_HASH. Field introduced in 17.1.1.",
                    "default": "DNS_RECORD_RESPONSE_CONSISTENT_HASH"
                  },
                  "cname": {
                    "title": "DnsCnameRdata",
                    "required": [
                      "cname"
                    ],
                    "type": "object",
                    "properties": {
                      "cname": {
                        "type": "string",
                        "description": "Canonical name."
                      }
                    }
                  },
                  "fqdn": {
                    "type": "string",
                    "description": "Fully qualified domain name."
                  },
                  "metadata": {
                    "type": "string",
                    "description": "Any metadata associated with this record. Field introduced in 17.2.2."
                  },
                  "num_records_in_response": {
                    "type": "integer",
                    "description": "Specifies the number of records returned for this FQDN. Enter 0 to return all records. Default is 0. Allowed values are 0-20. Special values are 0- 'Return all records'. Field introduced in 17.1.1.",
                        "default": 1
                  },
                  "ttl": {
                    "type": "integer",
                    "description": "Time to live for fqdn record. Default value is chosen from DNS profile for this cloud if no value provided."
                  },
                  "type": {
                    "type": "string",
                    "description": "DNS record type. Enum options - DNS_RECORD_OTHER, DNS_RECORD_A, DNS_RECORD_NS, DNS_RECORD_CNAME, DNS_RECORD_SOA, DNS_RECORD_PTR, DNS_RECORD_HINFO, DNS_RECORD_MX, DNS_RECORD_TXT, DNS_RECORD_RP, DNS_RECORD_DNSKEY, DNS_RECORD_AAAA, DNS_RECORD_SRV, DNS_RECORD_OPT, DNS_RECORD_RRSIG, DNS_RECORD_AXFR, DNS_RECORD_ANY.",
                    "default": "DNS_RECORD_A"
                  }
                }
              },
              "description": "Service discovery specific data including fully qualified domain name, type and Time-To-Live of the DNS record. Note that only one of fqdn and dns_info setting is allowed."
            },
            "dns_policies": {
              "type": "array",
              "items": {
                "title": "DnsPolicies",
                "required": [
                  "dns_policy_ref",
                  "index"
                ],
                "type": "object",
                "properties": {
                  "dns_policy_ref": {
                    "type": "string",
                    "description": "UUID of the dns policy. It is a reference to an object of type DnsPolicy. Field introduced in 17.1.1."
                  },
                  "index": {
                    "type": "integer",
                    "description": "Index of the dns policy. Field introduced in 17.1.1."
                  }
                }
              },
              "description": "DNS Policies applied on the dns traffic of the Virtual Service. Field introduced in 17.1.1."
            },
            "east_west_placement": {
              "type": "boolean",
              "description": "Force placement on all SE's in service group (Mesos mode only)."
            },
            "enable_autogw": {
              "type": "boolean",
              "description": "Response traffic to clients will be sent back to the source MAC address of the connection, rather than statically sent to a default gateway.",
              "default": true
            },
            "enable_rhi": {
              "type": "boolean",
              "description": "Enable Route Health Injection using the BGP Config in the vrf context."
            },
            "enable_rhi_snat": {
              "type": "boolean",
              "description": "Enable Route Health Injection for Source NAT'ted floating IP Address using the BGP Config in the vrf context."
            },
            "enabled": {
              "type": "boolean",
              "description": "Enable or disable the Virtual Service.",
              "default": true
            },
            "error_page_profile_ref": {
              "type": "string",
              "description": "Error Page Profile to be used for this virtualservice.This profile is used to send the custom error page to the client generated by the proxy. It is a reference to an object of type ErrorPageProfile. Field introduced in 17.2.4."
            },
            "floating_ip": {
              "title": "IpAddr",
              "required": [
                "addr",
                "type"
              ],
              "type": "object",
              "properties": {
                "addr": {
                  "type": "string",
                  "description": "IP address."
                },
                "type": {
                  "type": "string",
                  "description": "Enum options - V4, DNS, V6."
                }
              }
            },
            "floating_subnet_uuid": {
              "type": "string",
              "description": "If auto_allocate_floating_ip is True and more than one floating-ip subnets exist, then the subnet for the floating IP address allocation. This field is applicable only if the VirtualService belongs to an OpenStack or AWS cloud. In OpenStack or AWS cloud it is required when auto_allocate_floating_ip is selected. Field deprecated in 17.1.1."
            },
            "flow_dist": {
              "type": "string",
              "description": "Criteria for flow distribution among SEs. Enum options - LOAD_AWARE, CONSISTENT_HASH_SOURCE_IP_ADDRESS, CONSISTENT_HASH_SOURCE_IP_ADDRESS_AND_PORT.",
              "default": "LOAD_AWARE"
            },
            "flow_label_type": {
              "type": "string",
              "description": "Criteria for flow labelling. Enum options - NO_LABEL, APPLICATION_LABEL, SERVICE_LABEL.",
              "default": "NO_LABEL"
            },
            "fqdn": {
              "type": "string",
              "description": "DNS resolvable, fully qualified domain name of the virtualservice. Only one of 'fqdn' and 'dns_info' configuration is allowed."
            },
            "host_name_xlate": {
              "type": "string",
              "description": "Translate the host name sent to the servers to this value.  Translate the host name sent from servers back to the value used by the client."
            },
            "http_policies": {
              "type": "array",
              "items": {
                "title": "HTTPPolicies",
                "required": [
                  "http_policy_set_ref",
                  "index"
                ],
                "type": "object",
                "properties": {
                  "http_policy_set_ref": {
                    "type": "string",
                    "description": "UUID of the virtual service HTTP policy collection. It is a reference to an object of type HTTPPolicySet."
                  },
                  "index": {
                    "type": "integer",
                    "description": "Index of the virtual service HTTP policy collection."
                  }
                }
              },
              "description": "HTTP Policies applied on the data traffic of the Virtual Service."
            },
            "icap_request_profile_refs": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "The config settings for the ICAP server when checking the HTTP request. It is a reference to an object of type IcapProfile. Field introduced in 20.1.1."
            },
            "ign_pool_net_reach": {
              "type": "boolean",
              "description": "Ignore Pool servers network reachability constraints for Virtual Service placement."
            },
            "ip_address": {
              "title": "IpAddr",
              "required": [
                "addr",
                "type"
              ],
              "type": "object",
              "properties": {
                "addr": {
                  "type": "string",
                  "description": "IP address."
                },
                "type": {
                  "type": "string",
                  "description": "Enum options - V4, DNS, V6."
                }
              }
            },
            "ipam_network_subnet": {
              "title": "IPNetworkSubnet",
              "type": "object",
              "properties": {
                "network_ref": {
                  "type": "string",
                  "description": "Network for VirtualService IP allocation with Vantage as the IPAM provider. Network should be created before this is configured. It is a reference to an object of type Network."
                },
                "subnet": {
                  "title": "IpAddrPrefix",
                  "required": [
                    "ip_addr",
                    "mask"
                  ],
                  "type": "object",
                  "properties": {
                    "ip_addr": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "mask": {
                      "type": "integer",
                      "description": "Number of mask."
                    }
                  }
                },
                "subnet6": {
                  "title": "IpAddrPrefix",
                  "required": [
                    "ip_addr",
                    "mask"
                  ],
                  "type": "object",
                  "properties": {
                    "ip_addr": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "mask": {
                      "type": "integer",
                      "description": "Number of mask."
                    }
                  }
                },
                "subnet6_uuid": {
                  "type": "string",
                  "description": "Subnet UUID or Name or Prefix for VirtualService IPv6 allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed. Field introduced in 18.1.1."
                },
                "subnet_uuid": {
                  "type": "string",
                  "description": "Subnet UUID or Name or Prefix for VirtualService IP allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed."
                }
              }
            },
            "l4_policies": {
              "type": "array",
              "items": {
                "title": "L4Policies",
                "required": [
                  "index",
                  "l4_policy_set_ref"
                ],
                "type": "object",
                "properties": {
                  "index": {
                    "type": "integer",
                    "description": "Index of the virtual service L4 policy set. Field introduced in 17.2.7."
                  },
                  "l4_policy_set_ref": {
                    "type": "string",
                    "description": "ID of the virtual service L4 policy set. It is a reference to an object of type L4PolicySet. Field introduced in 17.2.7."
                  }
                }
              },
              "description": "L4 Policies applied to the data traffic of the Virtual Service. Field introduced in 17.2.7."
            },
            "limit_doser": {
              "type": "boolean",
              "description": "Limit potential DoS attackers who exceed max_cps_per_client significantly to a fraction of max_cps_per_client for a while."
            },
            "max_cps_per_client": {
              "type": "integer",
              "description": "Maximum connections per second per client IP. Allowed values are 10-1000. Special values are 0- 'unlimited'."
            },
            "microservice_ref": {
              "type": "string",
              "description": "Microservice representing the virtual service. It is a reference to an object of type MicroService."
            },
            "min_pools_up": {
              "type": "integer",
              "description": "Minimum number of UP pools to mark VS up. Field introduced in 18.2.1, 17.2.12."
            },
            "name": {
              "type": "string",
              "description": "Name for the Virtual Service."
            },
            "network_profile_ref": {
              "type": "string",
              "description": "Determines network settings such as protocol, TCP or UDP, and related options for the protocol. It is a reference to an object of type NetworkProfile."
            },
            "network_ref": {
              "type": "string",
              "description": "Manually override the network on which the Virtual Service is placed. It is a reference to an object of type Network. Field deprecated in 17.1.1."
            },
            "network_security_policy_ref": {
              "type": "string",
              "description": "Network security policies for the Virtual Service. It is a reference to an object of type NetworkSecurityPolicy."
            },
            "nsx_securitygroup": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "A list of NSX Service Groups representing the Clients which can access the Virtual IP of the Virtual Service. Field introduced in 17.1.1."
            },
            "performance_limits": {
              "title": "PerformanceLimits",
              "type": "object",
              "properties": {
                "max_concurrent_connections": {
                  "type": "integer",
                  "description": "The maximum number of concurrent client conections allowed to the Virtual Service."
                },
                "max_throughput": {
                  "type": "integer",
                  "description": "The maximum throughput per second for all clients allowed through the client side of the Virtual Service."
                }
              }
            },
            "pool_group_ref": {
              "type": "string",
              "description": "The pool group is an object that contains pools. It is a reference to an object of type PoolGroup."
            },
            "pool_ref": {
              "type": "string",
              "description": "The pool is an object that contains destination servers and related attributes such as load-balancing and persistence. It is a reference to an object of type Pool."
            },
            "port_uuid": {
              "type": "string",
              "description": "(internal-use) Network port assigned to the Virtual Service IP address. Field deprecated in 17.1.1."
            },
            "remove_listening_port_on_vs_down": {
              "type": "boolean",
              "description": "Remove listening port if VirtualService is down."
            },
            "requests_rate_limit": {
              "title": "RateProfile",
              "required": [
                "action"
              ],
              "type": "object",
              "properties": {
                "action": {
                  "title": "RateLimiterAction",
                  "type": "object",
                  "properties": {
                    "file": {
                      "title": "HTTPLocalFile",
                      "required": [
                        "content_type",
                        "file_content"
                      ],
                      "type": "object",
                      "properties": {
                        "content_type": {
                          "type": "string",
                          "description": "Mime-type of the content in the file."
                        },
                        "file_content": {
                          "type": "string",
                          "description": "File content to used in the local HTTP response body."
                        }
                      }
                    },
                    "redirect": {
                      "title": "HTTPRedirectAction",
                      "required": [
                        "protocol"
                      ],
                      "type": "object",
                      "properties": {
                        "host": {
                          "type": "object",
                          "description": ""
                        },
                        "keep_query": {
                          "type": "boolean",
                          "description": "Keep or drop the query of the incoming request URI in the redirected URI.",
                          "default": true
                        },
                        "path": {
                          "type": "object",
                          "description": ""
                        },
                        "port": {
                          "type": "integer",
                          "description": "Port to which redirect the request. Allowed values are 1-65535."
                        },
                        "protocol": {
                          "type": "string",
                          "description": "Protocol type. Enum options - HTTP, HTTPS."
                        },
                        "status_code": {
                          "type": "string",
                          "description": "HTTP redirect status code. Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307.",
                          "default": "HTTP_REDIRECT_STATUS_CODE_302"
                        }
                      }
                    },
                    "status_code": {
                      "type": "string",
                      "description": "HTTP status code for Local Response rate limit action. Enum options - HTTP_LOCAL_RESPONSE_STATUS_CODE_200, HTTP_LOCAL_RESPONSE_STATUS_CODE_204, HTTP_LOCAL_RESPONSE_STATUS_CODE_403, HTTP_LOCAL_RESPONSE_STATUS_CODE_404, HTTP_LOCAL_RESPONSE_STATUS_CODE_429, HTTP_LOCAL_RESPONSE_STATUS_CODE_501.",
                      "default": "HTTP_LOCAL_RESPONSE_STATUS_CODE_429"
                    },
                    "type": {
                      "type": "string",
                      "description": "Type of action to be enforced upon hitting the rate limit. Enum options - RL_ACTION_NONE, RL_ACTION_DROP_CONN, RL_ACTION_RESET_CONN, RL_ACTION_CLOSE_CONN, RL_ACTION_LOCAL_RSP, RL_ACTION_REDIRECT.",
                      "default": "RL_ACTION_NONE"
                    }
                  }
                },
                "burst_sz": {
                  "type": "integer",
                  "description": "Maximum number of connections or requests or packets to be let through instantaneously. Allowed values are 10-2500. Special values are 0- 'automatic'. Field deprecated in 18.2.9."
                },
                "count": {
                  "type": "integer",
                  "description": "Maximum number of connections or requests or packets. Allowed values are 1-1000000000. Special values are 0- 'unlimited'. Field deprecated in 18.2.9."
                },
                "explicit_tracking": {
                  "type": "boolean",
                  "description": "Explicitly tracks an attacker across rate periods."
                },
                "fine_grain": {
                  "type": "boolean",
                  "description": "Enable fine granularity."
                },
                "http_cookie": {
                  "type": "string",
                  "description": "HTTP cookie name. Field introduced in 17.1.1."
                },
                "http_header": {
                  "type": "string",
                  "description": "HTTP header name. Field introduced in 17.1.1."
                },
                "period": {
                  "type": "integer",
                  "description": "Time value in seconds to enforce rate count. Allowed values are 1-300. Field deprecated in 18.2.9."
                },
                "rate_limiter": {
                  "title": "RateLimiter",
                  "required": [
                    "count",
                    "period"
                  ],
                  "type": "object",
                  "properties": {
                    "burst_sz": {
                      "type": "integer",
                      "description": "Maximum number of connections, requests or packets to be let through instantaneously.  If this is less than count, it will have no effect. Allowed values are 0-1000000000. Field introduced in 18.2.9."
                    },
                    "count": {
                      "type": "integer",
                      "description": "Maximum number of connections, requests or packets permitted each period. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                            "example": 1000000000
                    },
                    "name": {
                      "type": "string",
                      "description": "Identifier for Rate Limit. Constructed according to context. Field introduced in 18.2.9."
                    },
                    "period": {
                      "type": "integer",
                      "description": "Time value in seconds to enforce rate count. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                            "example": 1
                    }
                  }
                }
              }
            },
            "saml_sp_config": {
              "title": "SAMLSPConfig",
              "required": [
                "entity_id",
                "single_signon_url"
              ],
              "type": "object",
              "properties": {
                "cookie_name": {
                  "type": "string",
                  "description": "HTTP cookie name for authenticated session. Field introduced in 18.2.3."
                },
                "cookie_timeout": {
                  "type": "integer",
                  "description": "Cookie timeout in minutes. Allowed values are 1-1440. Field introduced in 18.2.3.",
                    "default": 60
                },
                "entity_id": {
                  "type": "string",
                  "description": "Globally unique SAML entityID for this node. The SAML application entity ID on the IDP should match this. Field introduced in 18.2.3."
                },
                "key": {
                  "type": "array",
                  "items": {
                    "title": "HttpCookiePersistenceKey",
                    "type": "object",
                    "properties": {
                      "aes_key": {
                        "type": "string",
                        "description": "aes_key of HttpCookiePersistenceKey."
                      },
                      "hmac_key": {
                        "type": "string",
                        "description": "hmac_key of HttpCookiePersistenceKey."
                      },
                      "name": {
                        "type": "string",
                        "description": "name to use for cookie encryption."
                      }
                    }
                  },
                  "description": "Key to generate the cookie. Field introduced in 18.2.3."
                },
                "signing_ssl_key_and_certificate_ref": {
                  "type": "string",
                  "description": "SP will use this SSL certificate to sign requests going to the IdP and decrypt the assertions coming from IdP. It is a reference to an object of type SSLKeyAndCertificate. Field introduced in 18.2.3."
                },
                "single_signon_url": {
                  "type": "string",
                  "description": "SAML Single Signon URL to be programmed on the IDP. Field introduced in 18.2.3."
                },
                "sp_metadata": {
                  "type": "string",
                  "description": "SAML SP metadata for this application. Field introduced in 18.2.3."
                },
                "use_idp_session_timeout": {
                  "type": "boolean",
                  "description": "By enabling this field IdP can control how long the SP session can exist through the SessionNotOnOrAfter field in the AuthNStatement of SAML Response. Field introduced in 20.1.1."
                }
              }
            },
            "scaleout_ecmp": {
              "type": "boolean",
              "description": "Disable re-distribution of flows across service engines for a virtual service. Enable if the network itself performs flow hashing with ECMP in environments such as GCP."
            },
            "se_group_ref": {
              "type": "string",
              "description": "The Service Engine Group to use for this Virtual Service. Moving to a new SE Group is disruptive to existing connections for this VS. It is a reference to an object of type ServiceEngineGroup."
            },
            "security_policy_ref": {
              "type": "string",
              "description": "Security policy applied on the traffic of the Virtual Service. This policy is used to perform security actions such as Distributed Denial of Service (DDoS) attack mitigation, etc. It is a reference to an object of type SecurityPolicy. Field introduced in 18.2.1."
            },
            "server_network_profile_ref": {
              "type": "string",
              "description": "Determines the network settings profile for the server side of TCP proxied connections.  Leave blank to use the same settings as the client to VS side of the connection. It is a reference to an object of type NetworkProfile."
            },
            "service_metadata": {
              "type": "string",
              "description": "Metadata pertaining to the Service provided by this virtual service. In Openshift/Kubernetes environments, egress pod info is stored. Any user input to this field will be overwritten by Avi Vantage."
            },
            "service_pool_select": {
              "type": "array",
              "items": {
                "title": "ServicePoolSelector",
                "required": [
                  "service_port"
                ],
                "type": "object",
                "properties": {
                  "service_pool_group_ref": {
                    "type": "string",
                    "description": "It is a reference to an object of type PoolGroup."
                  },
                  "service_pool_ref": {
                    "type": "string",
                    "description": "It is a reference to an object of type Pool."
                  },
                  "service_port": {
                    "type": "integer",
                    "description": "Pool based destination port. Allowed values are 1-65535."
                  },
                  "service_port_range_end": {
                    "type": "integer",
                    "description": "The end of the Service port number range. Allowed values are 1-65535. Special values are 0- 'single port'. Field introduced in 17.2.4."
                  },
                  "service_protocol": {
                    "type": "string",
                    "description": "Destination protocol to match for the pool selection. If not specified, it will match any protocol. Enum options - PROTOCOL_TYPE_TCP_PROXY, PROTOCOL_TYPE_TCP_FAST_PATH, PROTOCOL_TYPE_UDP_FAST_PATH, PROTOCOL_TYPE_UDP_PROXY."
                  }
                }
              },
              "description": "Select pool based on destination port."
            },
            "services": {
              "type": "array",
              "items": {
                "title": "Service",
                "required": [
                  "port"
                ],
                "type": "object",
                "properties": {
                  "enable_http2": {
                    "type": "boolean",
                    "description": "Enable HTTP2 on this port. Field introduced in 20.1.1."
                  },
                  "enable_ssl": {
                    "type": "boolean",
                    "description": "Enable SSL termination and offload for traffic from clients."
                  },
                  "override_application_profile_ref": {
                    "type": "string",
                    "description": "Enable application layer specific features for the this specific service. It is a reference to an object of type ApplicationProfile. Field introduced in 17.2.4."
                  },
                  "override_network_profile_ref": {
                    "type": "string",
                    "description": "Override the network profile for this specific service port. It is a reference to an object of type NetworkProfile."
                  },
                  "port": {
                    "type": "integer",
                    "description": "The Virtual Service's port number. Allowed values are 0-65535."
                  },
                  "port_range_end": {
                    "type": "integer",
                    "description": "The end of the Virtual Service's port number range. Allowed values are 1-65535. Special values are 0- 'single port'."
                  }
                }
              },
              "description": "List of Services defined for this Virtual Service."
            },
            "sideband_profile": {
              "title": "SidebandProfile",
              "type": "object",
              "properties": {
                "ip": {
                  "type": "array",
                  "items": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "description": "IP Address of the sideband server."
                },
                "sideband_max_request_body_size": {
                  "type": "integer",
                  "description": "Maximum size of the request body that will be sent on the sideband. Allowed values are 0-16384.",
                    "default": 1024
                }
              }
            },
            "snat_ip": {
              "type": "array",
              "items": {
                "title": "IpAddr",
                "required": [
                  "addr",
                  "type"
                ],
                "type": "object",
                "properties": {
                  "addr": {
                    "type": "string",
                    "description": "IP address."
                  },
                  "type": {
                    "type": "string",
                    "description": "Enum options - V4, DNS, V6."
                  }
                }
              },
              "description": "NAT'ted floating source IP Address(es) for upstream connection to servers."
            },
            "sp_pool_refs": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "GSLB pools used to manage site-persistence functionality. Each site-persistence pool contains the virtualservices in all the other sites, that is auto-generated by the GSLB manager. This is a read-only field for the user. It is a reference to an object of type Pool. Field introduced in 17.2.2."
            },
            "ssl_key_and_certificate_refs": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Select or create one or two certificates, EC and/or RSA, that will be presented to SSL/TLS terminated connections. It is a reference to an object of type SSLKeyAndCertificate."
            },
            "ssl_profile_ref": {
              "type": "string",
              "description": "Determines the set of SSL versions and ciphers to accept for SSL/TLS terminated connections. It is a reference to an object of type SSLProfile."
            },
            "ssl_profile_selectors": {
              "type": "array",
              "items": {
                "title": "SSLProfileSelector",
                "required": [
                  "client_ip_list",
                  "ssl_profile_ref"
                ],
                "type": "object",
                "properties": {
                  "client_ip_list": {
                    "title": "IpAddrMatch",
                    "required": [
                      "match_criteria"
                    ],
                    "type": "object",
                    "properties": {
                      "addrs": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "description": ""
                        },
                        "description": "IP address(es)."
                      },
                      "group_refs": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "description": "UUID of IP address group(s). It is a reference to an object of type IpAddrGroup."
                      },
                      "match_criteria": {
                        "type": "string",
                        "description": "Criterion to use for IP address matching the HTTP request. Enum options - IS_IN, IS_NOT_IN."
                      },
                      "prefixes": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "description": ""
                        },
                        "description": "IP address prefix(es)."
                      },
                      "ranges": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "description": ""
                        },
                        "description": "IP address range(s)."
                      }
                    }
                  },
                  "ssl_profile_ref": {
                    "type": "string",
                    "description": "SSL profile for the client IP addresses listed. It is a reference to an object of type SSLProfile. Field introduced in 18.2.3."
                  }
                }
              },
              "description": "Select SSL Profile based on client IP address match. Field introduced in 18.2.3."
            },
            "ssl_sess_cache_avg_size": {
              "type": "integer",
              "description": "Expected number of SSL session cache entries (may be exceeded). Allowed values are 1024-16383.",
              "default": 1024
            },
            "sso_policy": {
              "title": "SSOPolicy",
              "required": [
                "authentication_policy",
                "name",
                "type"
              ],
              "type": "object",
              "properties": {
                "_last_modified": {
                  "type": "string",
                  "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
                },
                "authentication_policy": {
                  "title": "AuthenticationPolicy",
                  "required": [
                    "default_auth_profile_ref"
                  ],
                  "type": "object",
                  "properties": {
                    "auth_profile_ref": {
                      "type": "string",
                      "description": "Auth Profile to use for validating users. It is a reference to an object of type AuthProfile. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                    },
                    "authn_rules": {
                      "type": "array",
                      "items": {
                        "title": "AuthenticationRule",
                        "required": [
                          "enable",
                          "index",
                          "name"
                        ],
                        "type": "object",
                        "properties": {
                          "action": {
                            "type": "object",
                            "description": ""
                          },
                          "enable": {
                            "type": "boolean",
                            "description": "Enable or disable the rule. Field introduced in 18.2.5.",
                            "example": true
                          },
                          "index": {
                            "type": "integer",
                            "description": "Index of the rule. Field introduced in 18.2.5."
                          },
                          "match": {
                            "type": "object",
                            "description": ""
                          },
                          "name": {
                            "type": "string",
                            "description": "Name of the rule. Field introduced in 18.2.5."
                          }
                        }
                      },
                      "description": "Add rules to apply auth profile to specific targets. Field introduced in 18.2.5."
                    },
                    "cookie_name": {
                      "type": "string",
                      "description": "HTTP cookie name for authenticated session. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                    },
                    "cookie_timeout": {
                      "type": "integer",
                      "description": "Cookie timeout in minutes. Allowed values are 1-1440. Field deprecated in 18.2.3. Field introduced in 18.2.1.",
                            "default": 60
                    },
                    "default_auth_profile_ref": {
                      "type": "string",
                      "description": "Auth Profile to use for validating users. It is a reference to an object of type AuthProfile. Field introduced in 18.2.3."
                    },
                    "entity_id": {
                      "type": "string",
                      "description": "Globally unique entityID for this node. Entity ID on the IDP should match this. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                    },
                    "key": {
                      "type": "array",
                      "items": {
                        "title": "HttpCookiePersistenceKey",
                        "type": "object",
                        "properties": {
                          "aes_key": {
                            "type": "string",
                            "description": "aes_key of HttpCookiePersistenceKey."
                          },
                          "hmac_key": {
                            "type": "string",
                            "description": "hmac_key of HttpCookiePersistenceKey."
                          },
                          "name": {
                            "type": "string",
                            "description": "name to use for cookie encryption."
                          }
                        }
                      },
                      "description": "Key to generate the cookie. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                    },
                    "single_signon_url": {
                      "type": "string",
                      "description": "Single Signon URL to be programmed on the IDP. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                    },
                    "sp_metadata": {
                      "type": "string",
                      "description": "SAML SP metadata. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                    }
                  }
                },
                "authorization_policy": {
                  "title": "AuthorizationPolicy",
                  "type": "object",
                  "properties": {
                    "authz_rules": {
                      "type": "array",
                      "items": {
                        "title": "AuthorizationRule",
                        "required": [
                          "action",
                          "enable",
                          "index",
                          "match",
                          "name"
                        ],
                        "type": "object",
                        "properties": {
                          "action": {
                            "type": "object",
                            "description": ""
                          },
                          "enable": {
                            "type": "boolean",
                            "description": "Enable or disable the rule. Field introduced in 18.2.5.",
                            "example": true
                          },
                          "index": {
                            "type": "integer",
                            "description": "Index of the Authorization Policy rule. Field introduced in 18.2.5."
                          },
                          "match": {
                            "type": "object",
                            "description": ""
                          },
                          "name": {
                            "type": "string",
                            "description": "Name of the rule. Field introduced in 18.2.5."
                          }
                        }
                      },
                      "description": "Authorization Policy Rules. Field introduced in 18.2.5."
                    }
                  }
                },
                "name": {
                  "type": "string",
                  "description": "Name of the SSO Policy. Field introduced in 18.2.3."
                },
                "tenant_ref": {
                  "type": "string",
                  "description": "UUID of the Tenant. It is a reference to an object of type Tenant. Field introduced in 18.2.3."
                },
                "type": {
                  "type": "string",
                  "description": "SSO Policy Type. Enum options - SSO_TYPE_SAML, SSO_TYPE_PINGACCESS. Field introduced in 18.2.5.",
                  "example": "SSO_TYPE_SAML"
                },
                "url": {
                  "type": "string",
                  "description": "url"
                },
                "uuid": {
                  "type": "string",
                  "description": "UUID of the SSO Policy. Field introduced in 18.2.3."
                }
              }
            },
            "sso_policy_ref": {
              "type": "string",
              "description": "The SSO Policy attached to the virtualservice. It is a reference to an object of type SSOPolicy. Field introduced in 18.2.3."
            },
            "static_dns_records": {
              "type": "array",
              "items": {
                "title": "DnsRecord",
                "required": [
                  "type"
                ],
                "type": "object",
                "properties": {
                  "algorithm": {
                    "type": "string",
                    "description": "Specifies the algorithm to pick the IP address(es) to be returned, when multiple entries are configured. This does not apply if num_records_in_response is 0. Default is round-robin. Enum options - DNS_RECORD_RESPONSE_ROUND_ROBIN, DNS_RECORD_RESPONSE_CONSISTENT_HASH. Field introduced in 17.1.1.",
                    "default": "DNS_RECORD_RESPONSE_ROUND_ROBIN"
                  },
                  "cname": {
                    "title": "DnsCnameRdata",
                    "required": [
                      "cname"
                    ],
                    "type": "object",
                    "properties": {
                      "cname": {
                        "type": "string",
                        "description": "Canonical name."
                      }
                    }
                  },
                  "delegated": {
                    "type": "boolean",
                    "description": "Configured FQDNs are delegated domains (i.e. they represent a zone cut). Field introduced in 17.1.2."
                  },
                  "description": {
                    "type": "string",
                    "description": "Details of DNS record."
                  },
                  "fqdn": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "Fully Qualified Domain Name."
                  },
                  "ip6_address": {
                    "type": "array",
                    "items": {
                      "title": "DnsAAAARdata",
                      "required": [
                        "ip6_address"
                      ],
                      "type": "object",
                      "properties": {
                        "ip6_address": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        }
                      }
                    },
                    "description": "IPv6 address in AAAA record. Field introduced in 18.1.1."
                  },
                  "ip_address": {
                    "type": "array",
                    "items": {
                      "title": "DnsARdata",
                      "required": [
                        "ip_address"
                      ],
                      "type": "object",
                      "properties": {
                        "ip_address": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        }
                      }
                    },
                    "description": "IP address in A record."
                  },
                  "metadata": {
                    "type": "string",
                    "description": "Internal metadata for the DNS record. Field introduced in 18.2.5."
                  },
                  "mx_records": {
                    "type": "array",
                    "items": {
                      "title": "DnsMxRdata",
                      "required": [
                        "host",
                        "priority"
                      ],
                      "type": "object",
                      "properties": {
                        "host": {
                          "type": "string",
                          "description": "Fully qualified domain name of a mailserver . The host name maps directly to one or more address records in the DNS table, and must not point to any CNAME records (RFC 2181). Field introduced in 18.2.9, 20.1.1."
                        },
                        "priority": {
                          "type": "integer",
                          "description": "The priority field identifies which mail server should be preferred. Allowed values are 0-65535. Field introduced in 18.2.9, 20.1.1."
                        }
                      }
                    },
                    "description": "MX record. Field introduced in 18.2.9, 20.1.1."
                  },
                  "ns": {
                    "type": "array",
                    "items": {
                      "title": "DnsNsRdata",
                      "required": [
                        "nsname"
                      ],
                      "type": "object",
                      "properties": {
                        "ip6_address": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "ip_address": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "nsname": {
                          "type": "string",
                          "description": "Name Server name. Field introduced in 17.1.1."
                        }
                      }
                    },
                    "description": "Name Server information in NS record. Field introduced in 17.1.1."
                  },
                  "num_records_in_response": {
                    "type": "integer",
                    "description": "Specifies the number of records returned by the DNS service. Enter 0 to return all records. Default is 0. Allowed values are 0-20. Special values are 0- 'Return all records'. Field introduced in 17.1.1."
                  },
                  "service_locator": {
                    "type": "array",
                    "items": {
                      "title": "DnsSrvRdata",
                      "required": [
                        "port"
                      ],
                      "type": "object",
                      "properties": {
                        "port": {
                          "type": "integer",
                          "description": "Service port. Allowed values are 0-65535."
                        },
                        "priority": {
                          "type": "integer",
                          "description": "Priority of the target hosting the service, low value implies higher priority for this service record. Allowed values are 0-65535."
                        },
                        "target": {
                          "type": "string",
                          "description": "Canonical hostname, of the machine hosting the service, with no trailing period. 'default.host' is valid but not 'default.host.'.",
                          "default": "default.host"
                        },
                        "weight": {
                          "type": "integer",
                          "description": "Relative weight for service records with same priority, high value implies higher preference for this service record. Allowed values are 0-65535."
                        }
                      }
                    },
                    "description": "Service locator info in SRV record."
                  },
                  "ttl": {
                    "type": "integer",
                    "description": "Time To Live for this DNS record."
                  },
                  "txt_records": {
                    "type": "array",
                    "items": {
                      "title": "DnsTxtRdata",
                      "required": [
                        "text_str"
                      ],
                      "type": "object",
                      "properties": {
                        "text_str": {
                          "type": "string",
                          "description": "Text data associated with the FQDN. Field introduced in 18.2.9, 20.1.1."
                        }
                      }
                    },
                    "description": "Text record. Field introduced in 18.2.9, 20.1.1."
                  },
                  "type": {
                    "type": "string",
                    "description": "DNS record type. Enum options - DNS_RECORD_OTHER, DNS_RECORD_A, DNS_RECORD_NS, DNS_RECORD_CNAME, DNS_RECORD_SOA, DNS_RECORD_PTR, DNS_RECORD_HINFO, DNS_RECORD_MX, DNS_RECORD_TXT, DNS_RECORD_RP, DNS_RECORD_DNSKEY, DNS_RECORD_AAAA, DNS_RECORD_SRV, DNS_RECORD_OPT, DNS_RECORD_RRSIG, DNS_RECORD_AXFR, DNS_RECORD_ANY."
                  },
                  "wildcard_match": {
                    "type": "boolean",
                    "description": "Enable wild-card match of fqdn  if an exact match is not found in the DNS table, the longest match is chosen by wild-carding the fqdn in the DNS request. Default is false. Field introduced in 17.1.1."
                  }
                }
              },
              "description": "List of static DNS records applied to this Virtual Service. These are static entries and no health monitoring is performed against the IP addresses."
            },
            "subnet": {
              "title": "IpAddrPrefix",
              "required": [
                "ip_addr",
                "mask"
              ],
              "type": "object",
              "properties": {
                "ip_addr": {
                  "title": "IpAddr",
                  "required": [
                    "addr",
                    "type"
                  ],
                  "type": "object",
                  "properties": {
                    "addr": {
                      "type": "string",
                      "description": "IP address."
                    },
                    "type": {
                      "type": "string",
                      "description": "Enum options - V4, DNS, V6."
                    }
                  }
                },
                "mask": {
                  "type": "integer",
                  "description": "Number of mask."
                }
              }
            },
            "subnet_uuid": {
              "type": "string",
              "description": "It represents subnet for the Virtual Service IP address allocation when auto_allocate_ip is True.It is only applicable in OpenStack or AWS cloud. This field is required if auto_allocate_ip is True. Field deprecated in 17.1.1."
            },
            "tenant_ref": {
              "type": "string",
              "description": "It is a reference to an object of type Tenant."
            },
            "test_se_datastore_level_1_ref": {
              "type": "string",
              "description": "Used for testing SE Datastore Upgrade 2.0 functionality. It is a reference to an object of type TestSeDatastoreLevel1. Field introduced in 18.2.6."
            },
            "topology_policies": {
              "type": "array",
              "items": {
                "title": "DnsPolicies",
                "required": [
                  "dns_policy_ref",
                  "index"
                ],
                "type": "object",
                "properties": {
                  "dns_policy_ref": {
                    "type": "string",
                    "description": "UUID of the dns policy. It is a reference to an object of type DnsPolicy. Field introduced in 17.1.1."
                  },
                  "index": {
                    "type": "integer",
                    "description": "Index of the dns policy. Field introduced in 17.1.1."
                  }
                }
              },
              "description": "Topology Policies applied on the dns traffic of the Virtual Service based onGSLB Topology algorithm. Field introduced in 18.2.3."
            },
            "traffic_clone_profile_ref": {
              "type": "string",
              "description": "Server network or list of servers for cloning traffic. It is a reference to an object of type TrafficCloneProfile. Field introduced in 17.1.1."
            },
            "traffic_enabled": {
              "type": "boolean",
              "description": "Knob to enable the Virtual Service traffic on its assigned service engines. This setting is effective only when the enabled flag is set to True. Field introduced in 17.2.8.",
              "default": true
            },
            "type": {
              "type": "string",
              "description": "Specify if this is a normal Virtual Service, or if it is the parent or child of an SNI-enabled virtual hosted Virtual Service. Enum options - VS_TYPE_NORMAL, VS_TYPE_VH_PARENT, VS_TYPE_VH_CHILD.",
              "default": "VS_TYPE_NORMAL"
            },
            "url": {
              "type": "string",
              "description": "url"
            },
            "use_bridge_ip_as_vip": {
              "type": "boolean",
              "description": "Use Bridge IP as VIP on each Host in Mesos deployments."
            },
            "use_vip_as_snat": {
              "type": "boolean",
              "description": "Use the Virtual IP as the SNAT IP for health monitoring and sending traffic to the backend servers instead of the Service Engine interface IP. The caveat of enabling this option is that the VirtualService cannot be configued in an Active-Active HA mode. DNS based Multi VIP solution has to be used for HA & Non-disruptive Upgrade purposes. Field introduced in 17.1.9,17.2.3."
            },
            "uuid": {
              "type": "string",
              "description": "UUID of the VirtualService."
            },
            "vh_domain_name": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "The exact name requested from the client's SNI-enabled TLS hello domain name field. If this is a match, the parent VS will forward the connection to this child VS."
            },
            "vh_parent_vs_uuid": {
              "type": "string",
              "description": "Specifies the Virtual Service acting as Virtual Hosting (SNI) parent."
            },
            "vip": {
              "type": "array",
              "items": {
                "title": "Vip",
                "required": [
                  "vip_id"
                ],
                "type": "object",
                "properties": {
                  "auto_allocate_floating_ip": {
                    "type": "boolean",
                    "description": "Auto-allocate floating/elastic IP from the Cloud infrastructure. Field introduced in 17.1.1."
                  },
                  "auto_allocate_ip": {
                    "type": "boolean",
                    "description": "Auto-allocate VIP from the provided subnet. Field introduced in 17.1.1."
                  },
                  "auto_allocate_ip_type": {
                    "type": "string",
                    "description": "Specifies whether to auto-allocate only a V4 address, only a V6 address, or one of each type. Enum options - V4_ONLY, V6_ONLY, V4_V6. Field introduced in 18.1.1.",
                    "default": "V4_ONLY"
                  },
                  "availability_zone": {
                    "type": "string",
                    "description": "Availability-zone to place the Virtual Service. Field introduced in 17.1.1."
                  },
                  "avi_allocated_fip": {
                    "type": "boolean",
                    "description": "(internal-use) FIP allocated by Avi in the Cloud infrastructure. Field introduced in 17.1.1."
                  },
                  "avi_allocated_vip": {
                    "type": "boolean",
                    "description": "(internal-use) VIP allocated by Avi in the Cloud infrastructure. Field introduced in 17.1.1."
                  },
                  "discovered_networks": {
                    "type": "array",
                    "items": {
                      "title": "DiscoveredNetwork",
                      "required": [
                        "network_ref"
                      ],
                      "type": "object",
                      "properties": {
                        "network_ref": {
                          "type": "string",
                          "description": "Discovered network for this IP. It is a reference to an object of type Network."
                        },
                        "subnet": {
                          "type": "array",
                          "items": {
                            "title": "IpAddrPrefix",
                            "required": [
                              "ip_addr",
                              "mask"
                            ],
                            "type": "object",
                            "properties": {
                              "ip_addr": {
                                "title": "IpAddr",
                                "required": [
                                  "addr",
                                  "type"
                                ],
                                "type": "object",
                                "properties": {
                                  "addr": {
                                    "type": "string",
                                    "description": "IP address."
                                  },
                                  "type": {
                                    "type": "string",
                                    "description": "Enum options - V4, DNS, V6."
                                  }
                                }
                              },
                              "mask": {
                                "type": "integer",
                                "description": "Number of mask."
                              }
                            }
                          },
                          "description": "Discovered subnet for this IP."
                        },
                        "subnet6": {
                          "type": "array",
                          "items": {
                            "title": "IpAddrPrefix",
                            "required": [
                              "ip_addr",
                              "mask"
                            ],
                            "type": "object",
                            "properties": {
                              "ip_addr": {
                                "title": "IpAddr",
                                "required": [
                                  "addr",
                                  "type"
                                ],
                                "type": "object",
                                "properties": {
                                  "addr": {
                                    "type": "string",
                                    "description": "IP address."
                                  },
                                  "type": {
                                    "type": "string",
                                    "description": "Enum options - V4, DNS, V6."
                                  }
                                }
                              },
                              "mask": {
                                "type": "integer",
                                "description": "Number of mask."
                              }
                            }
                          },
                          "description": "Discovered IPv6 subnet for this IP. Field introduced in 18.1.1."
                        }
                      }
                    },
                    "description": "Discovered networks providing reachability for client facing Vip IP. Field introduced in 17.1.1."
                  },
                  "enabled": {
                    "type": "boolean",
                    "description": "Enable or disable the Vip. Field introduced in 17.1.1.",
                    "default": true
                  },
                  "floating_ip": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "floating_ip6": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "floating_subnet6_uuid": {
                    "type": "string",
                    "description": "If auto_allocate_floating_ip is True and more than one floating-ip subnets exist, then the subnet for the floating IPv6 address allocation. Field introduced in 18.1.1."
                  },
                  "floating_subnet_uuid": {
                    "type": "string",
                    "description": "If auto_allocate_floating_ip is True and more than one floating-ip subnets exist, then the subnet for the floating IP address allocation. Field introduced in 17.1.1."
                  },
                  "ip6_address": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "ip_address": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "ipam_network_subnet": {
                    "title": "IPNetworkSubnet",
                    "type": "object",
                    "properties": {
                      "network_ref": {
                        "type": "string",
                        "description": "Network for VirtualService IP allocation with Vantage as the IPAM provider. Network should be created before this is configured. It is a reference to an object of type Network."
                      },
                      "subnet": {
                        "title": "IpAddrPrefix",
                        "required": [
                          "ip_addr",
                          "mask"
                        ],
                        "type": "object",
                        "properties": {
                          "ip_addr": {
                            "title": "IpAddr",
                            "required": [
                              "addr",
                              "type"
                            ],
                            "type": "object",
                            "properties": {
                              "addr": {
                                "type": "string",
                                "description": "IP address."
                              },
                              "type": {
                                "type": "string",
                                "description": "Enum options - V4, DNS, V6."
                              }
                            }
                          },
                          "mask": {
                            "type": "integer",
                            "description": "Number of mask."
                          }
                        }
                      },
                      "subnet6": {
                        "title": "IpAddrPrefix",
                        "required": [
                          "ip_addr",
                          "mask"
                        ],
                        "type": "object",
                        "properties": {
                          "ip_addr": {
                            "title": "IpAddr",
                            "required": [
                              "addr",
                              "type"
                            ],
                            "type": "object",
                            "properties": {
                              "addr": {
                                "type": "string",
                                "description": "IP address."
                              },
                              "type": {
                                "type": "string",
                                "description": "Enum options - V4, DNS, V6."
                              }
                            }
                          },
                          "mask": {
                            "type": "integer",
                            "description": "Number of mask."
                          }
                        }
                      },
                      "subnet6_uuid": {
                        "type": "string",
                        "description": "Subnet UUID or Name or Prefix for VirtualService IPv6 allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed. Field introduced in 18.1.1."
                      },
                      "subnet_uuid": {
                        "type": "string",
                        "description": "Subnet UUID or Name or Prefix for VirtualService IP allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed."
                      }
                    }
                  },
                  "network_ref": {
                    "type": "string",
                    "description": "Manually override the network on which the Vip is placed. It is a reference to an object of type Network. Field introduced in 17.1.1."
                  },
                  "placement_networks": {
                    "type": "array",
                    "items": {
                      "title": "VipPlacementNetwork",
                      "type": "object",
                      "properties": {
                        "network_ref": {
                          "type": "string",
                          "description": "Network to use for vip placement. It is a reference to an object of type Network. Field introduced in 18.2.5."
                        },
                        "subnet": {
                          "title": "IpAddrPrefix",
                          "required": [
                            "ip_addr",
                            "mask"
                          ],
                          "type": "object",
                          "properties": {
                            "ip_addr": {
                              "title": "IpAddr",
                              "required": [
                                "addr",
                                "type"
                              ],
                              "type": "object",
                              "properties": {
                                "addr": {
                                  "type": "string",
                                  "description": "IP address."
                                },
                                "type": {
                                  "type": "string",
                                  "description": "Enum options - V4, DNS, V6."
                                }
                              }
                            },
                            "mask": {
                              "type": "integer",
                              "description": "Number of mask."
                            }
                          }
                        },
                        "subnet6": {
                          "title": "IpAddrPrefix",
                          "required": [
                            "ip_addr",
                            "mask"
                          ],
                          "type": "object",
                          "properties": {
                            "ip_addr": {
                              "title": "IpAddr",
                              "required": [
                                "addr",
                                "type"
                              ],
                              "type": "object",
                              "properties": {
                                "addr": {
                                  "type": "string",
                                  "description": "IP address."
                                },
                                "type": {
                                  "type": "string",
                                  "description": "Enum options - V4, DNS, V6."
                                }
                              }
                            },
                            "mask": {
                              "type": "integer",
                              "description": "Number of mask."
                            }
                          }
                        }
                      }
                    },
                    "description": "Placement networks/subnets to use for vip placement. Field introduced in 18.2.5."
                  },
                  "port_uuid": {
                    "type": "string",
                    "description": "(internal-use) Network port assigned to the Vip IP address. Field introduced in 17.1.1."
                  },
                  "prefix_length": {
                    "type": "integer",
                    "description": "Mask applied for the Vip, non-default mask supported only for wildcard Vip. Allowed values are 0-32. Field introduced in 20.1.1.",
                        "default": 32
                  },
                  "subnet": {
                    "title": "IpAddrPrefix",
                    "required": [
                      "ip_addr",
                      "mask"
                    ],
                    "type": "object",
                    "properties": {
                      "ip_addr": {
                        "title": "IpAddr",
                        "required": [
                          "addr",
                          "type"
                        ],
                        "type": "object",
                        "properties": {
                          "addr": {
                            "type": "string",
                            "description": "IP address."
                          },
                          "type": {
                            "type": "string",
                            "description": "Enum options - V4, DNS, V6."
                          }
                        }
                      },
                      "mask": {
                        "type": "integer",
                        "description": "Number of mask."
                      }
                    }
                  },
                  "subnet6": {
                    "title": "IpAddrPrefix",
                    "required": [
                      "ip_addr",
                      "mask"
                    ],
                    "type": "object",
                    "properties": {
                      "ip_addr": {
                        "title": "IpAddr",
                        "required": [
                          "addr",
                          "type"
                        ],
                        "type": "object",
                        "properties": {
                          "addr": {
                            "type": "string",
                            "description": "IP address."
                          },
                          "type": {
                            "type": "string",
                            "description": "Enum options - V4, DNS, V6."
                          }
                        }
                      },
                      "mask": {
                        "type": "integer",
                        "description": "Number of mask."
                      }
                    }
                  },
                  "subnet6_uuid": {
                    "type": "string",
                    "description": "If auto_allocate_ip is True, then the subnet for the Vip IPv6 address allocation. This field is applicable only if the VirtualService belongs to an Openstack or AWS cloud, in which case it is mandatory, if auto_allocate is selected. Field introduced in 18.1.1."
                  },
                  "subnet_uuid": {
                    "type": "string",
                    "description": "If auto_allocate_ip is True, then the subnet for the Vip IP address allocation. This field is applicable only if the VirtualService belongs to an Openstack or AWS cloud, in which case it is mandatory, if auto_allocate is selected. Field introduced in 17.1.1."
                  },
                  "vip_id": {
                    "type": "string",
                    "description": "Unique ID associated with the vip. Field introduced in 17.1.1."
                  }
                }
              },
              "description": "List of Virtual Service IPs. While creating a 'Shared VS',please use vsvip_ref to point to the shared entities. Field introduced in 17.1.1."
            },
            "vrf_context_ref": {
              "type": "string",
              "description": "Virtual Routing Context that the Virtual Service is bound to. This is used to provide the isolation of the set of networks the application is attached to. It is a reference to an object of type VrfContext."
            },
            "vs_datascripts": {
              "type": "array",
              "items": {
                "title": "VSDataScripts",
                "required": [
                  "index",
                  "vs_datascript_set_ref"
                ],
                "type": "object",
                "properties": {
                  "index": {
                    "type": "integer",
                    "description": "Index of the virtual service datascript collection."
                  },
                  "vs_datascript_set_ref": {
                    "type": "string",
                    "description": "UUID of the virtual service datascript collection. It is a reference to an object of type VSDataScriptSet."
                  }
                }
              },
              "description": "Datascripts applied on the data traffic of the Virtual Service."
            },
            "vsvip_cloud_config_cksum": {
              "type": "string",
              "description": "Checksum of cloud configuration for VsVip. Internally set by cloud connector. Field introduced in 17.2.9, 18.1.2."
            },
            "vsvip_ref": {
              "type": "string",
              "description": "Mostly used during the creation of Shared VS, this field refers to entities that can be shared across Virtual Services. It is a reference to an object of type VsVip. Field introduced in 17.1.1."
            },
            "waf_policy_ref": {
              "type": "string",
              "description": "WAF policy for the Virtual Service. It is a reference to an object of type WafPolicy. Field introduced in 17.2.1."
            },
            "weight": {
              "type": "integer",
              "description": "The Quality of Service weight to assign to traffic transmitted from this Virtual Service.  A higher weight will prioritize traffic versus other Virtual Services sharing the same Service Engines. Allowed values are 1-128.",
              "default": 1
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceByUuidPATCH"
      },
      "task": true
    },
    {
      "name": "virtualserviceByUuidDELETE",
      "summary": "VirtualserviceByUuid_DELETE",
      "description": "VirtualserviceByUuid_DELETE",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "object name: string",
          "required": false,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceByUuidDELETE"
      },
      "task": true
    },
    {
      "name": "virtualserviceScaleoutByUuidPOST",
      "summary": "VirtualserviceScaleoutByUuid_POST",
      "description": "VirtualserviceScaleoutByUuid_POST",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "VsScaleoutParams: {\"admin_up\": \"boolean\", \"new_vcpus\": 123, \"to_host_ref\": \"string\", \"to_new_se\": \"boolean\", \"to_se_ref\": \"string\", \"uuid\": \"string\", \"vip_id\": \"string\"}",
          "required": true,
          "schema": {
            "title": "VsScaleoutParams",
            "required": [
              "vip_id"
            ],
            "type": "object",
            "properties": {
              "admin_up": {
                "type": "boolean",
                "description": "Placeholder for description of property admin_up of obj type VsScaleoutParams field type str  type boolean"
              },
              "new_vcpus": {
                "type": "integer",
                "description": "Number of new_vcpus."
              },
              "to_host_ref": {
                "type": "string",
                "description": "It is a reference to an object of type VIMgrHostRuntime."
              },
              "to_new_se": {
                "type": "boolean",
                "description": "Placeholder for description of property to_new_se of obj type VsScaleoutParams field type str  type boolean"
              },
              "to_se_ref": {
                "type": "string",
                "description": "It is a reference to an object of type ServiceEngine."
              },
              "uuid": {
                "type": "string",
                "description": "Unique object identifier of the object."
              },
              "vip_id": {
                "type": "string",
                "description": "Field introduced in 17.1.1."
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceScaleoutByUuidPOST"
      },
      "task": true
    },
    {
      "name": "virtualserviceScaleinByUuidPOST",
      "summary": "VirtualserviceScaleinByUuid_POST",
      "description": "VirtualserviceScaleinByUuid_POST",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "VsScaleinParams: {\"admin_down\": \"boolean\", \"from_se_ref\": \"string\", \"scalein_primary\": \"boolean\", \"uuid\": \"string\", \"vip_id\": \"string\"}",
          "required": true,
          "schema": {
            "title": "VsScaleinParams",
            "required": [
              "vip_id"
            ],
            "type": "object",
            "properties": {
              "admin_down": {
                "type": "boolean",
                "description": "Placeholder for description of property admin_down of obj type VsScaleinParams field type str  type boolean"
              },
              "from_se_ref": {
                "type": "string",
                "description": "It is a reference to an object of type ServiceEngine."
              },
              "scalein_primary": {
                "type": "boolean",
                "description": "Placeholder for description of property scalein_primary of obj type VsScaleinParams field type str  type boolean"
              },
              "uuid": {
                "type": "string",
                "description": "Unique object identifier of the object."
              },
              "vip_id": {
                "type": "string",
                "description": "Field introduced in 17.1.1."
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceScaleinByUuidPOST"
      },
      "task": true
    },
    {
      "name": "virtualserviceMigrateByUuidPOST",
      "summary": "VirtualserviceMigrateByUuid_POST",
      "description": "VirtualserviceMigrateByUuid_POST",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "VsMigrateParams: {\"from_se_ref\": \"string\", \"new_vcpus\": 123, \"to_host_ref\": \"string\", \"to_new_se\": \"boolean\", \"to_se_ref\": \"string\", \"uuid\": \"string\", \"vip_id\": \"string\"}",
          "required": true,
          "schema": {
            "title": "VsMigrateParams",
            "required": [
              "vip_id"
            ],
            "type": "object",
            "properties": {
              "from_se_ref": {
                "type": "string",
                "description": "It is a reference to an object of type ServiceEngine."
              },
              "new_vcpus": {
                "type": "integer",
                "description": "Number of new_vcpus."
              },
              "to_host_ref": {
                "type": "string",
                "description": "It is a reference to an object of type VIMgrHostRuntime."
              },
              "to_new_se": {
                "type": "boolean",
                "description": "Placeholder for description of property to_new_se of obj type VsMigrateParams field type str  type boolean"
              },
              "to_se_ref": {
                "type": "string",
                "description": "It is a reference to an object of type ServiceEngine."
              },
              "uuid": {
                "type": "string",
                "description": "Unique object identifier of the object."
              },
              "vip_id": {
                "type": "string",
                "description": "Field introduced in 17.1.1."
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceMigrateByUuidPOST"
      },
      "task": true
    },
    {
      "name": "virtualserviceSwitchoverByUuidPOST",
      "summary": "VirtualserviceSwitchoverByUuid_POST",
      "description": "VirtualserviceSwitchoverByUuid_POST",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "VsSwitchoverParams: {\"se_uuid\": \"string\", \"uuid\": \"string\", \"vip_id\": \"string\"}",
          "required": true,
          "schema": {
            "title": "VsSwitchoverParams",
            "required": [
              "vip_id"
            ],
            "type": "object",
            "properties": {
              "se_uuid": {
                "type": "string",
                "description": "Unique object identifier of se."
              },
              "uuid": {
                "type": "string",
                "description": "Unique object identifier of the object."
              },
              "vip_id": {
                "type": "string",
                "description": "Field introduced in 17.1.1."
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceSwitchoverByUuidPOST"
      },
      "task": true
    },
    {
      "name": "virtualserviceClearByUuidPOST",
      "summary": "VirtualserviceClearByUuid_POST",
      "description": "VirtualserviceClearByUuid_POST",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "empty: object",
          "required": true,
          "schema": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceClearByUuidPOST"
      },
      "task": true
    },
    {
      "name": "virtualserviceResyncByUuidPOST",
      "summary": "VirtualserviceResyncByUuid_POST",
      "description": "VirtualserviceResyncByUuid_POST",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "VsResyncParams: {\"se_ref\": \"array\", \"uuid\": \"string\"}",
          "required": true,
          "schema": {
            "title": "VsResyncParams",
            "type": "object",
            "properties": {
              "se_ref": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "It is a reference to an object of type ServiceEngine."
              },
              "uuid": {
                "type": "string",
                "description": "Unique object identifier of the object."
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceResyncByUuidPOST"
      },
      "task": true
    },
    {
      "name": "virtualserviceRotatekeysByUuidPOST",
      "summary": "VirtualserviceRotatekeysByUuid_POST",
      "description": "VirtualserviceRotatekeysByUuid_POST",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "empty: object",
          "required": true,
          "schema": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceRotatekeysByUuidPOST"
      },
      "task": true
    },
    {
      "name": "virtualserviceApicplacementByUuidPOST",
      "summary": "VirtualserviceApicplacementByUuid_POST",
      "description": "VirtualserviceApicplacementByUuid_POST",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "ApicVSPlacementReq: {\"graph\": \"string\", \"lifs\": [{\"cifs\": [{\"adapter\": \"string\", \"cif\": \"string\", \"mac_address\": \"string\", \"resources\": \"array\", \"se_uuid\": \"string\"}], \"lif\": \"string\", \"lif_label\": \"string\", \"subnet\": \"string\"}], \"network_rel\": [{\"connector\": \"string\", \"rel_key\": \"string\", \"target_network\": \"string\"}], \"tenant_name\": \"string\", \"vdev\": \"string\", \"vgrp\": \"string\"}",
          "required": true,
          "schema": {
            "title": "ApicVSPlacementReq",
            "type": "object",
            "properties": {
              "graph": {
                "type": "string",
                "description": "graph of ApicVSPlacementReq."
              },
              "lifs": {
                "type": "array",
                "items": {
                  "title": "Lif",
                  "type": "object",
                  "properties": {
                    "cifs": {
                      "type": "array",
                      "items": {
                        "title": "Cif",
                        "type": "object",
                        "properties": {
                          "adapter": {
                            "type": "string",
                            "description": "adapter of Cif."
                          },
                          "cif": {
                            "type": "string",
                            "description": "cif of Cif."
                          },
                          "mac_address": {
                            "type": "string",
                            "description": "mac_address of Cif."
                          },
                          "resources": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": "resources of Cif."
                          },
                          "se_uuid": {
                            "type": "string",
                            "description": "Unique object identifier of se."
                          }
                        }
                      },
                      "description": "Placeholder for description of property cifs of obj type Lif field type str  type object"
                    },
                    "lif": {
                      "type": "string",
                      "description": "lif of Lif."
                    },
                    "lif_label": {
                      "type": "string",
                      "description": "lif_label of Lif."
                    },
                    "subnet": {
                      "type": "string",
                      "description": "subnet of Lif."
                    }
                  }
                },
                "description": "Placeholder for description of property lifs of obj type ApicVSPlacementReq field type str  type object"
              },
              "network_rel": {
                "type": "array",
                "items": {
                  "title": "APICNetworkRel",
                  "type": "object",
                  "properties": {
                    "connector": {
                      "type": "string",
                      "description": "connector of APICNetworkRel."
                    },
                    "rel_key": {
                      "type": "string",
                      "description": "rel_key of APICNetworkRel."
                    },
                    "target_network": {
                      "type": "string",
                      "description": "target_network of APICNetworkRel."
                    }
                  }
                },
                "description": "Placeholder for description of property network_rel of obj type ApicVSPlacementReq field type str  type object"
              },
              "tenant_name": {
                "type": "string",
                "description": "tenant_name of ApicVSPlacementReq."
              },
              "vdev": {
                "type": "string",
                "description": "vdev of ApicVSPlacementReq."
              },
              "vgrp": {
                "type": "string",
                "description": "vgrp of ApicVSPlacementReq."
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceApicplacementByUuidPOST"
      },
      "task": true
    },
    {
      "name": "virtualserviceRetryplacementByUuidPOST",
      "summary": "VirtualserviceRetryplacementByUuid_POST",
      "description": "VirtualserviceRetryplacementByUuid_POST",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "RetryPlacementParams: {\"all_east_west\": \"boolean\", \"uuid\": \"string\", \"vip_id\": \"string\"}",
          "required": true,
          "schema": {
            "title": "RetryPlacementParams",
            "required": [
              "vip_id"
            ],
            "type": "object",
            "properties": {
              "all_east_west": {
                "type": "boolean",
                "description": "Retry placement operations for all East-West services. Field introduced in 17.1.6,17.2.2."
              },
              "uuid": {
                "type": "string",
                "description": "Unique object identifier of the object."
              },
              "vip_id": {
                "type": "string",
                "description": "Indicates the vip_id that needs placement retrial. Field introduced in 17.1.2."
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceRetryplacementByUuidPOST"
      },
      "task": true
    },
    {
      "name": "virtualserviceRuntimeByUuidGET",
      "summary": "VirtualserviceRuntimeByUuid_GET",
      "description": "VirtualserviceRuntimeByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceRuntimeByUuidGET"
      },
      "task": true
    },
    {
      "name": "virtualserviceRuntimeDetailByUuidGET",
      "summary": "VirtualserviceRuntimeDetailByUuid_GET",
      "description": "VirtualserviceRuntimeDetailByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceRuntimeDetailByUuidGET"
      },
      "task": true
    },
    {
      "name": "virtualserviceRuntimeInternalByUuidGET",
      "summary": "VirtualserviceRuntimeInternalByUuid_GET",
      "description": "VirtualserviceRuntimeInternalByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceRuntimeInternalByUuidGET"
      },
      "task": true
    },
    {
      "name": "virtualserviceUdpstatByUuidGET",
      "summary": "VirtualserviceUdpstatByUuid_GET",
      "description": "VirtualserviceUdpstatByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceUdpstatByUuidGET"
      },
      "task": true
    },
    {
      "name": "virtualserviceTcpstatByUuidGET",
      "summary": "VirtualserviceTcpstatByUuid_GET",
      "description": "VirtualserviceTcpstatByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceTcpstatByUuidGET"
      },
      "task": true
    },
    {
      "name": "virtualserviceTrafficCloneStatsByUuidGET",
      "summary": "VirtualserviceTrafficCloneStatsByUuid_GET",
      "description": "VirtualserviceTrafficCloneStatsByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceTrafficCloneStatsByUuidGET"
      },
      "task": true
    },
    {
      "name": "virtualserviceDosstatByUuidGET",
      "summary": "VirtualserviceDosstatByUuid_GET",
      "description": "VirtualserviceDosstatByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceDosstatByUuidGET"
      },
      "task": true
    },
    {
      "name": "virtualserviceConnectionsByUuidGET",
      "summary": "VirtualserviceConnectionsByUuid_GET",
      "description": "VirtualserviceConnectionsByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceConnectionsByUuidGET"
      },
      "task": true
    },
    {
      "name": "virtualserviceHttpconnectionsByUuidGET",
      "summary": "VirtualserviceHttpconnectionsByUuid_GET",
      "description": "VirtualserviceHttpconnectionsByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceHttpconnectionsByUuidGET"
      },
      "task": true
    },
    {
      "name": "virtualserviceHttpconnectionsDetailGET",
      "summary": "VirtualserviceHttpconnectionsDetail_GET",
      "description": "VirtualserviceHttpconnectionsDetail_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceHttpconnectionsDetailGET"
      },
      "task": true
    },
    {
      "name": "virtualserviceHttpstatsByUuidGET",
      "summary": "VirtualserviceHttpstatsByUuid_GET",
      "description": "VirtualserviceHttpstatsByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceHttpstatsByUuidGET"
      },
      "task": true
    },
    {
      "name": "virtualserviceAuthstatsByUuidGET",
      "summary": "VirtualserviceAuthstatsByUuid_GET",
      "description": "VirtualserviceAuthstatsByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceAuthstatsByUuidGET"
      },
      "task": true
    },
    {
      "name": "virtualserviceHttppolicysetByUuidGET",
      "summary": "VirtualserviceHttppolicysetByUuid_GET",
      "description": "VirtualserviceHttppolicysetByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceHttppolicysetByUuidGET"
      },
      "task": true
    },
    {
      "name": "virtualserviceHttppolicysetstatsByUuidGET",
      "summary": "VirtualserviceHttppolicysetstatsByUuid_GET",
      "description": "VirtualserviceHttppolicysetstatsByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceHttppolicysetstatsByUuidGET"
      },
      "task": true
    },
    {
      "name": "virtualserviceDnspolicystatsByUuidGET",
      "summary": "VirtualserviceDnspolicystatsByUuid_GET",
      "description": "VirtualserviceDnspolicystatsByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceDnspolicystatsByUuidGET"
      },
      "task": true
    },
    {
      "name": "virtualserviceNetworksecuritypolicystatsGET",
      "summary": "VirtualserviceNetworksecuritypolicystats_GET",
      "description": "VirtualserviceNetworksecuritypolicystats_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceNetworksecuritypolicystatsGET"
      },
      "task": true
    },
    {
      "name": "virtualserviceNetworksecuritypolicyDetailGET",
      "summary": "VirtualserviceNetworksecuritypolicyDetail_GET",
      "description": "VirtualserviceNetworksecuritypolicyDetail_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceNetworksecuritypolicyDetailGET"
      },
      "task": true
    },
    {
      "name": "virtualserviceCandidatesehostlistByUuidGET",
      "summary": "VirtualserviceCandidatesehostlistByUuid_GET",
      "description": "VirtualserviceCandidatesehostlistByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceCandidatesehostlistByUuidGET"
      },
      "task": true
    },
    {
      "name": "virtualservicePlacementByUuidGET",
      "summary": "VirtualservicePlacementByUuid_GET",
      "description": "VirtualservicePlacementByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualservicePlacementByUuidGET"
      },
      "task": true
    },
    {
      "name": "virtualserviceKeyvalByUuidGET",
      "summary": "VirtualserviceKeyvalByUuid_GET",
      "description": "VirtualserviceKeyvalByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceKeyvalByUuidGET"
      },
      "task": true
    },
    {
      "name": "virtualserviceKeyvalsummaryByUuidGET",
      "summary": "VirtualserviceKeyvalsummaryByUuid_GET",
      "description": "VirtualserviceKeyvalsummaryByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceKeyvalsummaryByUuidGET"
      },
      "task": true
    },
    {
      "name": "virtualserviceSslsessioncacheByUuidGET",
      "summary": "VirtualserviceSslsessioncacheByUuid_GET",
      "description": "VirtualserviceSslsessioncacheByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceSslsessioncacheByUuidGET"
      },
      "task": true
    },
    {
      "name": "virtualserviceCltrackByUuidGET",
      "summary": "VirtualserviceCltrackByUuid_GET",
      "description": "VirtualserviceCltrackByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceCltrackByUuidGET"
      },
      "task": true
    },
    {
      "name": "virtualserviceCltracksummaryByUuidGET",
      "summary": "VirtualserviceCltracksummaryByUuid_GET",
      "description": "VirtualserviceCltracksummaryByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceCltracksummaryByUuidGET"
      },
      "task": true
    },
    {
      "name": "virtualserviceClientByUuidGET",
      "summary": "VirtualserviceClientByUuid_GET",
      "description": "VirtualserviceClientByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceClientByUuidGET"
      },
      "task": true
    },
    {
      "name": "virtualserviceClientsummaryByUuidGET",
      "summary": "VirtualserviceClientsummaryByUuid_GET",
      "description": "VirtualserviceClientsummaryByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceClientsummaryByUuidGET"
      },
      "task": true
    },
    {
      "name": "virtualserviceDnstableByUuidGET",
      "summary": "VirtualserviceDnstableByUuid_GET",
      "description": "VirtualserviceDnstableByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceDnstableByUuidGET"
      },
      "task": true
    },
    {
      "name": "virtualserviceGslbservicedetailByUuidGET",
      "summary": "VirtualserviceGslbservicedetailByUuid_GET",
      "description": "VirtualserviceGslbservicedetailByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceGslbservicedetailByUuidGET"
      },
      "task": true
    },
    {
      "name": "virtualserviceGslbserviceinternalByUuidGET",
      "summary": "VirtualserviceGslbserviceinternalByUuid_GET",
      "description": "VirtualserviceGslbserviceinternalByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceGslbserviceinternalByUuidGET"
      },
      "task": true
    },
    {
      "name": "virtualserviceGslbservicealgostatByUuidGET",
      "summary": "VirtualserviceGslbservicealgostatByUuid_GET",
      "description": "VirtualserviceGslbservicealgostatByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceGslbservicealgostatByUuidGET"
      },
      "task": true
    },
    {
      "name": "virtualserviceGslbservicehmonstatByUuidGET",
      "summary": "VirtualserviceGslbservicehmonstatByUuid_GET",
      "description": "VirtualserviceGslbservicehmonstatByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceGslbservicehmonstatByUuidGET"
      },
      "task": true
    },
    {
      "name": "virtualserviceGeolocationinfoByUuidGET",
      "summary": "VirtualserviceGeolocationinfoByUuid_GET",
      "description": "VirtualserviceGeolocationinfoByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceGeolocationinfoByUuidGET"
      },
      "task": true
    },
    {
      "name": "virtualserviceGeodbinternalByUuidGET",
      "summary": "VirtualserviceGeodbinternalByUuid_GET",
      "description": "VirtualserviceGeodbinternalByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceGeodbinternalByUuidGET"
      },
      "task": true
    },
    {
      "name": "virtualserviceGslbsiteinternalByUuidGET",
      "summary": "VirtualserviceGslbsiteinternalByUuid_GET",
      "description": "VirtualserviceGslbsiteinternalByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceGslbsiteinternalByUuidGET"
      },
      "task": true
    },
    {
      "name": "virtualserviceUserdefineddatascriptcountersGET",
      "summary": "VirtualserviceUserdefineddatascriptcounters_GET",
      "description": "VirtualserviceUserdefineddatascriptcounters_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceUserdefineddatascriptcountersGET"
      },
      "task": true
    },
    {
      "name": "virtualserviceL4policysetstatsByUuidGET",
      "summary": "VirtualserviceL4policysetstatsByUuid_GET",
      "description": "VirtualserviceL4policysetstatsByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceL4policysetstatsByUuidGET"
      },
      "task": true
    },
    {
      "name": "virtualserviceSescaleoutstatusByUuidGET",
      "summary": "VirtualserviceSescaleoutstatusByUuid_GET",
      "description": "VirtualserviceSescaleoutstatusByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceSescaleoutstatusByUuidGET"
      },
      "task": true
    },
    {
      "name": "virtualserviceScaleoutstatusByUuidGET",
      "summary": "VirtualserviceScaleoutstatusByUuid_GET",
      "description": "VirtualserviceScaleoutstatusByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceScaleoutstatusByUuidGET"
      },
      "task": true
    },
    {
      "name": "virtualserviceScaleoutstatusDetailByUuidGET",
      "summary": "VirtualserviceScaleoutstatusDetailByUuid_GET",
      "description": "VirtualserviceScaleoutstatusDetailByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceScaleoutstatusDetailByUuidGET"
      },
      "task": true
    },
    {
      "name": "virtualserviceSsopolicystatsByUuidGET",
      "summary": "VirtualserviceSsopolicystatsByUuid_GET",
      "description": "VirtualserviceSsopolicystatsByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/virtualserviceSsopolicystatsByUuidGET"
      },
      "task": true
    },
    {
      "name": "ssopolicyGET",
      "summary": "Ssopolicy_GET",
      "description": "Ssopolicy_GET",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "object name: string",
          "required": false,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "refersTo",
          "type": "string",
          "info": "Filter to request all objects that refers to another Avi resource. Its syntax is refers_to= : . Eg. get all virtual services referring to pool p1 will be refers_to=pool:p...(description truncated): string",
          "required": false,
          "schema": {
            "title": "refersTo",
            "type": "string"
          }
        },
        {
          "name": "referredBy",
          "type": "string",
          "info": "Filter to request all objects that are referred by another Avi resource. Its syntax is referred_by= : . Eg. get all pools referred_by virtual service vs1 - referred_by=vi...(description truncated): string",
          "required": false,
          "schema": {
            "title": "referredBy",
            "type": "string"
          }
        },
        {
          "name": "fields",
          "type": "string",
          "info": "List of fields to be returned for the resource. Some fields like name, URL, uuid etc. are always returned.: string",
          "required": false,
          "schema": {
            "title": "fields",
            "type": "string"
          }
        },
        {
          "name": "includeName",
          "type": "boolean",
          "info": "All the Avi REST reference URIs have a name suffix as URI#name. It is useful to get the referenced resource name without performing get on that object.: boolean",
          "required": false,
          "schema": {
            "title": "includeName",
            "type": "boolean"
          }
        },
        {
          "name": "skipDefault",
          "type": "boolean",
          "info": "Default values are not set.: boolean",
          "required": false,
          "schema": {
            "title": "skipDefault",
            "type": "boolean"
          }
        },
        {
          "name": "joinSubresources",
          "type": "string",
          "info": "It automatically returns additional dependent resources like runtime. Eg. join_subresources=runtime.: string",
          "required": false,
          "schema": {
            "title": "joinSubresources",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "SSOPolicyApiResponse",
          "required": [
            "count",
            "results"
          ],
          "type": "object",
          "properties": {
            "count": {
              "type": "integer"
            },
            "results": {
              "type": "array",
              "items": {
                "title": "SSOPolicy",
                "required": [
                  "authentication_policy",
                  "name",
                  "type"
                ],
                "type": "object",
                "properties": {
                  "_last_modified": {
                    "type": "string",
                    "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
                  },
                  "authentication_policy": {
                    "title": "AuthenticationPolicy",
                    "required": [
                      "default_auth_profile_ref"
                    ],
                    "type": "object",
                    "properties": {
                      "auth_profile_ref": {
                        "type": "string",
                        "description": "Auth Profile to use for validating users. It is a reference to an object of type AuthProfile. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                      },
                      "authn_rules": {
                        "type": "array",
                        "items": {
                          "title": "AuthenticationRule",
                          "required": [
                            "enable",
                            "index",
                            "name"
                          ],
                          "type": "object",
                          "properties": {
                            "action": {
                              "type": "object",
                              "description": ""
                            },
                            "enable": {
                              "type": "boolean",
                              "description": "Enable or disable the rule. Field introduced in 18.2.5.",
                              "example": true
                            },
                            "index": {
                              "type": "integer",
                              "description": "Index of the rule. Field introduced in 18.2.5."
                            },
                            "match": {
                              "type": "object",
                              "description": ""
                            },
                            "name": {
                              "type": "string",
                              "description": "Name of the rule. Field introduced in 18.2.5."
                            }
                          }
                        },
                        "description": "Add rules to apply auth profile to specific targets. Field introduced in 18.2.5."
                      },
                      "cookie_name": {
                        "type": "string",
                        "description": "HTTP cookie name for authenticated session. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                      },
                      "cookie_timeout": {
                        "type": "integer",
                        "description": "Cookie timeout in minutes. Allowed values are 1-1440. Field deprecated in 18.2.3. Field introduced in 18.2.1.",
                                "default": 60
                      },
                      "default_auth_profile_ref": {
                        "type": "string",
                        "description": "Auth Profile to use for validating users. It is a reference to an object of type AuthProfile. Field introduced in 18.2.3."
                      },
                      "entity_id": {
                        "type": "string",
                        "description": "Globally unique entityID for this node. Entity ID on the IDP should match this. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                      },
                      "key": {
                        "type": "array",
                        "items": {
                          "title": "HttpCookiePersistenceKey",
                          "type": "object",
                          "properties": {
                            "aes_key": {
                              "type": "string",
                              "description": "aes_key of HttpCookiePersistenceKey."
                            },
                            "hmac_key": {
                              "type": "string",
                              "description": "hmac_key of HttpCookiePersistenceKey."
                            },
                            "name": {
                              "type": "string",
                              "description": "name to use for cookie encryption."
                            }
                          }
                        },
                        "description": "Key to generate the cookie. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                      },
                      "single_signon_url": {
                        "type": "string",
                        "description": "Single Signon URL to be programmed on the IDP. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                      },
                      "sp_metadata": {
                        "type": "string",
                        "description": "SAML SP metadata. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                      }
                    }
                  },
                  "authorization_policy": {
                    "title": "AuthorizationPolicy",
                    "type": "object",
                    "properties": {
                      "authz_rules": {
                        "type": "array",
                        "items": {
                          "title": "AuthorizationRule",
                          "required": [
                            "action",
                            "enable",
                            "index",
                            "match",
                            "name"
                          ],
                          "type": "object",
                          "properties": {
                            "action": {
                              "type": "object",
                              "description": ""
                            },
                            "enable": {
                              "type": "boolean",
                              "description": "Enable or disable the rule. Field introduced in 18.2.5.",
                              "example": true
                            },
                            "index": {
                              "type": "integer",
                              "description": "Index of the Authorization Policy rule. Field introduced in 18.2.5."
                            },
                            "match": {
                              "type": "object",
                              "description": ""
                            },
                            "name": {
                              "type": "string",
                              "description": "Name of the rule. Field introduced in 18.2.5."
                            }
                          }
                        },
                        "description": "Authorization Policy Rules. Field introduced in 18.2.5."
                      }
                    }
                  },
                  "name": {
                    "type": "string",
                    "description": "Name of the SSO Policy. Field introduced in 18.2.3."
                  },
                  "tenant_ref": {
                    "type": "string",
                    "description": "UUID of the Tenant. It is a reference to an object of type Tenant. Field introduced in 18.2.3."
                  },
                  "type": {
                    "type": "string",
                    "description": "SSO Policy Type. Enum options - SSO_TYPE_SAML, SSO_TYPE_PINGACCESS. Field introduced in 18.2.5.",
                    "example": "SSO_TYPE_SAML"
                  },
                  "url": {
                    "type": "string",
                    "description": "url"
                  },
                  "uuid": {
                    "type": "string",
                    "description": "UUID of the SSO Policy. Field introduced in 18.2.3."
                  }
                }
              },
              "description": ""
            },
            "next": {
              "type": "string"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/ssopolicyGET"
      },
      "task": true
    },
    {
      "name": "ssopolicyPOST",
      "summary": "Ssopolicy_POST",
      "description": "Ssopolicy_POST",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "SSOPolicy object creation: {\"_last_modified\": \"string\", \"authentication_policy\": {\"auth_profile_ref\": \"string\", \"authn_rules\": [{\"action\": \"object\", \"enable\": \"boolean\", \"index\": 123, \"match\": \"object\", \"name\": \"string\"}], \"cookie_name\": \"string\", \"cookie_timeout\": 123, \"default_auth_profile_ref\": \"string\", \"entity_id\": \"string\", \"key\": [{\"aes_key\": \"string\", \"hmac_key\": \"string\", \"name\": \"string\"}], \"single_signon_url\": \"string\", \"sp_metadata\": \"string\"}, \"authorization_policy\": {\"authz_rules\": [{\"action\": \"object\", \"enable\": \"boolean\", \"index\": 123, \"match\": \"object\", \"name\": \"string\"}]}, \"name\": \"string\", \"tenant_ref\": \"string\", \"type\": \"string\", \"url\": \"string\", \"uuid\": \"string\"}",
          "required": true,
          "schema": {
            "title": "SSOPolicy",
            "required": [
              "authentication_policy",
              "name",
              "type"
            ],
            "type": "object",
            "properties": {
              "_last_modified": {
                "type": "string",
                "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
              },
              "authentication_policy": {
                "title": "AuthenticationPolicy",
                "required": [
                  "default_auth_profile_ref"
                ],
                "type": "object",
                "properties": {
                  "auth_profile_ref": {
                    "type": "string",
                    "description": "Auth Profile to use for validating users. It is a reference to an object of type AuthProfile. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                  },
                  "authn_rules": {
                    "type": "array",
                    "items": {
                      "title": "AuthenticationRule",
                      "required": [
                        "enable",
                        "index",
                        "name"
                      ],
                      "type": "object",
                      "properties": {
                        "action": {
                          "type": "object",
                          "description": ""
                        },
                        "enable": {
                          "type": "boolean",
                          "description": "Enable or disable the rule. Field introduced in 18.2.5.",
                          "example": true
                        },
                        "index": {
                          "type": "integer",
                          "description": "Index of the rule. Field introduced in 18.2.5."
                        },
                        "match": {
                          "type": "object",
                          "description": ""
                        },
                        "name": {
                          "type": "string",
                          "description": "Name of the rule. Field introduced in 18.2.5."
                        }
                      }
                    },
                    "description": "Add rules to apply auth profile to specific targets. Field introduced in 18.2.5."
                  },
                  "cookie_name": {
                    "type": "string",
                    "description": "HTTP cookie name for authenticated session. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                  },
                  "cookie_timeout": {
                    "type": "integer",
                    "description": "Cookie timeout in minutes. Allowed values are 1-1440. Field deprecated in 18.2.3. Field introduced in 18.2.1.",
                        "default": 60
                  },
                  "default_auth_profile_ref": {
                    "type": "string",
                    "description": "Auth Profile to use for validating users. It is a reference to an object of type AuthProfile. Field introduced in 18.2.3."
                  },
                  "entity_id": {
                    "type": "string",
                    "description": "Globally unique entityID for this node. Entity ID on the IDP should match this. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                  },
                  "key": {
                    "type": "array",
                    "items": {
                      "title": "HttpCookiePersistenceKey",
                      "type": "object",
                      "properties": {
                        "aes_key": {
                          "type": "string",
                          "description": "aes_key of HttpCookiePersistenceKey."
                        },
                        "hmac_key": {
                          "type": "string",
                          "description": "hmac_key of HttpCookiePersistenceKey."
                        },
                        "name": {
                          "type": "string",
                          "description": "name to use for cookie encryption."
                        }
                      }
                    },
                    "description": "Key to generate the cookie. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                  },
                  "single_signon_url": {
                    "type": "string",
                    "description": "Single Signon URL to be programmed on the IDP. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                  },
                  "sp_metadata": {
                    "type": "string",
                    "description": "SAML SP metadata. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                  }
                }
              },
              "authorization_policy": {
                "title": "AuthorizationPolicy",
                "type": "object",
                "properties": {
                  "authz_rules": {
                    "type": "array",
                    "items": {
                      "title": "AuthorizationRule",
                      "required": [
                        "action",
                        "enable",
                        "index",
                        "match",
                        "name"
                      ],
                      "type": "object",
                      "properties": {
                        "action": {
                          "type": "object",
                          "description": ""
                        },
                        "enable": {
                          "type": "boolean",
                          "description": "Enable or disable the rule. Field introduced in 18.2.5.",
                          "example": true
                        },
                        "index": {
                          "type": "integer",
                          "description": "Index of the Authorization Policy rule. Field introduced in 18.2.5."
                        },
                        "match": {
                          "type": "object",
                          "description": ""
                        },
                        "name": {
                          "type": "string",
                          "description": "Name of the rule. Field introduced in 18.2.5."
                        }
                      }
                    },
                    "description": "Authorization Policy Rules. Field introduced in 18.2.5."
                  }
                }
              },
              "name": {
                "type": "string",
                "description": "Name of the SSO Policy. Field introduced in 18.2.3."
              },
              "tenant_ref": {
                "type": "string",
                "description": "UUID of the Tenant. It is a reference to an object of type Tenant. Field introduced in 18.2.3."
              },
              "type": {
                "type": "string",
                "description": "SSO Policy Type. Enum options - SSO_TYPE_SAML, SSO_TYPE_PINGACCESS. Field introduced in 18.2.5.",
                "example": "SSO_TYPE_SAML"
              },
              "url": {
                "type": "string",
                "description": "url"
              },
              "uuid": {
                "type": "string",
                "description": "UUID of the SSO Policy. Field introduced in 18.2.3."
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "SSOPolicy",
          "required": [
            "authentication_policy",
            "name",
            "type"
          ],
          "type": "object",
          "properties": {
            "_last_modified": {
              "type": "string",
              "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
            },
            "authentication_policy": {
              "title": "AuthenticationPolicy",
              "required": [
                "default_auth_profile_ref"
              ],
              "type": "object",
              "properties": {
                "auth_profile_ref": {
                  "type": "string",
                  "description": "Auth Profile to use for validating users. It is a reference to an object of type AuthProfile. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                },
                "authn_rules": {
                  "type": "array",
                  "items": {
                    "title": "AuthenticationRule",
                    "required": [
                      "enable",
                      "index",
                      "name"
                    ],
                    "type": "object",
                    "properties": {
                      "action": {
                        "type": "object",
                        "description": ""
                      },
                      "enable": {
                        "type": "boolean",
                        "description": "Enable or disable the rule. Field introduced in 18.2.5.",
                        "example": true
                      },
                      "index": {
                        "type": "integer",
                        "description": "Index of the rule. Field introduced in 18.2.5."
                      },
                      "match": {
                        "type": "object",
                        "description": ""
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the rule. Field introduced in 18.2.5."
                      }
                    }
                  },
                  "description": "Add rules to apply auth profile to specific targets. Field introduced in 18.2.5."
                },
                "cookie_name": {
                  "type": "string",
                  "description": "HTTP cookie name for authenticated session. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                },
                "cookie_timeout": {
                  "type": "integer",
                  "description": "Cookie timeout in minutes. Allowed values are 1-1440. Field deprecated in 18.2.3. Field introduced in 18.2.1.",
                    "default": 60
                },
                "default_auth_profile_ref": {
                  "type": "string",
                  "description": "Auth Profile to use for validating users. It is a reference to an object of type AuthProfile. Field introduced in 18.2.3."
                },
                "entity_id": {
                  "type": "string",
                  "description": "Globally unique entityID for this node. Entity ID on the IDP should match this. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                },
                "key": {
                  "type": "array",
                  "items": {
                    "title": "HttpCookiePersistenceKey",
                    "type": "object",
                    "properties": {
                      "aes_key": {
                        "type": "string",
                        "description": "aes_key of HttpCookiePersistenceKey."
                      },
                      "hmac_key": {
                        "type": "string",
                        "description": "hmac_key of HttpCookiePersistenceKey."
                      },
                      "name": {
                        "type": "string",
                        "description": "name to use for cookie encryption."
                      }
                    }
                  },
                  "description": "Key to generate the cookie. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                },
                "single_signon_url": {
                  "type": "string",
                  "description": "Single Signon URL to be programmed on the IDP. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                },
                "sp_metadata": {
                  "type": "string",
                  "description": "SAML SP metadata. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                }
              }
            },
            "authorization_policy": {
              "title": "AuthorizationPolicy",
              "type": "object",
              "properties": {
                "authz_rules": {
                  "type": "array",
                  "items": {
                    "title": "AuthorizationRule",
                    "required": [
                      "action",
                      "enable",
                      "index",
                      "match",
                      "name"
                    ],
                    "type": "object",
                    "properties": {
                      "action": {
                        "type": "object",
                        "description": ""
                      },
                      "enable": {
                        "type": "boolean",
                        "description": "Enable or disable the rule. Field introduced in 18.2.5.",
                        "example": true
                      },
                      "index": {
                        "type": "integer",
                        "description": "Index of the Authorization Policy rule. Field introduced in 18.2.5."
                      },
                      "match": {
                        "type": "object",
                        "description": ""
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the rule. Field introduced in 18.2.5."
                      }
                    }
                  },
                  "description": "Authorization Policy Rules. Field introduced in 18.2.5."
                }
              }
            },
            "name": {
              "type": "string",
              "description": "Name of the SSO Policy. Field introduced in 18.2.3."
            },
            "tenant_ref": {
              "type": "string",
              "description": "UUID of the Tenant. It is a reference to an object of type Tenant. Field introduced in 18.2.3."
            },
            "type": {
              "type": "string",
              "description": "SSO Policy Type. Enum options - SSO_TYPE_SAML, SSO_TYPE_PINGACCESS. Field introduced in 18.2.5.",
              "example": "SSO_TYPE_SAML"
            },
            "url": {
              "type": "string",
              "description": "url"
            },
            "uuid": {
              "type": "string",
              "description": "UUID of the SSO Policy. Field introduced in 18.2.3."
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/ssopolicyPOST"
      },
      "task": true
    },
    {
      "name": "ssopolicyByUuidGET",
      "summary": "SsopolicyByUuid_GET",
      "description": "SsopolicyByUuid_GET",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "object name: string",
          "required": false,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "fields",
          "type": "string",
          "info": "List of fields to be returned for the resource. Some fields like name, URL, uuid etc. are always returned.: string",
          "required": false,
          "schema": {
            "title": "fields",
            "type": "string"
          }
        },
        {
          "name": "includeName",
          "type": "boolean",
          "info": "All the Avi REST reference URIs have a name suffix as URI#name. It is useful to get the referenced resource name without performing get on that object.: boolean",
          "required": false,
          "schema": {
            "title": "includeName",
            "type": "boolean"
          }
        },
        {
          "name": "skipDefault",
          "type": "boolean",
          "info": "Default values are not set.: boolean",
          "required": false,
          "schema": {
            "title": "skipDefault",
            "type": "boolean"
          }
        },
        {
          "name": "joinSubresources",
          "type": "string",
          "info": "It automatically returns additional dependent resources like runtime. Eg. join_subresources=runtime.: string",
          "required": false,
          "schema": {
            "title": "joinSubresources",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "SSOPolicy",
          "required": [
            "authentication_policy",
            "name",
            "type"
          ],
          "type": "object",
          "properties": {
            "_last_modified": {
              "type": "string",
              "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
            },
            "authentication_policy": {
              "title": "AuthenticationPolicy",
              "required": [
                "default_auth_profile_ref"
              ],
              "type": "object",
              "properties": {
                "auth_profile_ref": {
                  "type": "string",
                  "description": "Auth Profile to use for validating users. It is a reference to an object of type AuthProfile. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                },
                "authn_rules": {
                  "type": "array",
                  "items": {
                    "title": "AuthenticationRule",
                    "required": [
                      "enable",
                      "index",
                      "name"
                    ],
                    "type": "object",
                    "properties": {
                      "action": {
                        "type": "object",
                        "description": ""
                      },
                      "enable": {
                        "type": "boolean",
                        "description": "Enable or disable the rule. Field introduced in 18.2.5.",
                        "example": true
                      },
                      "index": {
                        "type": "integer",
                        "description": "Index of the rule. Field introduced in 18.2.5."
                      },
                      "match": {
                        "type": "object",
                        "description": ""
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the rule. Field introduced in 18.2.5."
                      }
                    }
                  },
                  "description": "Add rules to apply auth profile to specific targets. Field introduced in 18.2.5."
                },
                "cookie_name": {
                  "type": "string",
                  "description": "HTTP cookie name for authenticated session. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                },
                "cookie_timeout": {
                  "type": "integer",
                  "description": "Cookie timeout in minutes. Allowed values are 1-1440. Field deprecated in 18.2.3. Field introduced in 18.2.1.",
                    "default": 60
                },
                "default_auth_profile_ref": {
                  "type": "string",
                  "description": "Auth Profile to use for validating users. It is a reference to an object of type AuthProfile. Field introduced in 18.2.3."
                },
                "entity_id": {
                  "type": "string",
                  "description": "Globally unique entityID for this node. Entity ID on the IDP should match this. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                },
                "key": {
                  "type": "array",
                  "items": {
                    "title": "HttpCookiePersistenceKey",
                    "type": "object",
                    "properties": {
                      "aes_key": {
                        "type": "string",
                        "description": "aes_key of HttpCookiePersistenceKey."
                      },
                      "hmac_key": {
                        "type": "string",
                        "description": "hmac_key of HttpCookiePersistenceKey."
                      },
                      "name": {
                        "type": "string",
                        "description": "name to use for cookie encryption."
                      }
                    }
                  },
                  "description": "Key to generate the cookie. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                },
                "single_signon_url": {
                  "type": "string",
                  "description": "Single Signon URL to be programmed on the IDP. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                },
                "sp_metadata": {
                  "type": "string",
                  "description": "SAML SP metadata. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                }
              }
            },
            "authorization_policy": {
              "title": "AuthorizationPolicy",
              "type": "object",
              "properties": {
                "authz_rules": {
                  "type": "array",
                  "items": {
                    "title": "AuthorizationRule",
                    "required": [
                      "action",
                      "enable",
                      "index",
                      "match",
                      "name"
                    ],
                    "type": "object",
                    "properties": {
                      "action": {
                        "type": "object",
                        "description": ""
                      },
                      "enable": {
                        "type": "boolean",
                        "description": "Enable or disable the rule. Field introduced in 18.2.5.",
                        "example": true
                      },
                      "index": {
                        "type": "integer",
                        "description": "Index of the Authorization Policy rule. Field introduced in 18.2.5."
                      },
                      "match": {
                        "type": "object",
                        "description": ""
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the rule. Field introduced in 18.2.5."
                      }
                    }
                  },
                  "description": "Authorization Policy Rules. Field introduced in 18.2.5."
                }
              }
            },
            "name": {
              "type": "string",
              "description": "Name of the SSO Policy. Field introduced in 18.2.3."
            },
            "tenant_ref": {
              "type": "string",
              "description": "UUID of the Tenant. It is a reference to an object of type Tenant. Field introduced in 18.2.3."
            },
            "type": {
              "type": "string",
              "description": "SSO Policy Type. Enum options - SSO_TYPE_SAML, SSO_TYPE_PINGACCESS. Field introduced in 18.2.5.",
              "example": "SSO_TYPE_SAML"
            },
            "url": {
              "type": "string",
              "description": "url"
            },
            "uuid": {
              "type": "string",
              "description": "UUID of the SSO Policy. Field introduced in 18.2.3."
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/ssopolicyByUuidGET"
      },
      "task": true
    },
    {
      "name": "ssopolicyByUuidPUT",
      "summary": "SsopolicyByUuid_PUT",
      "description": "SsopolicyByUuid_PUT",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "object name: string",
          "required": false,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "SSOPolicy object creation: {\"_last_modified\": \"string\", \"authentication_policy\": {\"auth_profile_ref\": \"string\", \"authn_rules\": [{\"action\": \"object\", \"enable\": \"boolean\", \"index\": 123, \"match\": \"object\", \"name\": \"string\"}], \"cookie_name\": \"string\", \"cookie_timeout\": 123, \"default_auth_profile_ref\": \"string\", \"entity_id\": \"string\", \"key\": [{\"aes_key\": \"string\", \"hmac_key\": \"string\", \"name\": \"string\"}], \"single_signon_url\": \"string\", \"sp_metadata\": \"string\"}, \"authorization_policy\": {\"authz_rules\": [{\"action\": \"object\", \"enable\": \"boolean\", \"index\": 123, \"match\": \"object\", \"name\": \"string\"}]}, \"name\": \"string\", \"tenant_ref\": \"string\", \"type\": \"string\", \"url\": \"string\", \"uuid\": \"string\"}",
          "required": true,
          "schema": {
            "title": "SSOPolicy",
            "required": [
              "authentication_policy",
              "name",
              "type"
            ],
            "type": "object",
            "properties": {
              "_last_modified": {
                "type": "string",
                "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
              },
              "authentication_policy": {
                "title": "AuthenticationPolicy",
                "required": [
                  "default_auth_profile_ref"
                ],
                "type": "object",
                "properties": {
                  "auth_profile_ref": {
                    "type": "string",
                    "description": "Auth Profile to use for validating users. It is a reference to an object of type AuthProfile. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                  },
                  "authn_rules": {
                    "type": "array",
                    "items": {
                      "title": "AuthenticationRule",
                      "required": [
                        "enable",
                        "index",
                        "name"
                      ],
                      "type": "object",
                      "properties": {
                        "action": {
                          "type": "object",
                          "description": ""
                        },
                        "enable": {
                          "type": "boolean",
                          "description": "Enable or disable the rule. Field introduced in 18.2.5.",
                          "example": true
                        },
                        "index": {
                          "type": "integer",
                          "description": "Index of the rule. Field introduced in 18.2.5."
                        },
                        "match": {
                          "type": "object",
                          "description": ""
                        },
                        "name": {
                          "type": "string",
                          "description": "Name of the rule. Field introduced in 18.2.5."
                        }
                      }
                    },
                    "description": "Add rules to apply auth profile to specific targets. Field introduced in 18.2.5."
                  },
                  "cookie_name": {
                    "type": "string",
                    "description": "HTTP cookie name for authenticated session. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                  },
                  "cookie_timeout": {
                    "type": "integer",
                    "description": "Cookie timeout in minutes. Allowed values are 1-1440. Field deprecated in 18.2.3. Field introduced in 18.2.1.",
                        "default": 60
                  },
                  "default_auth_profile_ref": {
                    "type": "string",
                    "description": "Auth Profile to use for validating users. It is a reference to an object of type AuthProfile. Field introduced in 18.2.3."
                  },
                  "entity_id": {
                    "type": "string",
                    "description": "Globally unique entityID for this node. Entity ID on the IDP should match this. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                  },
                  "key": {
                    "type": "array",
                    "items": {
                      "title": "HttpCookiePersistenceKey",
                      "type": "object",
                      "properties": {
                        "aes_key": {
                          "type": "string",
                          "description": "aes_key of HttpCookiePersistenceKey."
                        },
                        "hmac_key": {
                          "type": "string",
                          "description": "hmac_key of HttpCookiePersistenceKey."
                        },
                        "name": {
                          "type": "string",
                          "description": "name to use for cookie encryption."
                        }
                      }
                    },
                    "description": "Key to generate the cookie. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                  },
                  "single_signon_url": {
                    "type": "string",
                    "description": "Single Signon URL to be programmed on the IDP. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                  },
                  "sp_metadata": {
                    "type": "string",
                    "description": "SAML SP metadata. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                  }
                }
              },
              "authorization_policy": {
                "title": "AuthorizationPolicy",
                "type": "object",
                "properties": {
                  "authz_rules": {
                    "type": "array",
                    "items": {
                      "title": "AuthorizationRule",
                      "required": [
                        "action",
                        "enable",
                        "index",
                        "match",
                        "name"
                      ],
                      "type": "object",
                      "properties": {
                        "action": {
                          "type": "object",
                          "description": ""
                        },
                        "enable": {
                          "type": "boolean",
                          "description": "Enable or disable the rule. Field introduced in 18.2.5.",
                          "example": true
                        },
                        "index": {
                          "type": "integer",
                          "description": "Index of the Authorization Policy rule. Field introduced in 18.2.5."
                        },
                        "match": {
                          "type": "object",
                          "description": ""
                        },
                        "name": {
                          "type": "string",
                          "description": "Name of the rule. Field introduced in 18.2.5."
                        }
                      }
                    },
                    "description": "Authorization Policy Rules. Field introduced in 18.2.5."
                  }
                }
              },
              "name": {
                "type": "string",
                "description": "Name of the SSO Policy. Field introduced in 18.2.3."
              },
              "tenant_ref": {
                "type": "string",
                "description": "UUID of the Tenant. It is a reference to an object of type Tenant. Field introduced in 18.2.3."
              },
              "type": {
                "type": "string",
                "description": "SSO Policy Type. Enum options - SSO_TYPE_SAML, SSO_TYPE_PINGACCESS. Field introduced in 18.2.5.",
                "example": "SSO_TYPE_SAML"
              },
              "url": {
                "type": "string",
                "description": "url"
              },
              "uuid": {
                "type": "string",
                "description": "UUID of the SSO Policy. Field introduced in 18.2.3."
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "SSOPolicy",
          "required": [
            "authentication_policy",
            "name",
            "type"
          ],
          "type": "object",
          "properties": {
            "_last_modified": {
              "type": "string",
              "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
            },
            "authentication_policy": {
              "title": "AuthenticationPolicy",
              "required": [
                "default_auth_profile_ref"
              ],
              "type": "object",
              "properties": {
                "auth_profile_ref": {
                  "type": "string",
                  "description": "Auth Profile to use for validating users. It is a reference to an object of type AuthProfile. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                },
                "authn_rules": {
                  "type": "array",
                  "items": {
                    "title": "AuthenticationRule",
                    "required": [
                      "enable",
                      "index",
                      "name"
                    ],
                    "type": "object",
                    "properties": {
                      "action": {
                        "type": "object",
                        "description": ""
                      },
                      "enable": {
                        "type": "boolean",
                        "description": "Enable or disable the rule. Field introduced in 18.2.5.",
                        "example": true
                      },
                      "index": {
                        "type": "integer",
                        "description": "Index of the rule. Field introduced in 18.2.5."
                      },
                      "match": {
                        "type": "object",
                        "description": ""
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the rule. Field introduced in 18.2.5."
                      }
                    }
                  },
                  "description": "Add rules to apply auth profile to specific targets. Field introduced in 18.2.5."
                },
                "cookie_name": {
                  "type": "string",
                  "description": "HTTP cookie name for authenticated session. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                },
                "cookie_timeout": {
                  "type": "integer",
                  "description": "Cookie timeout in minutes. Allowed values are 1-1440. Field deprecated in 18.2.3. Field introduced in 18.2.1.",
                    "default": 60
                },
                "default_auth_profile_ref": {
                  "type": "string",
                  "description": "Auth Profile to use for validating users. It is a reference to an object of type AuthProfile. Field introduced in 18.2.3."
                },
                "entity_id": {
                  "type": "string",
                  "description": "Globally unique entityID for this node. Entity ID on the IDP should match this. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                },
                "key": {
                  "type": "array",
                  "items": {
                    "title": "HttpCookiePersistenceKey",
                    "type": "object",
                    "properties": {
                      "aes_key": {
                        "type": "string",
                        "description": "aes_key of HttpCookiePersistenceKey."
                      },
                      "hmac_key": {
                        "type": "string",
                        "description": "hmac_key of HttpCookiePersistenceKey."
                      },
                      "name": {
                        "type": "string",
                        "description": "name to use for cookie encryption."
                      }
                    }
                  },
                  "description": "Key to generate the cookie. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                },
                "single_signon_url": {
                  "type": "string",
                  "description": "Single Signon URL to be programmed on the IDP. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                },
                "sp_metadata": {
                  "type": "string",
                  "description": "SAML SP metadata. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                }
              }
            },
            "authorization_policy": {
              "title": "AuthorizationPolicy",
              "type": "object",
              "properties": {
                "authz_rules": {
                  "type": "array",
                  "items": {
                    "title": "AuthorizationRule",
                    "required": [
                      "action",
                      "enable",
                      "index",
                      "match",
                      "name"
                    ],
                    "type": "object",
                    "properties": {
                      "action": {
                        "type": "object",
                        "description": ""
                      },
                      "enable": {
                        "type": "boolean",
                        "description": "Enable or disable the rule. Field introduced in 18.2.5.",
                        "example": true
                      },
                      "index": {
                        "type": "integer",
                        "description": "Index of the Authorization Policy rule. Field introduced in 18.2.5."
                      },
                      "match": {
                        "type": "object",
                        "description": ""
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the rule. Field introduced in 18.2.5."
                      }
                    }
                  },
                  "description": "Authorization Policy Rules. Field introduced in 18.2.5."
                }
              }
            },
            "name": {
              "type": "string",
              "description": "Name of the SSO Policy. Field introduced in 18.2.3."
            },
            "tenant_ref": {
              "type": "string",
              "description": "UUID of the Tenant. It is a reference to an object of type Tenant. Field introduced in 18.2.3."
            },
            "type": {
              "type": "string",
              "description": "SSO Policy Type. Enum options - SSO_TYPE_SAML, SSO_TYPE_PINGACCESS. Field introduced in 18.2.5.",
              "example": "SSO_TYPE_SAML"
            },
            "url": {
              "type": "string",
              "description": "url"
            },
            "uuid": {
              "type": "string",
              "description": "UUID of the SSO Policy. Field introduced in 18.2.3."
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/ssopolicyByUuidPUT"
      },
      "task": true
    },
    {
      "name": "ssopolicyByUuidPATCH",
      "summary": "SsopolicyByUuid_PATCH",
      "description": "SsopolicyByUuid_PATCH",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "object name: string",
          "required": false,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "SSOPolicy object creation: {\"_last_modified\": \"string\", \"authentication_policy\": {\"auth_profile_ref\": \"string\", \"authn_rules\": [{\"action\": \"object\", \"enable\": \"boolean\", \"index\": 123, \"match\": \"object\", \"name\": \"string\"}], \"cookie_name\": \"string\", \"cookie_timeout\": 123, \"default_auth_profile_ref\": \"string\", \"entity_id\": \"string\", \"key\": [{\"aes_key\": \"string\", \"hmac_key\": \"string\", \"name\": \"string\"}], \"single_signon_url\": \"string\", \"sp_metadata\": \"string\"}, \"authorization_policy\": {\"authz_rules\": [{\"action\": \"object\", \"enable\": \"boolean\", \"index\": 123, \"match\": \"object\", \"name\": \"string\"}]}, \"name\": \"string\", \"tenant_ref\": \"string\", \"type\": \"string\", \"url\": \"string\", \"uuid\": \"string\"}",
          "required": true,
          "schema": {
            "title": "SSOPolicy",
            "required": [
              "authentication_policy",
              "name",
              "type"
            ],
            "type": "object",
            "properties": {
              "_last_modified": {
                "type": "string",
                "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
              },
              "authentication_policy": {
                "title": "AuthenticationPolicy",
                "required": [
                  "default_auth_profile_ref"
                ],
                "type": "object",
                "properties": {
                  "auth_profile_ref": {
                    "type": "string",
                    "description": "Auth Profile to use for validating users. It is a reference to an object of type AuthProfile. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                  },
                  "authn_rules": {
                    "type": "array",
                    "items": {
                      "title": "AuthenticationRule",
                      "required": [
                        "enable",
                        "index",
                        "name"
                      ],
                      "type": "object",
                      "properties": {
                        "action": {
                          "type": "object",
                          "description": ""
                        },
                        "enable": {
                          "type": "boolean",
                          "description": "Enable or disable the rule. Field introduced in 18.2.5.",
                          "example": true
                        },
                        "index": {
                          "type": "integer",
                          "description": "Index of the rule. Field introduced in 18.2.5."
                        },
                        "match": {
                          "type": "object",
                          "description": ""
                        },
                        "name": {
                          "type": "string",
                          "description": "Name of the rule. Field introduced in 18.2.5."
                        }
                      }
                    },
                    "description": "Add rules to apply auth profile to specific targets. Field introduced in 18.2.5."
                  },
                  "cookie_name": {
                    "type": "string",
                    "description": "HTTP cookie name for authenticated session. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                  },
                  "cookie_timeout": {
                    "type": "integer",
                    "description": "Cookie timeout in minutes. Allowed values are 1-1440. Field deprecated in 18.2.3. Field introduced in 18.2.1.",
                        "default": 60
                  },
                  "default_auth_profile_ref": {
                    "type": "string",
                    "description": "Auth Profile to use for validating users. It is a reference to an object of type AuthProfile. Field introduced in 18.2.3."
                  },
                  "entity_id": {
                    "type": "string",
                    "description": "Globally unique entityID for this node. Entity ID on the IDP should match this. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                  },
                  "key": {
                    "type": "array",
                    "items": {
                      "title": "HttpCookiePersistenceKey",
                      "type": "object",
                      "properties": {
                        "aes_key": {
                          "type": "string",
                          "description": "aes_key of HttpCookiePersistenceKey."
                        },
                        "hmac_key": {
                          "type": "string",
                          "description": "hmac_key of HttpCookiePersistenceKey."
                        },
                        "name": {
                          "type": "string",
                          "description": "name to use for cookie encryption."
                        }
                      }
                    },
                    "description": "Key to generate the cookie. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                  },
                  "single_signon_url": {
                    "type": "string",
                    "description": "Single Signon URL to be programmed on the IDP. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                  },
                  "sp_metadata": {
                    "type": "string",
                    "description": "SAML SP metadata. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                  }
                }
              },
              "authorization_policy": {
                "title": "AuthorizationPolicy",
                "type": "object",
                "properties": {
                  "authz_rules": {
                    "type": "array",
                    "items": {
                      "title": "AuthorizationRule",
                      "required": [
                        "action",
                        "enable",
                        "index",
                        "match",
                        "name"
                      ],
                      "type": "object",
                      "properties": {
                        "action": {
                          "type": "object",
                          "description": ""
                        },
                        "enable": {
                          "type": "boolean",
                          "description": "Enable or disable the rule. Field introduced in 18.2.5.",
                          "example": true
                        },
                        "index": {
                          "type": "integer",
                          "description": "Index of the Authorization Policy rule. Field introduced in 18.2.5."
                        },
                        "match": {
                          "type": "object",
                          "description": ""
                        },
                        "name": {
                          "type": "string",
                          "description": "Name of the rule. Field introduced in 18.2.5."
                        }
                      }
                    },
                    "description": "Authorization Policy Rules. Field introduced in 18.2.5."
                  }
                }
              },
              "name": {
                "type": "string",
                "description": "Name of the SSO Policy. Field introduced in 18.2.3."
              },
              "tenant_ref": {
                "type": "string",
                "description": "UUID of the Tenant. It is a reference to an object of type Tenant. Field introduced in 18.2.3."
              },
              "type": {
                "type": "string",
                "description": "SSO Policy Type. Enum options - SSO_TYPE_SAML, SSO_TYPE_PINGACCESS. Field introduced in 18.2.5.",
                "example": "SSO_TYPE_SAML"
              },
              "url": {
                "type": "string",
                "description": "url"
              },
              "uuid": {
                "type": "string",
                "description": "UUID of the SSO Policy. Field introduced in 18.2.3."
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "SSOPolicy",
          "required": [
            "authentication_policy",
            "name",
            "type"
          ],
          "type": "object",
          "properties": {
            "_last_modified": {
              "type": "string",
              "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
            },
            "authentication_policy": {
              "title": "AuthenticationPolicy",
              "required": [
                "default_auth_profile_ref"
              ],
              "type": "object",
              "properties": {
                "auth_profile_ref": {
                  "type": "string",
                  "description": "Auth Profile to use for validating users. It is a reference to an object of type AuthProfile. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                },
                "authn_rules": {
                  "type": "array",
                  "items": {
                    "title": "AuthenticationRule",
                    "required": [
                      "enable",
                      "index",
                      "name"
                    ],
                    "type": "object",
                    "properties": {
                      "action": {
                        "type": "object",
                        "description": ""
                      },
                      "enable": {
                        "type": "boolean",
                        "description": "Enable or disable the rule. Field introduced in 18.2.5.",
                        "example": true
                      },
                      "index": {
                        "type": "integer",
                        "description": "Index of the rule. Field introduced in 18.2.5."
                      },
                      "match": {
                        "type": "object",
                        "description": ""
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the rule. Field introduced in 18.2.5."
                      }
                    }
                  },
                  "description": "Add rules to apply auth profile to specific targets. Field introduced in 18.2.5."
                },
                "cookie_name": {
                  "type": "string",
                  "description": "HTTP cookie name for authenticated session. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                },
                "cookie_timeout": {
                  "type": "integer",
                  "description": "Cookie timeout in minutes. Allowed values are 1-1440. Field deprecated in 18.2.3. Field introduced in 18.2.1.",
                    "default": 60
                },
                "default_auth_profile_ref": {
                  "type": "string",
                  "description": "Auth Profile to use for validating users. It is a reference to an object of type AuthProfile. Field introduced in 18.2.3."
                },
                "entity_id": {
                  "type": "string",
                  "description": "Globally unique entityID for this node. Entity ID on the IDP should match this. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                },
                "key": {
                  "type": "array",
                  "items": {
                    "title": "HttpCookiePersistenceKey",
                    "type": "object",
                    "properties": {
                      "aes_key": {
                        "type": "string",
                        "description": "aes_key of HttpCookiePersistenceKey."
                      },
                      "hmac_key": {
                        "type": "string",
                        "description": "hmac_key of HttpCookiePersistenceKey."
                      },
                      "name": {
                        "type": "string",
                        "description": "name to use for cookie encryption."
                      }
                    }
                  },
                  "description": "Key to generate the cookie. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                },
                "single_signon_url": {
                  "type": "string",
                  "description": "Single Signon URL to be programmed on the IDP. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                },
                "sp_metadata": {
                  "type": "string",
                  "description": "SAML SP metadata. Field deprecated in 18.2.3. Field introduced in 18.2.1."
                }
              }
            },
            "authorization_policy": {
              "title": "AuthorizationPolicy",
              "type": "object",
              "properties": {
                "authz_rules": {
                  "type": "array",
                  "items": {
                    "title": "AuthorizationRule",
                    "required": [
                      "action",
                      "enable",
                      "index",
                      "match",
                      "name"
                    ],
                    "type": "object",
                    "properties": {
                      "action": {
                        "type": "object",
                        "description": ""
                      },
                      "enable": {
                        "type": "boolean",
                        "description": "Enable or disable the rule. Field introduced in 18.2.5.",
                        "example": true
                      },
                      "index": {
                        "type": "integer",
                        "description": "Index of the Authorization Policy rule. Field introduced in 18.2.5."
                      },
                      "match": {
                        "type": "object",
                        "description": ""
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the rule. Field introduced in 18.2.5."
                      }
                    }
                  },
                  "description": "Authorization Policy Rules. Field introduced in 18.2.5."
                }
              }
            },
            "name": {
              "type": "string",
              "description": "Name of the SSO Policy. Field introduced in 18.2.3."
            },
            "tenant_ref": {
              "type": "string",
              "description": "UUID of the Tenant. It is a reference to an object of type Tenant. Field introduced in 18.2.3."
            },
            "type": {
              "type": "string",
              "description": "SSO Policy Type. Enum options - SSO_TYPE_SAML, SSO_TYPE_PINGACCESS. Field introduced in 18.2.5.",
              "example": "SSO_TYPE_SAML"
            },
            "url": {
              "type": "string",
              "description": "url"
            },
            "uuid": {
              "type": "string",
              "description": "UUID of the SSO Policy. Field introduced in 18.2.3."
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/ssopolicyByUuidPATCH"
      },
      "task": true
    },
    {
      "name": "ssopolicyByUuidDELETE",
      "summary": "SsopolicyByUuid_DELETE",
      "description": "SsopolicyByUuid_DELETE",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "object name: string",
          "required": false,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/ssopolicyByUuidDELETE"
      },
      "task": true
    },
    {
      "name": "controllerpropertiesGET",
      "summary": "Controllerproperties_GET",
      "description": "Controllerproperties_GET",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "object name: string",
          "required": false,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "refersTo",
          "type": "string",
          "info": "Filter to request all objects that refers to another Avi resource. Its syntax is refers_to= : . Eg. get all virtual services referring to pool p1 will be refers_to=pool:p...(description truncated): string",
          "required": false,
          "schema": {
            "title": "refersTo",
            "type": "string"
          }
        },
        {
          "name": "referredBy",
          "type": "string",
          "info": "Filter to request all objects that are referred by another Avi resource. Its syntax is referred_by= : . Eg. get all pools referred_by virtual service vs1 - referred_by=vi...(description truncated): string",
          "required": false,
          "schema": {
            "title": "referredBy",
            "type": "string"
          }
        },
        {
          "name": "fields",
          "type": "string",
          "info": "List of fields to be returned for the resource. Some fields like name, URL, uuid etc. are always returned.: string",
          "required": false,
          "schema": {
            "title": "fields",
            "type": "string"
          }
        },
        {
          "name": "includeName",
          "type": "boolean",
          "info": "All the Avi REST reference URIs have a name suffix as URI#name. It is useful to get the referenced resource name without performing get on that object.: boolean",
          "required": false,
          "schema": {
            "title": "includeName",
            "type": "boolean"
          }
        },
        {
          "name": "skipDefault",
          "type": "boolean",
          "info": "Default values are not set.: boolean",
          "required": false,
          "schema": {
            "title": "skipDefault",
            "type": "boolean"
          }
        },
        {
          "name": "joinSubresources",
          "type": "string",
          "info": "It automatically returns additional dependent resources like runtime. Eg. join_subresources=runtime.: string",
          "required": false,
          "schema": {
            "title": "joinSubresources",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "ControllerProperties",
          "type": "object",
          "properties": {
            "_last_modified": {
              "type": "string",
              "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
            },
            "allow_admin_network_updates": {
              "type": "boolean",
              "description": "Allow non-admin tenants to update admin VrfContext and Network objects. Field introduced in 18.2.7, 20.1.1."
            },
            "allow_ip_forwarding": {
              "type": "boolean",
              "description": "Field introduced in 17.1.1."
            },
            "allow_unauthenticated_apis": {
              "type": "boolean",
              "description": "Allow unauthenticated access for special APIs."
            },
            "allow_unauthenticated_nodes": {
              "type": "boolean",
              "description": "Placeholder for description of property allow_unauthenticated_nodes of obj type ControllerProperties field type str  type boolean"
            },
            "api_idle_timeout": {
              "type": "integer",
              "description": "Allowed values are 0-1440.",
              "default": 15
            },
            "api_perf_logging_threshold": {
              "type": "integer",
              "description": "Threshold to log request timing in portal_performance.log and Server-Timing response header. Any stage taking longer than 1% of the threshold will be included in the Server-Timing header. Field introduced in 18.1.4, 18.2.1.",
              "default": 10000
            },
            "appviewx_compat_mode": {
              "type": "boolean",
              "description": "Export configuration in appviewx compatibility mode. Field introduced in 17.1.1."
            },
            "attach_ip_retry_interval": {
              "type": "integer",
              "description": "Number of attach_ip_retry_interval.",
              "default": 360
            },
            "attach_ip_retry_limit": {
              "type": "integer",
              "description": "Number of attach_ip_retry_limit.",
              "default": 4
            },
            "bm_use_ansible": {
              "type": "boolean",
              "description": "Use Ansible for SE creation in baremetal. Field introduced in 17.2.2.",
              "default": true
            },
            "cleanup_expired_authtoken_timeout_period": {
              "type": "integer",
              "description": "Period for auth token cleanup job. Field introduced in 18.1.1.",
              "default": 60
            },
            "cleanup_sessions_timeout_period": {
              "type": "integer",
              "description": "Period for sessions cleanup job. Field introduced in 18.1.1.",
              "default": 60
            },
            "cloud_reconcile": {
              "type": "boolean",
              "description": "Enable/Disable periodic reconcile for all the clouds. Field introduced in 17.2.14,18.1.5,18.2.1.",
              "default": true
            },
            "cluster_ip_gratuitous_arp_period": {
              "type": "integer",
              "description": "Period for cluster ip gratuitous arp job.",
              "default": 60
            },
            "consistency_check_timeout_period": {
              "type": "integer",
              "description": "Period for consistency check job. Field introduced in 18.1.1.",
              "default": 60
            },
            "crashed_se_reboot": {
              "type": "integer",
              "description": "Number of crashed_se_reboot.",
              "default": 900
            },
            "dead_se_detection_timer": {
              "type": "integer",
              "description": "Number of dead_se_detection_timer.",
              "default": 360
            },
            "default_minimum_api_timeout": {
              "type": "integer",
              "description": "Minimum api timeout value.If this value is not 60, it will be the default timeout for all APIs that do not have a specific timeout.If an API has a specific timeout but is less than this value, this value will become the new timeout. Allowed values are 60-3600. Field introduced in 18.2.6.",
              "default": 60
            },
            "dns_refresh_period": {
              "type": "integer",
              "description": "Period for refresh pool and gslb DNS job.",
              "default": 60
            },
            "dummy": {
              "type": "integer",
              "description": "Number of dummy."
            },
            "edit_system_limits": {
              "type": "boolean",
              "description": "Allow editing of system limits. Keep in mind that these system limits have been carefully selected based on rigorous testing in our testig environments. Modifying these limits could destabilize your cluster. Do this at your own risk!. Field introduced in 20.1.1."
            },
            "enable_api_sharding": {
              "type": "boolean",
              "description": "This setting enables the controller leader to shard API requests to the followers (if any). Field introduced in 18.1.5, 18.2.1.",
              "default": true
            },
            "enable_memory_balancer": {
              "type": "boolean",
              "description": "Enable/Disable Memory Balancer. Field introduced in 17.2.8.",
              "default": true
            },
            "fatal_error_lease_time": {
              "type": "integer",
              "description": "Number of fatal_error_lease_time.",
              "default": 120
            },
            "federated_datastore_cleanup_duration": {
              "type": "integer",
              "description": "Federated datastore will not cleanup diffs unless they are at least this duration in the past. Field introduced in 20.1.1.",
              "default": 120
            },
            "file_object_cleanup_period": {
              "type": "integer",
              "description": "Period for file object cleanup job. Field introduced in 20.1.1.",
              "default": 1440
            },
            "max_dead_se_in_grp": {
              "type": "integer",
              "description": "Number of max_dead_se_in_grp.",
              "default": 1
            },
            "max_pcap_per_tenant": {
              "type": "integer",
              "description": "Maximum number of pcap files stored per tenant.",
              "default": 4
            },
            "max_se_spawn_interval_delay": {
              "type": "integer",
              "description": "Maximum delay possible to add to se_spawn_retry_interval after successive SE spawn failure. Field introduced in 20.1.1.",
              "default": 1800
            },
            "max_seq_attach_ip_failures": {
              "type": "integer",
              "description": "Maximum number of consecutive attach IP failures that halts VS placement. Field introduced in 17.2.2.",
              "default": 3
            },
            "max_seq_vnic_failures": {
              "type": "integer",
              "description": "Number of max_seq_vnic_failures.",
              "default": 3
            },
            "permission_scoped_shared_admin_networks": {
              "type": "boolean",
              "description": "Network and VrfContext objects from the admin tenant will not be shared to non-admin tenants unless admin permissions are granted. Field introduced in 18.2.7, 20.1.1."
            },
            "persistence_key_rotate_period": {
              "type": "integer",
              "description": "Period for rotate app persistence keys job. Allowed values are 1-1051200. Special values are 0 - 'Disabled'."
            },
            "portal_request_burst_limit": {
              "type": "integer",
              "description": "Burst limit on number of incoming requests0 to disable. Field introduced in 20.1.1."
            },
            "portal_request_rate_limit": {
              "type": "integer",
              "description": "Maximum average number of requests allowed per second0 to disable. Field introduced in 20.1.1."
            },
            "portal_token": {
              "type": "string",
              "description": "Token used for uploading tech-support to portal. Field introduced in 16.4.6,17.1.2."
            },
            "process_locked_useraccounts_timeout_period": {
              "type": "integer",
              "description": "Period for process locked user accounts job. Field introduced in 18.1.1.",
              "default": 1
            },
            "process_pki_profile_timeout_period": {
              "type": "integer",
              "description": "Period for process PKI profile job. Field introduced in 18.1.1.",
              "default": 1440
            },
            "query_host_fail": {
              "type": "integer",
              "description": "Number of query_host_fail.",
              "default": 180
            },
            "safenet_hsm_version": {
              "type": "string",
              "description": "Version of the safenet package installed on the controller. Field introduced in 16.5.2,17.2.3."
            },
            "se_create_timeout": {
              "type": "integer",
              "description": "Number of se_create_timeout.",
              "default": 900
            },
            "se_failover_attempt_interval": {
              "type": "integer",
              "description": "Interval between attempting failovers to an SE.",
              "default": 300
            },
            "se_from_marketplace": {
              "type": "string",
              "description": "This setting decides whether SE is to be deployed from the cloud marketplace or to be created by the controller. The setting is applicable only when BYOL license is selected. Enum options - MARKETPLACE, IMAGE. Field introduced in 18.1.4, 18.2.1.",
              "default": "IMAGE"
            },
            "se_offline_del": {
              "type": "integer",
              "description": "Number of se_offline_del.",
              "default": 172000
            },
            "se_spawn_retry_interval": {
              "type": "integer",
              "description": "Default retry period before attempting another Service Engine spawn in SE Group. Field introduced in 20.1.1.",
              "default": 300
            },
            "se_vnic_cooldown": {
              "type": "integer",
              "description": "Number of se_vnic_cooldown.",
              "default": 120
            },
            "secure_channel_cleanup_timeout": {
              "type": "integer",
              "description": "Period for secure channel cleanup job.",
              "default": 60
            },
            "secure_channel_controller_token_timeout": {
              "type": "integer",
              "description": "Number of secure_channel_controller_token_timeout.",
              "default": 60
            },
            "secure_channel_se_token_timeout": {
              "type": "integer",
              "description": "Number of secure_channel_se_token_timeout.",
              "default": 60
            },
            "seupgrade_copy_pool_size": {
              "type": "integer",
              "description": "This parameter defines the number of simultaneous SE image downloads in a SeGroup. It is used to pace the SE downloads so that controller network/CPU bandwidth is a bounded operation. A value of 0 will disable the pacing scheme and all the SE(s) in the SeGroup will attempt to download the image. . Field introduced in 18.2.6.",
              "default": 5
            },
            "seupgrade_fabric_pool_size": {
              "type": "integer",
              "description": "Pool size used for all fabric commands during se upgrade.",
              "default": 20
            },
            "seupgrade_segroup_min_dead_timeout": {
              "type": "integer",
              "description": "Time to wait before marking segroup upgrade as stuck.",
              "default": 360
            },
            "shared_ssl_certificates": {
              "type": "boolean",
              "description": "SSL Certificates in the admin tenant can be used in non-admin tenants. Field introduced in 18.2.5."
            },
            "ssl_certificate_expiry_warning_days": {
              "type": "array",
              "items": {
                "type": "integer"
              },
              "description": "Number of days for SSL Certificate expiry warning."
            },
            "unresponsive_se_reboot": {
              "type": "integer",
              "description": "Number of unresponsive_se_reboot.",
              "default": 300
            },
            "upgrade_dns_ttl": {
              "type": "integer",
              "description": "Time to account for DNS TTL during upgrade. This is in addition to vs_scalein_timeout_for_upgrade in se_group. Field introduced in 17.1.1.",
              "default": 5
            },
            "upgrade_fat_se_lease_time": {
              "type": "integer",
              "description": "Amount of time Controller waits for a large-sized SE (>=128GB memory) to reconnect after it is rebooted during upgrade. Field introduced in 18.2.10, 20.1.1.",
              "default": 1200
            },
            "upgrade_lease_time": {
              "type": "integer",
              "description": "Amount of time Controller waits for a regular-sized SE (<128GB memory) to reconnect after it is rebooted during upgrade. Starting 18.2.10/20.1.1, the default time has increased from 360 seconds to 600 seconds.",
              "default": 600
            },
            "upgrade_se_per_vs_scale_ops_txn_time": {
              "type": "integer",
              "description": "This parameter defines the upper-bound value of the VS scale-in or VS scale-out operation executed in the SeScaleIn and SeScale context.  User can tweak this parameter to a higher value if the Segroup gets suspended due to SeScalein or SeScaleOut timeout failure typically associated with high number of VS(es) scaled out. . Field introduced in 18.2.10, 20.1.1.",
              "default": 3
            },
            "url": {
              "type": "string",
              "description": "url"
            },
            "uuid": {
              "type": "string",
              "description": "Unique object identifier of the object."
            },
            "vnic_op_fail_time": {
              "type": "integer",
              "description": "Number of vnic_op_fail_time.",
              "default": 180
            },
            "vs_apic_scaleout_timeout": {
              "type": "integer",
              "description": "Time to wait for the scaled out SE to become ready before marking the scaleout done, applies to APIC configuration only.",
              "default": 360
            },
            "vs_awaiting_se_timeout": {
              "type": "integer",
              "description": "Number of vs_awaiting_se_timeout.",
              "default": 60
            },
            "vs_key_rotate_period": {
              "type": "integer",
              "description": "Period for rotate VS keys job. Allowed values are 1-1051200. Special values are 0 - 'Disabled'.",
              "default": 360
            },
            "vs_scaleout_ready_check_interval": {
              "type": "integer",
              "description": "Interval for checking scaleout_ready status while controller is waiting for ScaleOutReady RPC from the Service Engine. Field introduced in 18.2.2.",
              "default": 60
            },
            "vs_se_attach_ip_fail": {
              "type": "integer",
              "description": "Time to wait before marking attach IP operation on an SE as failed. Field introduced in 17.2.2.",
              "default": 600
            },
            "vs_se_bootup_fail": {
              "type": "integer",
              "description": "Number of vs_se_bootup_fail.",
              "default": 480
            },
            "vs_se_create_fail": {
              "type": "integer",
              "description": "Number of vs_se_create_fail.",
              "default": 1500
            },
            "vs_se_ping_fail": {
              "type": "integer",
              "description": "Number of vs_se_ping_fail.",
              "default": 60
            },
            "vs_se_vnic_fail": {
              "type": "integer",
              "description": "Number of vs_se_vnic_fail.",
              "default": 300
            },
            "vs_se_vnic_ip_fail": {
              "type": "integer",
              "description": "Number of vs_se_vnic_ip_fail.",
              "default": 120
            },
            "warmstart_se_reconnect_wait_time": {
              "type": "integer",
              "description": "Number of warmstart_se_reconnect_wait_time.",
              "default": 480
            },
            "warmstart_vs_resync_wait_time": {
              "type": "integer",
              "description": "Timeout for warmstart VS resync. Field introduced in 18.1.4, 18.2.1.",
              "default": 300
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/controllerpropertiesGET"
      },
      "task": true
    },
    {
      "name": "controllerpropertiesPUT",
      "summary": "Controllerproperties_PUT",
      "description": "Controllerproperties_PUT",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "object name: string",
          "required": false,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "ControllerProperties object creation: {\"_last_modified\": \"string\", \"allow_admin_network_updates\": \"boolean\", \"allow_ip_forwarding\": \"boolean\", \"allow_unauthenticated_apis\": \"boolean\", \"allow_unauthenticated_nodes\": \"boolean\", \"api_idle_timeout\": 123, \"api_perf_logging_threshold\": 123, \"appviewx_compat_mode\": \"boolean\", \"attach_ip_retry_interval\": 123, \"attach_ip_retry_limit\": 123, \"bm_use_ansible\": \"boolean\", \"cleanup_expired_authtoken_timeout_period\": 123, \"cleanup_sessions_timeout_period\": 123, \"cloud_reconcile\": \"boolean\", \"cluster_ip_gratuitous_arp_period\": 123, \"consistency_check_timeout_period\": 123, \"crashed_se_reboot\": 123, \"dead_se_detection_timer\": 123, \"default_minimum_api_timeout\": 123, \"dns_refresh_period\": 123, \"dummy\": 123, \"edit_system_limits\": \"boolean\", \"enable_api_sharding\": \"boolean\", \"enable_memory_balancer\": \"boolean\", \"fatal_error_lease_time\": 123, \"federated_datastore_cleanup_duration\": 123, \"file_object_cleanup_period\": 123, \"max_dead_se_in_grp\": 123, \"max_pcap_per_tenant\": 123, \"max_se_spawn_interval_delay\": 123, \"max_seq_attach_ip_failures\": 123, \"max_seq_vnic_failures\": 123, \"permission_scoped_shared_admin_networks\": \"boolean\", \"persistence_key_rotate_period\": 123, \"portal_request_burst_limit\": 123, \"portal_request_rate_limit\": 123, \"portal_token\": \"string\", \"process_locked_useraccounts_timeout_period\": 123, \"process_pki_profile_timeout_period\": 123, \"query_host_fail\": 123, \"safenet_hsm_version\": \"string\", \"se_create_timeout\": 123, \"se_failover_attempt_interval\": 123, \"se_from_marketplace\": \"string\", \"se_offline_del\": 123, \"se_spawn_retry_interval\": 123, \"se_vnic_cooldown\": 123, \"secure_channel_cleanup_timeout\": 123, \"secure_channel_controller_token_timeout\": 123, \"secure_channel_se_token_timeout\": 123, \"seupgrade_copy_pool_size\": 123, \"seupgrade_fabric_pool_size\": 123, \"seupgrade_segroup_min_dead_timeout\": 123, \"shared_ssl_certificates\": \"boolean\", \"ssl_certificate_expiry_warning_days\": \"array\", \"unresponsive_se_reboot\": 123, \"upgrade_dns_ttl\": 123, \"upgrade_fat_se_lease_time\": 123, \"upgrade_lease_time\": 123, \"upgrade_se_per_vs_scale_ops_txn_time\": 123, \"url\": \"string\", \"uuid\": \"string\", \"vnic_op_fail_time\": 123, \"vs_apic_scaleout_timeout\": 123, \"vs_awaiting_se_timeout\": 123, \"vs_key_rotate_period\": 123, \"vs_scaleout_ready_check_interval\": 123, \"vs_se_attach_ip_fail\": 123, \"vs_se_bootup_fail\": 123, \"vs_se_create_fail\": 123, \"vs_se_ping_fail\": 123, \"vs_se_vnic_fail\": 123, \"vs_se_vnic_ip_fail\": 123, \"warmstart_se_reconnect_wait_time\": 123, \"warmstart_vs_resync_wait_time\": 123}",
          "required": true,
          "schema": {
            "title": "ControllerProperties",
            "type": "object",
            "properties": {
              "_last_modified": {
                "type": "string",
                "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
              },
              "allow_admin_network_updates": {
                "type": "boolean",
                "description": "Allow non-admin tenants to update admin VrfContext and Network objects. Field introduced in 18.2.7, 20.1.1."
              },
              "allow_ip_forwarding": {
                "type": "boolean",
                "description": "Field introduced in 17.1.1."
              },
              "allow_unauthenticated_apis": {
                "type": "boolean",
                "description": "Allow unauthenticated access for special APIs."
              },
              "allow_unauthenticated_nodes": {
                "type": "boolean",
                "description": "Placeholder for description of property allow_unauthenticated_nodes of obj type ControllerProperties field type str  type boolean"
              },
              "api_idle_timeout": {
                "type": "integer",
                "description": "Allowed values are 0-1440.",
                "default": 15
              },
              "api_perf_logging_threshold": {
                "type": "integer",
                "description": "Threshold to log request timing in portal_performance.log and Server-Timing response header. Any stage taking longer than 1% of the threshold will be included in the Server-Timing header. Field introduced in 18.1.4, 18.2.1.",
                "default": 10000
              },
              "appviewx_compat_mode": {
                "type": "boolean",
                "description": "Export configuration in appviewx compatibility mode. Field introduced in 17.1.1."
              },
              "attach_ip_retry_interval": {
                "type": "integer",
                "description": "Number of attach_ip_retry_interval.",
                "default": 360
              },
              "attach_ip_retry_limit": {
                "type": "integer",
                "description": "Number of attach_ip_retry_limit.",
                "default": 4
              },
              "bm_use_ansible": {
                "type": "boolean",
                "description": "Use Ansible for SE creation in baremetal. Field introduced in 17.2.2.",
                "default": true
              },
              "cleanup_expired_authtoken_timeout_period": {
                "type": "integer",
                "description": "Period for auth token cleanup job. Field introduced in 18.1.1.",
                "default": 60
              },
              "cleanup_sessions_timeout_period": {
                "type": "integer",
                "description": "Period for sessions cleanup job. Field introduced in 18.1.1.",
                "default": 60
              },
              "cloud_reconcile": {
                "type": "boolean",
                "description": "Enable/Disable periodic reconcile for all the clouds. Field introduced in 17.2.14,18.1.5,18.2.1.",
                "default": true
              },
              "cluster_ip_gratuitous_arp_period": {
                "type": "integer",
                "description": "Period for cluster ip gratuitous arp job.",
                "default": 60
              },
              "consistency_check_timeout_period": {
                "type": "integer",
                "description": "Period for consistency check job. Field introduced in 18.1.1.",
                "default": 60
              },
              "crashed_se_reboot": {
                "type": "integer",
                "description": "Number of crashed_se_reboot.",
                "default": 900
              },
              "dead_se_detection_timer": {
                "type": "integer",
                "description": "Number of dead_se_detection_timer.",
                "default": 360
              },
              "default_minimum_api_timeout": {
                "type": "integer",
                "description": "Minimum api timeout value.If this value is not 60, it will be the default timeout for all APIs that do not have a specific timeout.If an API has a specific timeout but is less than this value, this value will become the new timeout. Allowed values are 60-3600. Field introduced in 18.2.6.",
                "default": 60
              },
              "dns_refresh_period": {
                "type": "integer",
                "description": "Period for refresh pool and gslb DNS job.",
                "default": 60
              },
              "dummy": {
                "type": "integer",
                "description": "Number of dummy."
              },
              "edit_system_limits": {
                "type": "boolean",
                "description": "Allow editing of system limits. Keep in mind that these system limits have been carefully selected based on rigorous testing in our testig environments. Modifying these limits could destabilize your cluster. Do this at your own risk!. Field introduced in 20.1.1."
              },
              "enable_api_sharding": {
                "type": "boolean",
                "description": "This setting enables the controller leader to shard API requests to the followers (if any). Field introduced in 18.1.5, 18.2.1.",
                "default": true
              },
              "enable_memory_balancer": {
                "type": "boolean",
                "description": "Enable/Disable Memory Balancer. Field introduced in 17.2.8.",
                "default": true
              },
              "fatal_error_lease_time": {
                "type": "integer",
                "description": "Number of fatal_error_lease_time.",
                "default": 120
              },
              "federated_datastore_cleanup_duration": {
                "type": "integer",
                "description": "Federated datastore will not cleanup diffs unless they are at least this duration in the past. Field introduced in 20.1.1.",
                "default": 120
              },
              "file_object_cleanup_period": {
                "type": "integer",
                "description": "Period for file object cleanup job. Field introduced in 20.1.1.",
                "default": 1440
              },
              "max_dead_se_in_grp": {
                "type": "integer",
                "description": "Number of max_dead_se_in_grp.",
                "default": 1
              },
              "max_pcap_per_tenant": {
                "type": "integer",
                "description": "Maximum number of pcap files stored per tenant.",
                "default": 4
              },
              "max_se_spawn_interval_delay": {
                "type": "integer",
                "description": "Maximum delay possible to add to se_spawn_retry_interval after successive SE spawn failure. Field introduced in 20.1.1.",
                "default": 1800
              },
              "max_seq_attach_ip_failures": {
                "type": "integer",
                "description": "Maximum number of consecutive attach IP failures that halts VS placement. Field introduced in 17.2.2.",
                "default": 3
              },
              "max_seq_vnic_failures": {
                "type": "integer",
                "description": "Number of max_seq_vnic_failures.",
                "default": 3
              },
              "permission_scoped_shared_admin_networks": {
                "type": "boolean",
                "description": "Network and VrfContext objects from the admin tenant will not be shared to non-admin tenants unless admin permissions are granted. Field introduced in 18.2.7, 20.1.1."
              },
              "persistence_key_rotate_period": {
                "type": "integer",
                "description": "Period for rotate app persistence keys job. Allowed values are 1-1051200. Special values are 0 - 'Disabled'."
              },
              "portal_request_burst_limit": {
                "type": "integer",
                "description": "Burst limit on number of incoming requests0 to disable. Field introduced in 20.1.1."
              },
              "portal_request_rate_limit": {
                "type": "integer",
                "description": "Maximum average number of requests allowed per second0 to disable. Field introduced in 20.1.1."
              },
              "portal_token": {
                "type": "string",
                "description": "Token used for uploading tech-support to portal. Field introduced in 16.4.6,17.1.2."
              },
              "process_locked_useraccounts_timeout_period": {
                "type": "integer",
                "description": "Period for process locked user accounts job. Field introduced in 18.1.1.",
                "default": 1
              },
              "process_pki_profile_timeout_period": {
                "type": "integer",
                "description": "Period for process PKI profile job. Field introduced in 18.1.1.",
                "default": 1440
              },
              "query_host_fail": {
                "type": "integer",
                "description": "Number of query_host_fail.",
                "default": 180
              },
              "safenet_hsm_version": {
                "type": "string",
                "description": "Version of the safenet package installed on the controller. Field introduced in 16.5.2,17.2.3."
              },
              "se_create_timeout": {
                "type": "integer",
                "description": "Number of se_create_timeout.",
                "default": 900
              },
              "se_failover_attempt_interval": {
                "type": "integer",
                "description": "Interval between attempting failovers to an SE.",
                "default": 300
              },
              "se_from_marketplace": {
                "type": "string",
                "description": "This setting decides whether SE is to be deployed from the cloud marketplace or to be created by the controller. The setting is applicable only when BYOL license is selected. Enum options - MARKETPLACE, IMAGE. Field introduced in 18.1.4, 18.2.1.",
                "default": "IMAGE"
              },
              "se_offline_del": {
                "type": "integer",
                "description": "Number of se_offline_del.",
                "default": 172000
              },
              "se_spawn_retry_interval": {
                "type": "integer",
                "description": "Default retry period before attempting another Service Engine spawn in SE Group. Field introduced in 20.1.1.",
                "default": 300
              },
              "se_vnic_cooldown": {
                "type": "integer",
                "description": "Number of se_vnic_cooldown.",
                "default": 120
              },
              "secure_channel_cleanup_timeout": {
                "type": "integer",
                "description": "Period for secure channel cleanup job.",
                "default": 60
              },
              "secure_channel_controller_token_timeout": {
                "type": "integer",
                "description": "Number of secure_channel_controller_token_timeout.",
                "default": 60
              },
              "secure_channel_se_token_timeout": {
                "type": "integer",
                "description": "Number of secure_channel_se_token_timeout.",
                "default": 60
              },
              "seupgrade_copy_pool_size": {
                "type": "integer",
                "description": "This parameter defines the number of simultaneous SE image downloads in a SeGroup. It is used to pace the SE downloads so that controller network/CPU bandwidth is a bounded operation. A value of 0 will disable the pacing scheme and all the SE(s) in the SeGroup will attempt to download the image. . Field introduced in 18.2.6.",
                "default": 5
              },
              "seupgrade_fabric_pool_size": {
                "type": "integer",
                "description": "Pool size used for all fabric commands during se upgrade.",
                "default": 20
              },
              "seupgrade_segroup_min_dead_timeout": {
                "type": "integer",
                "description": "Time to wait before marking segroup upgrade as stuck.",
                "default": 360
              },
              "shared_ssl_certificates": {
                "type": "boolean",
                "description": "SSL Certificates in the admin tenant can be used in non-admin tenants. Field introduced in 18.2.5."
              },
              "ssl_certificate_expiry_warning_days": {
                "type": "array",
                "items": {
                  "type": "integer"
                },
                "description": "Number of days for SSL Certificate expiry warning."
              },
              "unresponsive_se_reboot": {
                "type": "integer",
                "description": "Number of unresponsive_se_reboot.",
                "default": 300
              },
              "upgrade_dns_ttl": {
                "type": "integer",
                "description": "Time to account for DNS TTL during upgrade. This is in addition to vs_scalein_timeout_for_upgrade in se_group. Field introduced in 17.1.1.",
                "default": 5
              },
              "upgrade_fat_se_lease_time": {
                "type": "integer",
                "description": "Amount of time Controller waits for a large-sized SE (>=128GB memory) to reconnect after it is rebooted during upgrade. Field introduced in 18.2.10, 20.1.1.",
                "default": 1200
              },
              "upgrade_lease_time": {
                "type": "integer",
                "description": "Amount of time Controller waits for a regular-sized SE (<128GB memory) to reconnect after it is rebooted during upgrade. Starting 18.2.10/20.1.1, the default time has increased from 360 seconds to 600 seconds.",
                "default": 600
              },
              "upgrade_se_per_vs_scale_ops_txn_time": {
                "type": "integer",
                "description": "This parameter defines the upper-bound value of the VS scale-in or VS scale-out operation executed in the SeScaleIn and SeScale context.  User can tweak this parameter to a higher value if the Segroup gets suspended due to SeScalein or SeScaleOut timeout failure typically associated with high number of VS(es) scaled out. . Field introduced in 18.2.10, 20.1.1.",
                "default": 3
              },
              "url": {
                "type": "string",
                "description": "url"
              },
              "uuid": {
                "type": "string",
                "description": "Unique object identifier of the object."
              },
              "vnic_op_fail_time": {
                "type": "integer",
                "description": "Number of vnic_op_fail_time.",
                "default": 180
              },
              "vs_apic_scaleout_timeout": {
                "type": "integer",
                "description": "Time to wait for the scaled out SE to become ready before marking the scaleout done, applies to APIC configuration only.",
                "default": 360
              },
              "vs_awaiting_se_timeout": {
                "type": "integer",
                "description": "Number of vs_awaiting_se_timeout.",
                "default": 60
              },
              "vs_key_rotate_period": {
                "type": "integer",
                "description": "Period for rotate VS keys job. Allowed values are 1-1051200. Special values are 0 - 'Disabled'.",
                "default": 360
              },
              "vs_scaleout_ready_check_interval": {
                "type": "integer",
                "description": "Interval for checking scaleout_ready status while controller is waiting for ScaleOutReady RPC from the Service Engine. Field introduced in 18.2.2.",
                "default": 60
              },
              "vs_se_attach_ip_fail": {
                "type": "integer",
                "description": "Time to wait before marking attach IP operation on an SE as failed. Field introduced in 17.2.2.",
                "default": 600
              },
              "vs_se_bootup_fail": {
                "type": "integer",
                "description": "Number of vs_se_bootup_fail.",
                "default": 480
              },
              "vs_se_create_fail": {
                "type": "integer",
                "description": "Number of vs_se_create_fail.",
                "default": 1500
              },
              "vs_se_ping_fail": {
                "type": "integer",
                "description": "Number of vs_se_ping_fail.",
                "default": 60
              },
              "vs_se_vnic_fail": {
                "type": "integer",
                "description": "Number of vs_se_vnic_fail.",
                "default": 300
              },
              "vs_se_vnic_ip_fail": {
                "type": "integer",
                "description": "Number of vs_se_vnic_ip_fail.",
                "default": 120
              },
              "warmstart_se_reconnect_wait_time": {
                "type": "integer",
                "description": "Number of warmstart_se_reconnect_wait_time.",
                "default": 480
              },
              "warmstart_vs_resync_wait_time": {
                "type": "integer",
                "description": "Timeout for warmstart VS resync. Field introduced in 18.1.4, 18.2.1.",
                "default": 300
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "ControllerProperties",
          "type": "object",
          "properties": {
            "_last_modified": {
              "type": "string",
              "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
            },
            "allow_admin_network_updates": {
              "type": "boolean",
              "description": "Allow non-admin tenants to update admin VrfContext and Network objects. Field introduced in 18.2.7, 20.1.1."
            },
            "allow_ip_forwarding": {
              "type": "boolean",
              "description": "Field introduced in 17.1.1."
            },
            "allow_unauthenticated_apis": {
              "type": "boolean",
              "description": "Allow unauthenticated access for special APIs."
            },
            "allow_unauthenticated_nodes": {
              "type": "boolean",
              "description": "Placeholder for description of property allow_unauthenticated_nodes of obj type ControllerProperties field type str  type boolean"
            },
            "api_idle_timeout": {
              "type": "integer",
              "description": "Allowed values are 0-1440.",
              "default": 15
            },
            "api_perf_logging_threshold": {
              "type": "integer",
              "description": "Threshold to log request timing in portal_performance.log and Server-Timing response header. Any stage taking longer than 1% of the threshold will be included in the Server-Timing header. Field introduced in 18.1.4, 18.2.1.",
              "default": 10000
            },
            "appviewx_compat_mode": {
              "type": "boolean",
              "description": "Export configuration in appviewx compatibility mode. Field introduced in 17.1.1."
            },
            "attach_ip_retry_interval": {
              "type": "integer",
              "description": "Number of attach_ip_retry_interval.",
              "default": 360
            },
            "attach_ip_retry_limit": {
              "type": "integer",
              "description": "Number of attach_ip_retry_limit.",
              "default": 4
            },
            "bm_use_ansible": {
              "type": "boolean",
              "description": "Use Ansible for SE creation in baremetal. Field introduced in 17.2.2.",
              "default": true
            },
            "cleanup_expired_authtoken_timeout_period": {
              "type": "integer",
              "description": "Period for auth token cleanup job. Field introduced in 18.1.1.",
              "default": 60
            },
            "cleanup_sessions_timeout_period": {
              "type": "integer",
              "description": "Period for sessions cleanup job. Field introduced in 18.1.1.",
              "default": 60
            },
            "cloud_reconcile": {
              "type": "boolean",
              "description": "Enable/Disable periodic reconcile for all the clouds. Field introduced in 17.2.14,18.1.5,18.2.1.",
              "default": true
            },
            "cluster_ip_gratuitous_arp_period": {
              "type": "integer",
              "description": "Period for cluster ip gratuitous arp job.",
              "default": 60
            },
            "consistency_check_timeout_period": {
              "type": "integer",
              "description": "Period for consistency check job. Field introduced in 18.1.1.",
              "default": 60
            },
            "crashed_se_reboot": {
              "type": "integer",
              "description": "Number of crashed_se_reboot.",
              "default": 900
            },
            "dead_se_detection_timer": {
              "type": "integer",
              "description": "Number of dead_se_detection_timer.",
              "default": 360
            },
            "default_minimum_api_timeout": {
              "type": "integer",
              "description": "Minimum api timeout value.If this value is not 60, it will be the default timeout for all APIs that do not have a specific timeout.If an API has a specific timeout but is less than this value, this value will become the new timeout. Allowed values are 60-3600. Field introduced in 18.2.6.",
              "default": 60
            },
            "dns_refresh_period": {
              "type": "integer",
              "description": "Period for refresh pool and gslb DNS job.",
              "default": 60
            },
            "dummy": {
              "type": "integer",
              "description": "Number of dummy."
            },
            "edit_system_limits": {
              "type": "boolean",
              "description": "Allow editing of system limits. Keep in mind that these system limits have been carefully selected based on rigorous testing in our testig environments. Modifying these limits could destabilize your cluster. Do this at your own risk!. Field introduced in 20.1.1."
            },
            "enable_api_sharding": {
              "type": "boolean",
              "description": "This setting enables the controller leader to shard API requests to the followers (if any). Field introduced in 18.1.5, 18.2.1.",
              "default": true
            },
            "enable_memory_balancer": {
              "type": "boolean",
              "description": "Enable/Disable Memory Balancer. Field introduced in 17.2.8.",
              "default": true
            },
            "fatal_error_lease_time": {
              "type": "integer",
              "description": "Number of fatal_error_lease_time.",
              "default": 120
            },
            "federated_datastore_cleanup_duration": {
              "type": "integer",
              "description": "Federated datastore will not cleanup diffs unless they are at least this duration in the past. Field introduced in 20.1.1.",
              "default": 120
            },
            "file_object_cleanup_period": {
              "type": "integer",
              "description": "Period for file object cleanup job. Field introduced in 20.1.1.",
              "default": 1440
            },
            "max_dead_se_in_grp": {
              "type": "integer",
              "description": "Number of max_dead_se_in_grp.",
              "default": 1
            },
            "max_pcap_per_tenant": {
              "type": "integer",
              "description": "Maximum number of pcap files stored per tenant.",
              "default": 4
            },
            "max_se_spawn_interval_delay": {
              "type": "integer",
              "description": "Maximum delay possible to add to se_spawn_retry_interval after successive SE spawn failure. Field introduced in 20.1.1.",
              "default": 1800
            },
            "max_seq_attach_ip_failures": {
              "type": "integer",
              "description": "Maximum number of consecutive attach IP failures that halts VS placement. Field introduced in 17.2.2.",
              "default": 3
            },
            "max_seq_vnic_failures": {
              "type": "integer",
              "description": "Number of max_seq_vnic_failures.",
              "default": 3
            },
            "permission_scoped_shared_admin_networks": {
              "type": "boolean",
              "description": "Network and VrfContext objects from the admin tenant will not be shared to non-admin tenants unless admin permissions are granted. Field introduced in 18.2.7, 20.1.1."
            },
            "persistence_key_rotate_period": {
              "type": "integer",
              "description": "Period for rotate app persistence keys job. Allowed values are 1-1051200. Special values are 0 - 'Disabled'."
            },
            "portal_request_burst_limit": {
              "type": "integer",
              "description": "Burst limit on number of incoming requests0 to disable. Field introduced in 20.1.1."
            },
            "portal_request_rate_limit": {
              "type": "integer",
              "description": "Maximum average number of requests allowed per second0 to disable. Field introduced in 20.1.1."
            },
            "portal_token": {
              "type": "string",
              "description": "Token used for uploading tech-support to portal. Field introduced in 16.4.6,17.1.2."
            },
            "process_locked_useraccounts_timeout_period": {
              "type": "integer",
              "description": "Period for process locked user accounts job. Field introduced in 18.1.1.",
              "default": 1
            },
            "process_pki_profile_timeout_period": {
              "type": "integer",
              "description": "Period for process PKI profile job. Field introduced in 18.1.1.",
              "default": 1440
            },
            "query_host_fail": {
              "type": "integer",
              "description": "Number of query_host_fail.",
              "default": 180
            },
            "safenet_hsm_version": {
              "type": "string",
              "description": "Version of the safenet package installed on the controller. Field introduced in 16.5.2,17.2.3."
            },
            "se_create_timeout": {
              "type": "integer",
              "description": "Number of se_create_timeout.",
              "default": 900
            },
            "se_failover_attempt_interval": {
              "type": "integer",
              "description": "Interval between attempting failovers to an SE.",
              "default": 300
            },
            "se_from_marketplace": {
              "type": "string",
              "description": "This setting decides whether SE is to be deployed from the cloud marketplace or to be created by the controller. The setting is applicable only when BYOL license is selected. Enum options - MARKETPLACE, IMAGE. Field introduced in 18.1.4, 18.2.1.",
              "default": "IMAGE"
            },
            "se_offline_del": {
              "type": "integer",
              "description": "Number of se_offline_del.",
              "default": 172000
            },
            "se_spawn_retry_interval": {
              "type": "integer",
              "description": "Default retry period before attempting another Service Engine spawn in SE Group. Field introduced in 20.1.1.",
              "default": 300
            },
            "se_vnic_cooldown": {
              "type": "integer",
              "description": "Number of se_vnic_cooldown.",
              "default": 120
            },
            "secure_channel_cleanup_timeout": {
              "type": "integer",
              "description": "Period for secure channel cleanup job.",
              "default": 60
            },
            "secure_channel_controller_token_timeout": {
              "type": "integer",
              "description": "Number of secure_channel_controller_token_timeout.",
              "default": 60
            },
            "secure_channel_se_token_timeout": {
              "type": "integer",
              "description": "Number of secure_channel_se_token_timeout.",
              "default": 60
            },
            "seupgrade_copy_pool_size": {
              "type": "integer",
              "description": "This parameter defines the number of simultaneous SE image downloads in a SeGroup. It is used to pace the SE downloads so that controller network/CPU bandwidth is a bounded operation. A value of 0 will disable the pacing scheme and all the SE(s) in the SeGroup will attempt to download the image. . Field introduced in 18.2.6.",
              "default": 5
            },
            "seupgrade_fabric_pool_size": {
              "type": "integer",
              "description": "Pool size used for all fabric commands during se upgrade.",
              "default": 20
            },
            "seupgrade_segroup_min_dead_timeout": {
              "type": "integer",
              "description": "Time to wait before marking segroup upgrade as stuck.",
              "default": 360
            },
            "shared_ssl_certificates": {
              "type": "boolean",
              "description": "SSL Certificates in the admin tenant can be used in non-admin tenants. Field introduced in 18.2.5."
            },
            "ssl_certificate_expiry_warning_days": {
              "type": "array",
              "items": {
                "type": "integer"
              },
              "description": "Number of days for SSL Certificate expiry warning."
            },
            "unresponsive_se_reboot": {
              "type": "integer",
              "description": "Number of unresponsive_se_reboot.",
              "default": 300
            },
            "upgrade_dns_ttl": {
              "type": "integer",
              "description": "Time to account for DNS TTL during upgrade. This is in addition to vs_scalein_timeout_for_upgrade in se_group. Field introduced in 17.1.1.",
              "default": 5
            },
            "upgrade_fat_se_lease_time": {
              "type": "integer",
              "description": "Amount of time Controller waits for a large-sized SE (>=128GB memory) to reconnect after it is rebooted during upgrade. Field introduced in 18.2.10, 20.1.1.",
              "default": 1200
            },
            "upgrade_lease_time": {
              "type": "integer",
              "description": "Amount of time Controller waits for a regular-sized SE (<128GB memory) to reconnect after it is rebooted during upgrade. Starting 18.2.10/20.1.1, the default time has increased from 360 seconds to 600 seconds.",
              "default": 600
            },
            "upgrade_se_per_vs_scale_ops_txn_time": {
              "type": "integer",
              "description": "This parameter defines the upper-bound value of the VS scale-in or VS scale-out operation executed in the SeScaleIn and SeScale context.  User can tweak this parameter to a higher value if the Segroup gets suspended due to SeScalein or SeScaleOut timeout failure typically associated with high number of VS(es) scaled out. . Field introduced in 18.2.10, 20.1.1.",
              "default": 3
            },
            "url": {
              "type": "string",
              "description": "url"
            },
            "uuid": {
              "type": "string",
              "description": "Unique object identifier of the object."
            },
            "vnic_op_fail_time": {
              "type": "integer",
              "description": "Number of vnic_op_fail_time.",
              "default": 180
            },
            "vs_apic_scaleout_timeout": {
              "type": "integer",
              "description": "Time to wait for the scaled out SE to become ready before marking the scaleout done, applies to APIC configuration only.",
              "default": 360
            },
            "vs_awaiting_se_timeout": {
              "type": "integer",
              "description": "Number of vs_awaiting_se_timeout.",
              "default": 60
            },
            "vs_key_rotate_period": {
              "type": "integer",
              "description": "Period for rotate VS keys job. Allowed values are 1-1051200. Special values are 0 - 'Disabled'.",
              "default": 360
            },
            "vs_scaleout_ready_check_interval": {
              "type": "integer",
              "description": "Interval for checking scaleout_ready status while controller is waiting for ScaleOutReady RPC from the Service Engine. Field introduced in 18.2.2.",
              "default": 60
            },
            "vs_se_attach_ip_fail": {
              "type": "integer",
              "description": "Time to wait before marking attach IP operation on an SE as failed. Field introduced in 17.2.2.",
              "default": 600
            },
            "vs_se_bootup_fail": {
              "type": "integer",
              "description": "Number of vs_se_bootup_fail.",
              "default": 480
            },
            "vs_se_create_fail": {
              "type": "integer",
              "description": "Number of vs_se_create_fail.",
              "default": 1500
            },
            "vs_se_ping_fail": {
              "type": "integer",
              "description": "Number of vs_se_ping_fail.",
              "default": 60
            },
            "vs_se_vnic_fail": {
              "type": "integer",
              "description": "Number of vs_se_vnic_fail.",
              "default": 300
            },
            "vs_se_vnic_ip_fail": {
              "type": "integer",
              "description": "Number of vs_se_vnic_ip_fail.",
              "default": 120
            },
            "warmstart_se_reconnect_wait_time": {
              "type": "integer",
              "description": "Number of warmstart_se_reconnect_wait_time.",
              "default": 480
            },
            "warmstart_vs_resync_wait_time": {
              "type": "integer",
              "description": "Timeout for warmstart VS resync. Field introduced in 18.1.4, 18.2.1.",
              "default": 300
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/controllerpropertiesPUT"
      },
      "task": true
    },
    {
      "name": "controllerpropertiesPATCH",
      "summary": "Controllerproperties_PATCH",
      "description": "Controllerproperties_PATCH",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "object name: string",
          "required": false,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "ControllerProperties object creation: {\"_last_modified\": \"string\", \"allow_admin_network_updates\": \"boolean\", \"allow_ip_forwarding\": \"boolean\", \"allow_unauthenticated_apis\": \"boolean\", \"allow_unauthenticated_nodes\": \"boolean\", \"api_idle_timeout\": 123, \"api_perf_logging_threshold\": 123, \"appviewx_compat_mode\": \"boolean\", \"attach_ip_retry_interval\": 123, \"attach_ip_retry_limit\": 123, \"bm_use_ansible\": \"boolean\", \"cleanup_expired_authtoken_timeout_period\": 123, \"cleanup_sessions_timeout_period\": 123, \"cloud_reconcile\": \"boolean\", \"cluster_ip_gratuitous_arp_period\": 123, \"consistency_check_timeout_period\": 123, \"crashed_se_reboot\": 123, \"dead_se_detection_timer\": 123, \"default_minimum_api_timeout\": 123, \"dns_refresh_period\": 123, \"dummy\": 123, \"edit_system_limits\": \"boolean\", \"enable_api_sharding\": \"boolean\", \"enable_memory_balancer\": \"boolean\", \"fatal_error_lease_time\": 123, \"federated_datastore_cleanup_duration\": 123, \"file_object_cleanup_period\": 123, \"max_dead_se_in_grp\": 123, \"max_pcap_per_tenant\": 123, \"max_se_spawn_interval_delay\": 123, \"max_seq_attach_ip_failures\": 123, \"max_seq_vnic_failures\": 123, \"permission_scoped_shared_admin_networks\": \"boolean\", \"persistence_key_rotate_period\": 123, \"portal_request_burst_limit\": 123, \"portal_request_rate_limit\": 123, \"portal_token\": \"string\", \"process_locked_useraccounts_timeout_period\": 123, \"process_pki_profile_timeout_period\": 123, \"query_host_fail\": 123, \"safenet_hsm_version\": \"string\", \"se_create_timeout\": 123, \"se_failover_attempt_interval\": 123, \"se_from_marketplace\": \"string\", \"se_offline_del\": 123, \"se_spawn_retry_interval\": 123, \"se_vnic_cooldown\": 123, \"secure_channel_cleanup_timeout\": 123, \"secure_channel_controller_token_timeout\": 123, \"secure_channel_se_token_timeout\": 123, \"seupgrade_copy_pool_size\": 123, \"seupgrade_fabric_pool_size\": 123, \"seupgrade_segroup_min_dead_timeout\": 123, \"shared_ssl_certificates\": \"boolean\", \"ssl_certificate_expiry_warning_days\": \"array\", \"unresponsive_se_reboot\": 123, \"upgrade_dns_ttl\": 123, \"upgrade_fat_se_lease_time\": 123, \"upgrade_lease_time\": 123, \"upgrade_se_per_vs_scale_ops_txn_time\": 123, \"url\": \"string\", \"uuid\": \"string\", \"vnic_op_fail_time\": 123, \"vs_apic_scaleout_timeout\": 123, \"vs_awaiting_se_timeout\": 123, \"vs_key_rotate_period\": 123, \"vs_scaleout_ready_check_interval\": 123, \"vs_se_attach_ip_fail\": 123, \"vs_se_bootup_fail\": 123, \"vs_se_create_fail\": 123, \"vs_se_ping_fail\": 123, \"vs_se_vnic_fail\": 123, \"vs_se_vnic_ip_fail\": 123, \"warmstart_se_reconnect_wait_time\": 123, \"warmstart_vs_resync_wait_time\": 123}",
          "required": true,
          "schema": {
            "title": "ControllerProperties",
            "type": "object",
            "properties": {
              "_last_modified": {
                "type": "string",
                "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
              },
              "allow_admin_network_updates": {
                "type": "boolean",
                "description": "Allow non-admin tenants to update admin VrfContext and Network objects. Field introduced in 18.2.7, 20.1.1."
              },
              "allow_ip_forwarding": {
                "type": "boolean",
                "description": "Field introduced in 17.1.1."
              },
              "allow_unauthenticated_apis": {
                "type": "boolean",
                "description": "Allow unauthenticated access for special APIs."
              },
              "allow_unauthenticated_nodes": {
                "type": "boolean",
                "description": "Placeholder for description of property allow_unauthenticated_nodes of obj type ControllerProperties field type str  type boolean"
              },
              "api_idle_timeout": {
                "type": "integer",
                "description": "Allowed values are 0-1440.",
                "default": 15
              },
              "api_perf_logging_threshold": {
                "type": "integer",
                "description": "Threshold to log request timing in portal_performance.log and Server-Timing response header. Any stage taking longer than 1% of the threshold will be included in the Server-Timing header. Field introduced in 18.1.4, 18.2.1.",
                "default": 10000
              },
              "appviewx_compat_mode": {
                "type": "boolean",
                "description": "Export configuration in appviewx compatibility mode. Field introduced in 17.1.1."
              },
              "attach_ip_retry_interval": {
                "type": "integer",
                "description": "Number of attach_ip_retry_interval.",
                "default": 360
              },
              "attach_ip_retry_limit": {
                "type": "integer",
                "description": "Number of attach_ip_retry_limit.",
                "default": 4
              },
              "bm_use_ansible": {
                "type": "boolean",
                "description": "Use Ansible for SE creation in baremetal. Field introduced in 17.2.2.",
                "default": true
              },
              "cleanup_expired_authtoken_timeout_period": {
                "type": "integer",
                "description": "Period for auth token cleanup job. Field introduced in 18.1.1.",
                "default": 60
              },
              "cleanup_sessions_timeout_period": {
                "type": "integer",
                "description": "Period for sessions cleanup job. Field introduced in 18.1.1.",
                "default": 60
              },
              "cloud_reconcile": {
                "type": "boolean",
                "description": "Enable/Disable periodic reconcile for all the clouds. Field introduced in 17.2.14,18.1.5,18.2.1.",
                "default": true
              },
              "cluster_ip_gratuitous_arp_period": {
                "type": "integer",
                "description": "Period for cluster ip gratuitous arp job.",
                "default": 60
              },
              "consistency_check_timeout_period": {
                "type": "integer",
                "description": "Period for consistency check job. Field introduced in 18.1.1.",
                "default": 60
              },
              "crashed_se_reboot": {
                "type": "integer",
                "description": "Number of crashed_se_reboot.",
                "default": 900
              },
              "dead_se_detection_timer": {
                "type": "integer",
                "description": "Number of dead_se_detection_timer.",
                "default": 360
              },
              "default_minimum_api_timeout": {
                "type": "integer",
                "description": "Minimum api timeout value.If this value is not 60, it will be the default timeout for all APIs that do not have a specific timeout.If an API has a specific timeout but is less than this value, this value will become the new timeout. Allowed values are 60-3600. Field introduced in 18.2.6.",
                "default": 60
              },
              "dns_refresh_period": {
                "type": "integer",
                "description": "Period for refresh pool and gslb DNS job.",
                "default": 60
              },
              "dummy": {
                "type": "integer",
                "description": "Number of dummy."
              },
              "edit_system_limits": {
                "type": "boolean",
                "description": "Allow editing of system limits. Keep in mind that these system limits have been carefully selected based on rigorous testing in our testig environments. Modifying these limits could destabilize your cluster. Do this at your own risk!. Field introduced in 20.1.1."
              },
              "enable_api_sharding": {
                "type": "boolean",
                "description": "This setting enables the controller leader to shard API requests to the followers (if any). Field introduced in 18.1.5, 18.2.1.",
                "default": true
              },
              "enable_memory_balancer": {
                "type": "boolean",
                "description": "Enable/Disable Memory Balancer. Field introduced in 17.2.8.",
                "default": true
              },
              "fatal_error_lease_time": {
                "type": "integer",
                "description": "Number of fatal_error_lease_time.",
                "default": 120
              },
              "federated_datastore_cleanup_duration": {
                "type": "integer",
                "description": "Federated datastore will not cleanup diffs unless they are at least this duration in the past. Field introduced in 20.1.1.",
                "default": 120
              },
              "file_object_cleanup_period": {
                "type": "integer",
                "description": "Period for file object cleanup job. Field introduced in 20.1.1.",
                "default": 1440
              },
              "max_dead_se_in_grp": {
                "type": "integer",
                "description": "Number of max_dead_se_in_grp.",
                "default": 1
              },
              "max_pcap_per_tenant": {
                "type": "integer",
                "description": "Maximum number of pcap files stored per tenant.",
                "default": 4
              },
              "max_se_spawn_interval_delay": {
                "type": "integer",
                "description": "Maximum delay possible to add to se_spawn_retry_interval after successive SE spawn failure. Field introduced in 20.1.1.",
                "default": 1800
              },
              "max_seq_attach_ip_failures": {
                "type": "integer",
                "description": "Maximum number of consecutive attach IP failures that halts VS placement. Field introduced in 17.2.2.",
                "default": 3
              },
              "max_seq_vnic_failures": {
                "type": "integer",
                "description": "Number of max_seq_vnic_failures.",
                "default": 3
              },
              "permission_scoped_shared_admin_networks": {
                "type": "boolean",
                "description": "Network and VrfContext objects from the admin tenant will not be shared to non-admin tenants unless admin permissions are granted. Field introduced in 18.2.7, 20.1.1."
              },
              "persistence_key_rotate_period": {
                "type": "integer",
                "description": "Period for rotate app persistence keys job. Allowed values are 1-1051200. Special values are 0 - 'Disabled'."
              },
              "portal_request_burst_limit": {
                "type": "integer",
                "description": "Burst limit on number of incoming requests0 to disable. Field introduced in 20.1.1."
              },
              "portal_request_rate_limit": {
                "type": "integer",
                "description": "Maximum average number of requests allowed per second0 to disable. Field introduced in 20.1.1."
              },
              "portal_token": {
                "type": "string",
                "description": "Token used for uploading tech-support to portal. Field introduced in 16.4.6,17.1.2."
              },
              "process_locked_useraccounts_timeout_period": {
                "type": "integer",
                "description": "Period for process locked user accounts job. Field introduced in 18.1.1.",
                "default": 1
              },
              "process_pki_profile_timeout_period": {
                "type": "integer",
                "description": "Period for process PKI profile job. Field introduced in 18.1.1.",
                "default": 1440
              },
              "query_host_fail": {
                "type": "integer",
                "description": "Number of query_host_fail.",
                "default": 180
              },
              "safenet_hsm_version": {
                "type": "string",
                "description": "Version of the safenet package installed on the controller. Field introduced in 16.5.2,17.2.3."
              },
              "se_create_timeout": {
                "type": "integer",
                "description": "Number of se_create_timeout.",
                "default": 900
              },
              "se_failover_attempt_interval": {
                "type": "integer",
                "description": "Interval between attempting failovers to an SE.",
                "default": 300
              },
              "se_from_marketplace": {
                "type": "string",
                "description": "This setting decides whether SE is to be deployed from the cloud marketplace or to be created by the controller. The setting is applicable only when BYOL license is selected. Enum options - MARKETPLACE, IMAGE. Field introduced in 18.1.4, 18.2.1.",
                "default": "IMAGE"
              },
              "se_offline_del": {
                "type": "integer",
                "description": "Number of se_offline_del.",
                "default": 172000
              },
              "se_spawn_retry_interval": {
                "type": "integer",
                "description": "Default retry period before attempting another Service Engine spawn in SE Group. Field introduced in 20.1.1.",
                "default": 300
              },
              "se_vnic_cooldown": {
                "type": "integer",
                "description": "Number of se_vnic_cooldown.",
                "default": 120
              },
              "secure_channel_cleanup_timeout": {
                "type": "integer",
                "description": "Period for secure channel cleanup job.",
                "default": 60
              },
              "secure_channel_controller_token_timeout": {
                "type": "integer",
                "description": "Number of secure_channel_controller_token_timeout.",
                "default": 60
              },
              "secure_channel_se_token_timeout": {
                "type": "integer",
                "description": "Number of secure_channel_se_token_timeout.",
                "default": 60
              },
              "seupgrade_copy_pool_size": {
                "type": "integer",
                "description": "This parameter defines the number of simultaneous SE image downloads in a SeGroup. It is used to pace the SE downloads so that controller network/CPU bandwidth is a bounded operation. A value of 0 will disable the pacing scheme and all the SE(s) in the SeGroup will attempt to download the image. . Field introduced in 18.2.6.",
                "default": 5
              },
              "seupgrade_fabric_pool_size": {
                "type": "integer",
                "description": "Pool size used for all fabric commands during se upgrade.",
                "default": 20
              },
              "seupgrade_segroup_min_dead_timeout": {
                "type": "integer",
                "description": "Time to wait before marking segroup upgrade as stuck.",
                "default": 360
              },
              "shared_ssl_certificates": {
                "type": "boolean",
                "description": "SSL Certificates in the admin tenant can be used in non-admin tenants. Field introduced in 18.2.5."
              },
              "ssl_certificate_expiry_warning_days": {
                "type": "array",
                "items": {
                  "type": "integer"
                },
                "description": "Number of days for SSL Certificate expiry warning."
              },
              "unresponsive_se_reboot": {
                "type": "integer",
                "description": "Number of unresponsive_se_reboot.",
                "default": 300
              },
              "upgrade_dns_ttl": {
                "type": "integer",
                "description": "Time to account for DNS TTL during upgrade. This is in addition to vs_scalein_timeout_for_upgrade in se_group. Field introduced in 17.1.1.",
                "default": 5
              },
              "upgrade_fat_se_lease_time": {
                "type": "integer",
                "description": "Amount of time Controller waits for a large-sized SE (>=128GB memory) to reconnect after it is rebooted during upgrade. Field introduced in 18.2.10, 20.1.1.",
                "default": 1200
              },
              "upgrade_lease_time": {
                "type": "integer",
                "description": "Amount of time Controller waits for a regular-sized SE (<128GB memory) to reconnect after it is rebooted during upgrade. Starting 18.2.10/20.1.1, the default time has increased from 360 seconds to 600 seconds.",
                "default": 600
              },
              "upgrade_se_per_vs_scale_ops_txn_time": {
                "type": "integer",
                "description": "This parameter defines the upper-bound value of the VS scale-in or VS scale-out operation executed in the SeScaleIn and SeScale context.  User can tweak this parameter to a higher value if the Segroup gets suspended due to SeScalein or SeScaleOut timeout failure typically associated with high number of VS(es) scaled out. . Field introduced in 18.2.10, 20.1.1.",
                "default": 3
              },
              "url": {
                "type": "string",
                "description": "url"
              },
              "uuid": {
                "type": "string",
                "description": "Unique object identifier of the object."
              },
              "vnic_op_fail_time": {
                "type": "integer",
                "description": "Number of vnic_op_fail_time.",
                "default": 180
              },
              "vs_apic_scaleout_timeout": {
                "type": "integer",
                "description": "Time to wait for the scaled out SE to become ready before marking the scaleout done, applies to APIC configuration only.",
                "default": 360
              },
              "vs_awaiting_se_timeout": {
                "type": "integer",
                "description": "Number of vs_awaiting_se_timeout.",
                "default": 60
              },
              "vs_key_rotate_period": {
                "type": "integer",
                "description": "Period for rotate VS keys job. Allowed values are 1-1051200. Special values are 0 - 'Disabled'.",
                "default": 360
              },
              "vs_scaleout_ready_check_interval": {
                "type": "integer",
                "description": "Interval for checking scaleout_ready status while controller is waiting for ScaleOutReady RPC from the Service Engine. Field introduced in 18.2.2.",
                "default": 60
              },
              "vs_se_attach_ip_fail": {
                "type": "integer",
                "description": "Time to wait before marking attach IP operation on an SE as failed. Field introduced in 17.2.2.",
                "default": 600
              },
              "vs_se_bootup_fail": {
                "type": "integer",
                "description": "Number of vs_se_bootup_fail.",
                "default": 480
              },
              "vs_se_create_fail": {
                "type": "integer",
                "description": "Number of vs_se_create_fail.",
                "default": 1500
              },
              "vs_se_ping_fail": {
                "type": "integer",
                "description": "Number of vs_se_ping_fail.",
                "default": 60
              },
              "vs_se_vnic_fail": {
                "type": "integer",
                "description": "Number of vs_se_vnic_fail.",
                "default": 300
              },
              "vs_se_vnic_ip_fail": {
                "type": "integer",
                "description": "Number of vs_se_vnic_ip_fail.",
                "default": 120
              },
              "warmstart_se_reconnect_wait_time": {
                "type": "integer",
                "description": "Number of warmstart_se_reconnect_wait_time.",
                "default": 480
              },
              "warmstart_vs_resync_wait_time": {
                "type": "integer",
                "description": "Timeout for warmstart VS resync. Field introduced in 18.1.4, 18.2.1.",
                "default": 300
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "ControllerProperties",
          "type": "object",
          "properties": {
            "_last_modified": {
              "type": "string",
              "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
            },
            "allow_admin_network_updates": {
              "type": "boolean",
              "description": "Allow non-admin tenants to update admin VrfContext and Network objects. Field introduced in 18.2.7, 20.1.1."
            },
            "allow_ip_forwarding": {
              "type": "boolean",
              "description": "Field introduced in 17.1.1."
            },
            "allow_unauthenticated_apis": {
              "type": "boolean",
              "description": "Allow unauthenticated access for special APIs."
            },
            "allow_unauthenticated_nodes": {
              "type": "boolean",
              "description": "Placeholder for description of property allow_unauthenticated_nodes of obj type ControllerProperties field type str  type boolean"
            },
            "api_idle_timeout": {
              "type": "integer",
              "description": "Allowed values are 0-1440.",
              "default": 15
            },
            "api_perf_logging_threshold": {
              "type": "integer",
              "description": "Threshold to log request timing in portal_performance.log and Server-Timing response header. Any stage taking longer than 1% of the threshold will be included in the Server-Timing header. Field introduced in 18.1.4, 18.2.1.",
              "default": 10000
            },
            "appviewx_compat_mode": {
              "type": "boolean",
              "description": "Export configuration in appviewx compatibility mode. Field introduced in 17.1.1."
            },
            "attach_ip_retry_interval": {
              "type": "integer",
              "description": "Number of attach_ip_retry_interval.",
              "default": 360
            },
            "attach_ip_retry_limit": {
              "type": "integer",
              "description": "Number of attach_ip_retry_limit.",
              "default": 4
            },
            "bm_use_ansible": {
              "type": "boolean",
              "description": "Use Ansible for SE creation in baremetal. Field introduced in 17.2.2.",
              "default": true
            },
            "cleanup_expired_authtoken_timeout_period": {
              "type": "integer",
              "description": "Period for auth token cleanup job. Field introduced in 18.1.1.",
              "default": 60
            },
            "cleanup_sessions_timeout_period": {
              "type": "integer",
              "description": "Period for sessions cleanup job. Field introduced in 18.1.1.",
              "default": 60
            },
            "cloud_reconcile": {
              "type": "boolean",
              "description": "Enable/Disable periodic reconcile for all the clouds. Field introduced in 17.2.14,18.1.5,18.2.1.",
              "default": true
            },
            "cluster_ip_gratuitous_arp_period": {
              "type": "integer",
              "description": "Period for cluster ip gratuitous arp job.",
              "default": 60
            },
            "consistency_check_timeout_period": {
              "type": "integer",
              "description": "Period for consistency check job. Field introduced in 18.1.1.",
              "default": 60
            },
            "crashed_se_reboot": {
              "type": "integer",
              "description": "Number of crashed_se_reboot.",
              "default": 900
            },
            "dead_se_detection_timer": {
              "type": "integer",
              "description": "Number of dead_se_detection_timer.",
              "default": 360
            },
            "default_minimum_api_timeout": {
              "type": "integer",
              "description": "Minimum api timeout value.If this value is not 60, it will be the default timeout for all APIs that do not have a specific timeout.If an API has a specific timeout but is less than this value, this value will become the new timeout. Allowed values are 60-3600. Field introduced in 18.2.6.",
              "default": 60
            },
            "dns_refresh_period": {
              "type": "integer",
              "description": "Period for refresh pool and gslb DNS job.",
              "default": 60
            },
            "dummy": {
              "type": "integer",
              "description": "Number of dummy."
            },
            "edit_system_limits": {
              "type": "boolean",
              "description": "Allow editing of system limits. Keep in mind that these system limits have been carefully selected based on rigorous testing in our testig environments. Modifying these limits could destabilize your cluster. Do this at your own risk!. Field introduced in 20.1.1."
            },
            "enable_api_sharding": {
              "type": "boolean",
              "description": "This setting enables the controller leader to shard API requests to the followers (if any). Field introduced in 18.1.5, 18.2.1.",
              "default": true
            },
            "enable_memory_balancer": {
              "type": "boolean",
              "description": "Enable/Disable Memory Balancer. Field introduced in 17.2.8.",
              "default": true
            },
            "fatal_error_lease_time": {
              "type": "integer",
              "description": "Number of fatal_error_lease_time.",
              "default": 120
            },
            "federated_datastore_cleanup_duration": {
              "type": "integer",
              "description": "Federated datastore will not cleanup diffs unless they are at least this duration in the past. Field introduced in 20.1.1.",
              "default": 120
            },
            "file_object_cleanup_period": {
              "type": "integer",
              "description": "Period for file object cleanup job. Field introduced in 20.1.1.",
              "default": 1440
            },
            "max_dead_se_in_grp": {
              "type": "integer",
              "description": "Number of max_dead_se_in_grp.",
              "default": 1
            },
            "max_pcap_per_tenant": {
              "type": "integer",
              "description": "Maximum number of pcap files stored per tenant.",
              "default": 4
            },
            "max_se_spawn_interval_delay": {
              "type": "integer",
              "description": "Maximum delay possible to add to se_spawn_retry_interval after successive SE spawn failure. Field introduced in 20.1.1.",
              "default": 1800
            },
            "max_seq_attach_ip_failures": {
              "type": "integer",
              "description": "Maximum number of consecutive attach IP failures that halts VS placement. Field introduced in 17.2.2.",
              "default": 3
            },
            "max_seq_vnic_failures": {
              "type": "integer",
              "description": "Number of max_seq_vnic_failures.",
              "default": 3
            },
            "permission_scoped_shared_admin_networks": {
              "type": "boolean",
              "description": "Network and VrfContext objects from the admin tenant will not be shared to non-admin tenants unless admin permissions are granted. Field introduced in 18.2.7, 20.1.1."
            },
            "persistence_key_rotate_period": {
              "type": "integer",
              "description": "Period for rotate app persistence keys job. Allowed values are 1-1051200. Special values are 0 - 'Disabled'."
            },
            "portal_request_burst_limit": {
              "type": "integer",
              "description": "Burst limit on number of incoming requests0 to disable. Field introduced in 20.1.1."
            },
            "portal_request_rate_limit": {
              "type": "integer",
              "description": "Maximum average number of requests allowed per second0 to disable. Field introduced in 20.1.1."
            },
            "portal_token": {
              "type": "string",
              "description": "Token used for uploading tech-support to portal. Field introduced in 16.4.6,17.1.2."
            },
            "process_locked_useraccounts_timeout_period": {
              "type": "integer",
              "description": "Period for process locked user accounts job. Field introduced in 18.1.1.",
              "default": 1
            },
            "process_pki_profile_timeout_period": {
              "type": "integer",
              "description": "Period for process PKI profile job. Field introduced in 18.1.1.",
              "default": 1440
            },
            "query_host_fail": {
              "type": "integer",
              "description": "Number of query_host_fail.",
              "default": 180
            },
            "safenet_hsm_version": {
              "type": "string",
              "description": "Version of the safenet package installed on the controller. Field introduced in 16.5.2,17.2.3."
            },
            "se_create_timeout": {
              "type": "integer",
              "description": "Number of se_create_timeout.",
              "default": 900
            },
            "se_failover_attempt_interval": {
              "type": "integer",
              "description": "Interval between attempting failovers to an SE.",
              "default": 300
            },
            "se_from_marketplace": {
              "type": "string",
              "description": "This setting decides whether SE is to be deployed from the cloud marketplace or to be created by the controller. The setting is applicable only when BYOL license is selected. Enum options - MARKETPLACE, IMAGE. Field introduced in 18.1.4, 18.2.1.",
              "default": "IMAGE"
            },
            "se_offline_del": {
              "type": "integer",
              "description": "Number of se_offline_del.",
              "default": 172000
            },
            "se_spawn_retry_interval": {
              "type": "integer",
              "description": "Default retry period before attempting another Service Engine spawn in SE Group. Field introduced in 20.1.1.",
              "default": 300
            },
            "se_vnic_cooldown": {
              "type": "integer",
              "description": "Number of se_vnic_cooldown.",
              "default": 120
            },
            "secure_channel_cleanup_timeout": {
              "type": "integer",
              "description": "Period for secure channel cleanup job.",
              "default": 60
            },
            "secure_channel_controller_token_timeout": {
              "type": "integer",
              "description": "Number of secure_channel_controller_token_timeout.",
              "default": 60
            },
            "secure_channel_se_token_timeout": {
              "type": "integer",
              "description": "Number of secure_channel_se_token_timeout.",
              "default": 60
            },
            "seupgrade_copy_pool_size": {
              "type": "integer",
              "description": "This parameter defines the number of simultaneous SE image downloads in a SeGroup. It is used to pace the SE downloads so that controller network/CPU bandwidth is a bounded operation. A value of 0 will disable the pacing scheme and all the SE(s) in the SeGroup will attempt to download the image. . Field introduced in 18.2.6.",
              "default": 5
            },
            "seupgrade_fabric_pool_size": {
              "type": "integer",
              "description": "Pool size used for all fabric commands during se upgrade.",
              "default": 20
            },
            "seupgrade_segroup_min_dead_timeout": {
              "type": "integer",
              "description": "Time to wait before marking segroup upgrade as stuck.",
              "default": 360
            },
            "shared_ssl_certificates": {
              "type": "boolean",
              "description": "SSL Certificates in the admin tenant can be used in non-admin tenants. Field introduced in 18.2.5."
            },
            "ssl_certificate_expiry_warning_days": {
              "type": "array",
              "items": {
                "type": "integer"
              },
              "description": "Number of days for SSL Certificate expiry warning."
            },
            "unresponsive_se_reboot": {
              "type": "integer",
              "description": "Number of unresponsive_se_reboot.",
              "default": 300
            },
            "upgrade_dns_ttl": {
              "type": "integer",
              "description": "Time to account for DNS TTL during upgrade. This is in addition to vs_scalein_timeout_for_upgrade in se_group. Field introduced in 17.1.1.",
              "default": 5
            },
            "upgrade_fat_se_lease_time": {
              "type": "integer",
              "description": "Amount of time Controller waits for a large-sized SE (>=128GB memory) to reconnect after it is rebooted during upgrade. Field introduced in 18.2.10, 20.1.1.",
              "default": 1200
            },
            "upgrade_lease_time": {
              "type": "integer",
              "description": "Amount of time Controller waits for a regular-sized SE (<128GB memory) to reconnect after it is rebooted during upgrade. Starting 18.2.10/20.1.1, the default time has increased from 360 seconds to 600 seconds.",
              "default": 600
            },
            "upgrade_se_per_vs_scale_ops_txn_time": {
              "type": "integer",
              "description": "This parameter defines the upper-bound value of the VS scale-in or VS scale-out operation executed in the SeScaleIn and SeScale context.  User can tweak this parameter to a higher value if the Segroup gets suspended due to SeScalein or SeScaleOut timeout failure typically associated with high number of VS(es) scaled out. . Field introduced in 18.2.10, 20.1.1.",
              "default": 3
            },
            "url": {
              "type": "string",
              "description": "url"
            },
            "uuid": {
              "type": "string",
              "description": "Unique object identifier of the object."
            },
            "vnic_op_fail_time": {
              "type": "integer",
              "description": "Number of vnic_op_fail_time.",
              "default": 180
            },
            "vs_apic_scaleout_timeout": {
              "type": "integer",
              "description": "Time to wait for the scaled out SE to become ready before marking the scaleout done, applies to APIC configuration only.",
              "default": 360
            },
            "vs_awaiting_se_timeout": {
              "type": "integer",
              "description": "Number of vs_awaiting_se_timeout.",
              "default": 60
            },
            "vs_key_rotate_period": {
              "type": "integer",
              "description": "Period for rotate VS keys job. Allowed values are 1-1051200. Special values are 0 - 'Disabled'.",
              "default": 360
            },
            "vs_scaleout_ready_check_interval": {
              "type": "integer",
              "description": "Interval for checking scaleout_ready status while controller is waiting for ScaleOutReady RPC from the Service Engine. Field introduced in 18.2.2.",
              "default": 60
            },
            "vs_se_attach_ip_fail": {
              "type": "integer",
              "description": "Time to wait before marking attach IP operation on an SE as failed. Field introduced in 17.2.2.",
              "default": 600
            },
            "vs_se_bootup_fail": {
              "type": "integer",
              "description": "Number of vs_se_bootup_fail.",
              "default": 480
            },
            "vs_se_create_fail": {
              "type": "integer",
              "description": "Number of vs_se_create_fail.",
              "default": 1500
            },
            "vs_se_ping_fail": {
              "type": "integer",
              "description": "Number of vs_se_ping_fail.",
              "default": 60
            },
            "vs_se_vnic_fail": {
              "type": "integer",
              "description": "Number of vs_se_vnic_fail.",
              "default": 300
            },
            "vs_se_vnic_ip_fail": {
              "type": "integer",
              "description": "Number of vs_se_vnic_ip_fail.",
              "default": 120
            },
            "warmstart_se_reconnect_wait_time": {
              "type": "integer",
              "description": "Number of warmstart_se_reconnect_wait_time.",
              "default": 480
            },
            "warmstart_vs_resync_wait_time": {
              "type": "integer",
              "description": "Timeout for warmstart VS resync. Field introduced in 18.1.4, 18.2.1.",
              "default": 300
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/controllerpropertiesPATCH"
      },
      "task": true
    },
    {
      "name": "networkGET",
      "summary": "Network_GET",
      "description": "Network_GET",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "object name: string",
          "required": false,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "refersTo",
          "type": "string",
          "info": "Filter to request all objects that refers to another Avi resource. Its syntax is refers_to= : . Eg. get all virtual services referring to pool p1 will be refers_to=pool:p...(description truncated): string",
          "required": false,
          "schema": {
            "title": "refersTo",
            "type": "string"
          }
        },
        {
          "name": "referredBy",
          "type": "string",
          "info": "Filter to request all objects that are referred by another Avi resource. Its syntax is referred_by= : . Eg. get all pools referred_by virtual service vs1 - referred_by=vi...(description truncated): string",
          "required": false,
          "schema": {
            "title": "referredBy",
            "type": "string"
          }
        },
        {
          "name": "fields",
          "type": "string",
          "info": "List of fields to be returned for the resource. Some fields like name, URL, uuid etc. are always returned.: string",
          "required": false,
          "schema": {
            "title": "fields",
            "type": "string"
          }
        },
        {
          "name": "includeName",
          "type": "boolean",
          "info": "All the Avi REST reference URIs have a name suffix as URI#name. It is useful to get the referenced resource name without performing get on that object.: boolean",
          "required": false,
          "schema": {
            "title": "includeName",
            "type": "boolean"
          }
        },
        {
          "name": "skipDefault",
          "type": "boolean",
          "info": "Default values are not set.: boolean",
          "required": false,
          "schema": {
            "title": "skipDefault",
            "type": "boolean"
          }
        },
        {
          "name": "joinSubresources",
          "type": "string",
          "info": "It automatically returns additional dependent resources like runtime. Eg. join_subresources=runtime.: string",
          "required": false,
          "schema": {
            "title": "joinSubresources",
            "type": "string"
          }
        },
        {
          "name": "cloudUuid",
          "type": "string",
          "info": "Filter to get objects that belongs to a specific cloud using its uuid. Eg. cloud_uuid=cloud-xyz.: string",
          "required": false,
          "schema": {
            "title": "cloudUuid",
            "type": "string"
          }
        },
        {
          "name": "cloudRefName",
          "type": "string",
          "info": "Filter to get objects that belongs to a specific cloud usings its name. This uses cloud name rather than uuid. Eg. cloud_ref.name=Default-Cloud.: string",
          "required": false,
          "schema": {
            "title": "cloudRefName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "NetworkApiResponse",
          "required": [
            "count",
            "results"
          ],
          "type": "object",
          "properties": {
            "count": {
              "type": "integer"
            },
            "results": {
              "type": "array",
              "items": {
                "title": "Network",
                "required": [
                  "name"
                ],
                "type": "object",
                "properties": {
                  "_last_modified": {
                    "type": "string",
                    "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
                  },
                  "attrs": {
                    "type": "array",
                    "items": {
                      "title": "KeyValue",
                      "required": [
                        "key"
                      ],
                      "type": "object",
                      "properties": {
                        "key": {
                          "type": "string",
                          "description": "Key."
                        },
                        "value": {
                          "type": "string",
                          "description": "Value."
                        }
                      }
                    },
                    "description": "Key/value network attributes. Field introduced in 20.1.1."
                  },
                  "cloud_ref": {
                    "type": "string",
                    "description": "It is a reference to an object of type Cloud."
                  },
                  "configured_subnets": {
                    "type": "array",
                    "items": {
                      "title": "Subnet",
                      "required": [
                        "prefix"
                      ],
                      "type": "object",
                      "properties": {
                        "prefix": {
                          "title": "IpAddrPrefix",
                          "required": [
                            "ip_addr",
                            "mask"
                          ],
                          "type": "object",
                          "properties": {
                            "ip_addr": {
                              "title": "IpAddr",
                              "required": [
                                "addr",
                                "type"
                              ],
                              "type": "object",
                              "properties": {
                                "addr": {
                                  "type": "string",
                                  "description": "IP address."
                                },
                                "type": {
                                  "type": "string",
                                  "description": "Enum options - V4, DNS, V6."
                                }
                              }
                            },
                            "mask": {
                              "type": "integer",
                              "description": "Number of mask."
                            }
                          }
                        },
                        "static_ips": {
                          "type": "array",
                          "items": {
                            "title": "IpAddr",
                            "required": [
                              "addr",
                              "type"
                            ],
                            "type": "object",
                            "properties": {
                              "addr": {
                                "type": "string",
                                "description": "IP address."
                              },
                              "type": {
                                "type": "string",
                                "description": "Enum options - V4, DNS, V6."
                              }
                            }
                          },
                          "description": "Specify a pool of IP addresses for use in Service Engines."
                        },
                        "static_ranges": {
                          "type": "array",
                          "items": {
                            "title": "IpAddrRange",
                            "required": [
                              "begin",
                              "end"
                            ],
                            "type": "object",
                            "properties": {
                              "begin": {
                                "title": "IpAddr",
                                "required": [
                                  "addr",
                                  "type"
                                ],
                                "type": "object",
                                "properties": {
                                  "addr": {
                                    "type": "string",
                                    "description": "IP address."
                                  },
                                  "type": {
                                    "type": "string",
                                    "description": "Enum options - V4, DNS, V6."
                                  }
                                }
                              },
                              "end": {
                                "title": "IpAddr",
                                "required": [
                                  "addr",
                                  "type"
                                ],
                                "type": "object",
                                "properties": {
                                  "addr": {
                                    "type": "string",
                                    "description": "IP address."
                                  },
                                  "type": {
                                    "type": "string",
                                    "description": "Enum options - V4, DNS, V6."
                                  }
                                }
                              }
                            }
                          },
                          "description": "Placeholder for description of property static_ranges of obj type Subnet field type str  type object"
                        }
                      }
                    },
                    "description": "Placeholder for description of property configured_subnets of obj type Network field type str  type object"
                  },
                  "dhcp_enabled": {
                    "type": "boolean",
                    "description": "Select the IP address management scheme for this Network.",
                    "default": true
                  },
                  "exclude_discovered_subnets": {
                    "type": "boolean",
                    "description": "When selected, excludes all discovered subnets in this network from consideration for virtual service placement."
                  },
                  "ip6_autocfg_enabled": {
                    "type": "boolean",
                    "description": "Enable IPv6 auto configuration. Field introduced in 18.1.1.",
                    "default": true
                  },
                  "labels": {
                    "type": "array",
                    "items": {
                      "title": "KeyValue",
                      "required": [
                        "key"
                      ],
                      "type": "object",
                      "properties": {
                        "key": {
                          "type": "string",
                          "description": "Key."
                        },
                        "value": {
                          "type": "string",
                          "description": "Value."
                        }
                      }
                    },
                    "description": "Key/value labels which can be used for Object Access Policy permission scoping. Field introduced in 18.2.7, 20.1.1."
                  },
                  "name": {
                    "type": "string",
                    "description": "Name of the object."
                  },
                  "synced_from_se": {
                    "type": "boolean",
                    "description": "Placeholder for description of property synced_from_se of obj type Network field type str  type boolean"
                  },
                  "tenant_ref": {
                    "type": "string",
                    "description": "It is a reference to an object of type Tenant."
                  },
                  "url": {
                    "type": "string",
                    "description": "url"
                  },
                  "uuid": {
                    "type": "string",
                    "description": "Unique object identifier of the object."
                  },
                  "vcenter_dvs": {
                    "type": "boolean",
                    "description": "Placeholder for description of property vcenter_dvs of obj type Network field type str  type boolean",
                    "default": true
                  },
                  "vimgrnw_ref": {
                    "type": "string",
                    "description": "It is a reference to an object of type VIMgrNWRuntime."
                  },
                  "vrf_context_ref": {
                    "type": "string",
                    "description": "It is a reference to an object of type VrfContext."
                  }
                }
              },
              "description": ""
            },
            "next": {
              "type": "string"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/networkGET"
      },
      "task": true
    },
    {
      "name": "networkPOST",
      "summary": "Network_POST",
      "description": "Network_POST",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "Network object creation: {\"_last_modified\": \"string\", \"attrs\": [{\"key\": \"string\", \"value\": \"string\"}], \"cloud_ref\": \"string\", \"configured_subnets\": [{\"prefix\": {\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}, \"static_ips\": [{\"addr\": \"string\", \"type\": \"string\"}], \"static_ranges\": [{\"begin\": {\"addr\": \"string\", \"type\": \"string\"}, \"end\": {\"addr\": \"string\", \"type\": \"string\"}}]}], \"dhcp_enabled\": \"boolean\", \"exclude_discovered_subnets\": \"boolean\", \"ip6_autocfg_enabled\": \"boolean\", \"labels\": [{\"key\": \"string\", \"value\": \"string\"}], \"name\": \"string\", \"synced_from_se\": \"boolean\", \"tenant_ref\": \"string\", \"url\": \"string\", \"uuid\": \"string\", \"vcenter_dvs\": \"boolean\", \"vimgrnw_ref\": \"string\", \"vrf_context_ref\": \"string\"}",
          "required": true,
          "schema": {
            "title": "Network",
            "required": [
              "name"
            ],
            "type": "object",
            "properties": {
              "_last_modified": {
                "type": "string",
                "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
              },
              "attrs": {
                "type": "array",
                "items": {
                  "title": "KeyValue",
                  "required": [
                    "key"
                  ],
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string",
                      "description": "Key."
                    },
                    "value": {
                      "type": "string",
                      "description": "Value."
                    }
                  }
                },
                "description": "Key/value network attributes. Field introduced in 20.1.1."
              },
              "cloud_ref": {
                "type": "string",
                "description": "It is a reference to an object of type Cloud."
              },
              "configured_subnets": {
                "type": "array",
                "items": {
                  "title": "Subnet",
                  "required": [
                    "prefix"
                  ],
                  "type": "object",
                  "properties": {
                    "prefix": {
                      "title": "IpAddrPrefix",
                      "required": [
                        "ip_addr",
                        "mask"
                      ],
                      "type": "object",
                      "properties": {
                        "ip_addr": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "mask": {
                          "type": "integer",
                          "description": "Number of mask."
                        }
                      }
                    },
                    "static_ips": {
                      "type": "array",
                      "items": {
                        "title": "IpAddr",
                        "required": [
                          "addr",
                          "type"
                        ],
                        "type": "object",
                        "properties": {
                          "addr": {
                            "type": "string",
                            "description": "IP address."
                          },
                          "type": {
                            "type": "string",
                            "description": "Enum options - V4, DNS, V6."
                          }
                        }
                      },
                      "description": "Specify a pool of IP addresses for use in Service Engines."
                    },
                    "static_ranges": {
                      "type": "array",
                      "items": {
                        "title": "IpAddrRange",
                        "required": [
                          "begin",
                          "end"
                        ],
                        "type": "object",
                        "properties": {
                          "begin": {
                            "title": "IpAddr",
                            "required": [
                              "addr",
                              "type"
                            ],
                            "type": "object",
                            "properties": {
                              "addr": {
                                "type": "string",
                                "description": "IP address."
                              },
                              "type": {
                                "type": "string",
                                "description": "Enum options - V4, DNS, V6."
                              }
                            }
                          },
                          "end": {
                            "title": "IpAddr",
                            "required": [
                              "addr",
                              "type"
                            ],
                            "type": "object",
                            "properties": {
                              "addr": {
                                "type": "string",
                                "description": "IP address."
                              },
                              "type": {
                                "type": "string",
                                "description": "Enum options - V4, DNS, V6."
                              }
                            }
                          }
                        }
                      },
                      "description": "Placeholder for description of property static_ranges of obj type Subnet field type str  type object"
                    }
                  }
                },
                "description": "Placeholder for description of property configured_subnets of obj type Network field type str  type object"
              },
              "dhcp_enabled": {
                "type": "boolean",
                "description": "Select the IP address management scheme for this Network.",
                "default": true
              },
              "exclude_discovered_subnets": {
                "type": "boolean",
                "description": "When selected, excludes all discovered subnets in this network from consideration for virtual service placement."
              },
              "ip6_autocfg_enabled": {
                "type": "boolean",
                "description": "Enable IPv6 auto configuration. Field introduced in 18.1.1.",
                "default": true
              },
              "labels": {
                "type": "array",
                "items": {
                  "title": "KeyValue",
                  "required": [
                    "key"
                  ],
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string",
                      "description": "Key."
                    },
                    "value": {
                      "type": "string",
                      "description": "Value."
                    }
                  }
                },
                "description": "Key/value labels which can be used for Object Access Policy permission scoping. Field introduced in 18.2.7, 20.1.1."
              },
              "name": {
                "type": "string",
                "description": "Name of the object."
              },
              "synced_from_se": {
                "type": "boolean",
                "description": "Placeholder for description of property synced_from_se of obj type Network field type str  type boolean"
              },
              "tenant_ref": {
                "type": "string",
                "description": "It is a reference to an object of type Tenant."
              },
              "url": {
                "type": "string",
                "description": "url"
              },
              "uuid": {
                "type": "string",
                "description": "Unique object identifier of the object."
              },
              "vcenter_dvs": {
                "type": "boolean",
                "description": "Placeholder for description of property vcenter_dvs of obj type Network field type str  type boolean",
                "default": true
              },
              "vimgrnw_ref": {
                "type": "string",
                "description": "It is a reference to an object of type VIMgrNWRuntime."
              },
              "vrf_context_ref": {
                "type": "string",
                "description": "It is a reference to an object of type VrfContext."
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "Network",
          "required": [
            "name"
          ],
          "type": "object",
          "properties": {
            "_last_modified": {
              "type": "string",
              "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
            },
            "attrs": {
              "type": "array",
              "items": {
                "title": "KeyValue",
                "required": [
                  "key"
                ],
                "type": "object",
                "properties": {
                  "key": {
                    "type": "string",
                    "description": "Key."
                  },
                  "value": {
                    "type": "string",
                    "description": "Value."
                  }
                }
              },
              "description": "Key/value network attributes. Field introduced in 20.1.1."
            },
            "cloud_ref": {
              "type": "string",
              "description": "It is a reference to an object of type Cloud."
            },
            "configured_subnets": {
              "type": "array",
              "items": {
                "title": "Subnet",
                "required": [
                  "prefix"
                ],
                "type": "object",
                "properties": {
                  "prefix": {
                    "title": "IpAddrPrefix",
                    "required": [
                      "ip_addr",
                      "mask"
                    ],
                    "type": "object",
                    "properties": {
                      "ip_addr": {
                        "title": "IpAddr",
                        "required": [
                          "addr",
                          "type"
                        ],
                        "type": "object",
                        "properties": {
                          "addr": {
                            "type": "string",
                            "description": "IP address."
                          },
                          "type": {
                            "type": "string",
                            "description": "Enum options - V4, DNS, V6."
                          }
                        }
                      },
                      "mask": {
                        "type": "integer",
                        "description": "Number of mask."
                      }
                    }
                  },
                  "static_ips": {
                    "type": "array",
                    "items": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "description": "Specify a pool of IP addresses for use in Service Engines."
                  },
                  "static_ranges": {
                    "type": "array",
                    "items": {
                      "title": "IpAddrRange",
                      "required": [
                        "begin",
                        "end"
                      ],
                      "type": "object",
                      "properties": {
                        "begin": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "end": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        }
                      }
                    },
                    "description": "Placeholder for description of property static_ranges of obj type Subnet field type str  type object"
                  }
                }
              },
              "description": "Placeholder for description of property configured_subnets of obj type Network field type str  type object"
            },
            "dhcp_enabled": {
              "type": "boolean",
              "description": "Select the IP address management scheme for this Network.",
              "default": true
            },
            "exclude_discovered_subnets": {
              "type": "boolean",
              "description": "When selected, excludes all discovered subnets in this network from consideration for virtual service placement."
            },
            "ip6_autocfg_enabled": {
              "type": "boolean",
              "description": "Enable IPv6 auto configuration. Field introduced in 18.1.1.",
              "default": true
            },
            "labels": {
              "type": "array",
              "items": {
                "title": "KeyValue",
                "required": [
                  "key"
                ],
                "type": "object",
                "properties": {
                  "key": {
                    "type": "string",
                    "description": "Key."
                  },
                  "value": {
                    "type": "string",
                    "description": "Value."
                  }
                }
              },
              "description": "Key/value labels which can be used for Object Access Policy permission scoping. Field introduced in 18.2.7, 20.1.1."
            },
            "name": {
              "type": "string",
              "description": "Name of the object."
            },
            "synced_from_se": {
              "type": "boolean",
              "description": "Placeholder for description of property synced_from_se of obj type Network field type str  type boolean"
            },
            "tenant_ref": {
              "type": "string",
              "description": "It is a reference to an object of type Tenant."
            },
            "url": {
              "type": "string",
              "description": "url"
            },
            "uuid": {
              "type": "string",
              "description": "Unique object identifier of the object."
            },
            "vcenter_dvs": {
              "type": "boolean",
              "description": "Placeholder for description of property vcenter_dvs of obj type Network field type str  type boolean",
              "default": true
            },
            "vimgrnw_ref": {
              "type": "string",
              "description": "It is a reference to an object of type VIMgrNWRuntime."
            },
            "vrf_context_ref": {
              "type": "string",
              "description": "It is a reference to an object of type VrfContext."
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/networkPOST"
      },
      "task": true
    },
    {
      "name": "networkByUuidGET",
      "summary": "NetworkByUuid_GET",
      "description": "NetworkByUuid_GET",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "object name: string",
          "required": false,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "fields",
          "type": "string",
          "info": "List of fields to be returned for the resource. Some fields like name, URL, uuid etc. are always returned.: string",
          "required": false,
          "schema": {
            "title": "fields",
            "type": "string"
          }
        },
        {
          "name": "includeName",
          "type": "boolean",
          "info": "All the Avi REST reference URIs have a name suffix as URI#name. It is useful to get the referenced resource name without performing get on that object.: boolean",
          "required": false,
          "schema": {
            "title": "includeName",
            "type": "boolean"
          }
        },
        {
          "name": "skipDefault",
          "type": "boolean",
          "info": "Default values are not set.: boolean",
          "required": false,
          "schema": {
            "title": "skipDefault",
            "type": "boolean"
          }
        },
        {
          "name": "joinSubresources",
          "type": "string",
          "info": "It automatically returns additional dependent resources like runtime. Eg. join_subresources=runtime.: string",
          "required": false,
          "schema": {
            "title": "joinSubresources",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "Network",
          "required": [
            "name"
          ],
          "type": "object",
          "properties": {
            "_last_modified": {
              "type": "string",
              "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
            },
            "attrs": {
              "type": "array",
              "items": {
                "title": "KeyValue",
                "required": [
                  "key"
                ],
                "type": "object",
                "properties": {
                  "key": {
                    "type": "string",
                    "description": "Key."
                  },
                  "value": {
                    "type": "string",
                    "description": "Value."
                  }
                }
              },
              "description": "Key/value network attributes. Field introduced in 20.1.1."
            },
            "cloud_ref": {
              "type": "string",
              "description": "It is a reference to an object of type Cloud."
            },
            "configured_subnets": {
              "type": "array",
              "items": {
                "title": "Subnet",
                "required": [
                  "prefix"
                ],
                "type": "object",
                "properties": {
                  "prefix": {
                    "title": "IpAddrPrefix",
                    "required": [
                      "ip_addr",
                      "mask"
                    ],
                    "type": "object",
                    "properties": {
                      "ip_addr": {
                        "title": "IpAddr",
                        "required": [
                          "addr",
                          "type"
                        ],
                        "type": "object",
                        "properties": {
                          "addr": {
                            "type": "string",
                            "description": "IP address."
                          },
                          "type": {
                            "type": "string",
                            "description": "Enum options - V4, DNS, V6."
                          }
                        }
                      },
                      "mask": {
                        "type": "integer",
                        "description": "Number of mask."
                      }
                    }
                  },
                  "static_ips": {
                    "type": "array",
                    "items": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "description": "Specify a pool of IP addresses for use in Service Engines."
                  },
                  "static_ranges": {
                    "type": "array",
                    "items": {
                      "title": "IpAddrRange",
                      "required": [
                        "begin",
                        "end"
                      ],
                      "type": "object",
                      "properties": {
                        "begin": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "end": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        }
                      }
                    },
                    "description": "Placeholder for description of property static_ranges of obj type Subnet field type str  type object"
                  }
                }
              },
              "description": "Placeholder for description of property configured_subnets of obj type Network field type str  type object"
            },
            "dhcp_enabled": {
              "type": "boolean",
              "description": "Select the IP address management scheme for this Network.",
              "default": true
            },
            "exclude_discovered_subnets": {
              "type": "boolean",
              "description": "When selected, excludes all discovered subnets in this network from consideration for virtual service placement."
            },
            "ip6_autocfg_enabled": {
              "type": "boolean",
              "description": "Enable IPv6 auto configuration. Field introduced in 18.1.1.",
              "default": true
            },
            "labels": {
              "type": "array",
              "items": {
                "title": "KeyValue",
                "required": [
                  "key"
                ],
                "type": "object",
                "properties": {
                  "key": {
                    "type": "string",
                    "description": "Key."
                  },
                  "value": {
                    "type": "string",
                    "description": "Value."
                  }
                }
              },
              "description": "Key/value labels which can be used for Object Access Policy permission scoping. Field introduced in 18.2.7, 20.1.1."
            },
            "name": {
              "type": "string",
              "description": "Name of the object."
            },
            "synced_from_se": {
              "type": "boolean",
              "description": "Placeholder for description of property synced_from_se of obj type Network field type str  type boolean"
            },
            "tenant_ref": {
              "type": "string",
              "description": "It is a reference to an object of type Tenant."
            },
            "url": {
              "type": "string",
              "description": "url"
            },
            "uuid": {
              "type": "string",
              "description": "Unique object identifier of the object."
            },
            "vcenter_dvs": {
              "type": "boolean",
              "description": "Placeholder for description of property vcenter_dvs of obj type Network field type str  type boolean",
              "default": true
            },
            "vimgrnw_ref": {
              "type": "string",
              "description": "It is a reference to an object of type VIMgrNWRuntime."
            },
            "vrf_context_ref": {
              "type": "string",
              "description": "It is a reference to an object of type VrfContext."
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/networkByUuidGET"
      },
      "task": true
    },
    {
      "name": "networkByUuidPUT",
      "summary": "NetworkByUuid_PUT",
      "description": "NetworkByUuid_PUT",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "object name: string",
          "required": false,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "Network object creation: {\"_last_modified\": \"string\", \"attrs\": [{\"key\": \"string\", \"value\": \"string\"}], \"cloud_ref\": \"string\", \"configured_subnets\": [{\"prefix\": {\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}, \"static_ips\": [{\"addr\": \"string\", \"type\": \"string\"}], \"static_ranges\": [{\"begin\": {\"addr\": \"string\", \"type\": \"string\"}, \"end\": {\"addr\": \"string\", \"type\": \"string\"}}]}], \"dhcp_enabled\": \"boolean\", \"exclude_discovered_subnets\": \"boolean\", \"ip6_autocfg_enabled\": \"boolean\", \"labels\": [{\"key\": \"string\", \"value\": \"string\"}], \"name\": \"string\", \"synced_from_se\": \"boolean\", \"tenant_ref\": \"string\", \"url\": \"string\", \"uuid\": \"string\", \"vcenter_dvs\": \"boolean\", \"vimgrnw_ref\": \"string\", \"vrf_context_ref\": \"string\"}",
          "required": true,
          "schema": {
            "title": "Network",
            "required": [
              "name"
            ],
            "type": "object",
            "properties": {
              "_last_modified": {
                "type": "string",
                "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
              },
              "attrs": {
                "type": "array",
                "items": {
                  "title": "KeyValue",
                  "required": [
                    "key"
                  ],
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string",
                      "description": "Key."
                    },
                    "value": {
                      "type": "string",
                      "description": "Value."
                    }
                  }
                },
                "description": "Key/value network attributes. Field introduced in 20.1.1."
              },
              "cloud_ref": {
                "type": "string",
                "description": "It is a reference to an object of type Cloud."
              },
              "configured_subnets": {
                "type": "array",
                "items": {
                  "title": "Subnet",
                  "required": [
                    "prefix"
                  ],
                  "type": "object",
                  "properties": {
                    "prefix": {
                      "title": "IpAddrPrefix",
                      "required": [
                        "ip_addr",
                        "mask"
                      ],
                      "type": "object",
                      "properties": {
                        "ip_addr": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "mask": {
                          "type": "integer",
                          "description": "Number of mask."
                        }
                      }
                    },
                    "static_ips": {
                      "type": "array",
                      "items": {
                        "title": "IpAddr",
                        "required": [
                          "addr",
                          "type"
                        ],
                        "type": "object",
                        "properties": {
                          "addr": {
                            "type": "string",
                            "description": "IP address."
                          },
                          "type": {
                            "type": "string",
                            "description": "Enum options - V4, DNS, V6."
                          }
                        }
                      },
                      "description": "Specify a pool of IP addresses for use in Service Engines."
                    },
                    "static_ranges": {
                      "type": "array",
                      "items": {
                        "title": "IpAddrRange",
                        "required": [
                          "begin",
                          "end"
                        ],
                        "type": "object",
                        "properties": {
                          "begin": {
                            "title": "IpAddr",
                            "required": [
                              "addr",
                              "type"
                            ],
                            "type": "object",
                            "properties": {
                              "addr": {
                                "type": "string",
                                "description": "IP address."
                              },
                              "type": {
                                "type": "string",
                                "description": "Enum options - V4, DNS, V6."
                              }
                            }
                          },
                          "end": {
                            "title": "IpAddr",
                            "required": [
                              "addr",
                              "type"
                            ],
                            "type": "object",
                            "properties": {
                              "addr": {
                                "type": "string",
                                "description": "IP address."
                              },
                              "type": {
                                "type": "string",
                                "description": "Enum options - V4, DNS, V6."
                              }
                            }
                          }
                        }
                      },
                      "description": "Placeholder for description of property static_ranges of obj type Subnet field type str  type object"
                    }
                  }
                },
                "description": "Placeholder for description of property configured_subnets of obj type Network field type str  type object"
              },
              "dhcp_enabled": {
                "type": "boolean",
                "description": "Select the IP address management scheme for this Network.",
                "default": true
              },
              "exclude_discovered_subnets": {
                "type": "boolean",
                "description": "When selected, excludes all discovered subnets in this network from consideration for virtual service placement."
              },
              "ip6_autocfg_enabled": {
                "type": "boolean",
                "description": "Enable IPv6 auto configuration. Field introduced in 18.1.1.",
                "default": true
              },
              "labels": {
                "type": "array",
                "items": {
                  "title": "KeyValue",
                  "required": [
                    "key"
                  ],
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string",
                      "description": "Key."
                    },
                    "value": {
                      "type": "string",
                      "description": "Value."
                    }
                  }
                },
                "description": "Key/value labels which can be used for Object Access Policy permission scoping. Field introduced in 18.2.7, 20.1.1."
              },
              "name": {
                "type": "string",
                "description": "Name of the object."
              },
              "synced_from_se": {
                "type": "boolean",
                "description": "Placeholder for description of property synced_from_se of obj type Network field type str  type boolean"
              },
              "tenant_ref": {
                "type": "string",
                "description": "It is a reference to an object of type Tenant."
              },
              "url": {
                "type": "string",
                "description": "url"
              },
              "uuid": {
                "type": "string",
                "description": "Unique object identifier of the object."
              },
              "vcenter_dvs": {
                "type": "boolean",
                "description": "Placeholder for description of property vcenter_dvs of obj type Network field type str  type boolean",
                "default": true
              },
              "vimgrnw_ref": {
                "type": "string",
                "description": "It is a reference to an object of type VIMgrNWRuntime."
              },
              "vrf_context_ref": {
                "type": "string",
                "description": "It is a reference to an object of type VrfContext."
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "Network",
          "required": [
            "name"
          ],
          "type": "object",
          "properties": {
            "_last_modified": {
              "type": "string",
              "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
            },
            "attrs": {
              "type": "array",
              "items": {
                "title": "KeyValue",
                "required": [
                  "key"
                ],
                "type": "object",
                "properties": {
                  "key": {
                    "type": "string",
                    "description": "Key."
                  },
                  "value": {
                    "type": "string",
                    "description": "Value."
                  }
                }
              },
              "description": "Key/value network attributes. Field introduced in 20.1.1."
            },
            "cloud_ref": {
              "type": "string",
              "description": "It is a reference to an object of type Cloud."
            },
            "configured_subnets": {
              "type": "array",
              "items": {
                "title": "Subnet",
                "required": [
                  "prefix"
                ],
                "type": "object",
                "properties": {
                  "prefix": {
                    "title": "IpAddrPrefix",
                    "required": [
                      "ip_addr",
                      "mask"
                    ],
                    "type": "object",
                    "properties": {
                      "ip_addr": {
                        "title": "IpAddr",
                        "required": [
                          "addr",
                          "type"
                        ],
                        "type": "object",
                        "properties": {
                          "addr": {
                            "type": "string",
                            "description": "IP address."
                          },
                          "type": {
                            "type": "string",
                            "description": "Enum options - V4, DNS, V6."
                          }
                        }
                      },
                      "mask": {
                        "type": "integer",
                        "description": "Number of mask."
                      }
                    }
                  },
                  "static_ips": {
                    "type": "array",
                    "items": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "description": "Specify a pool of IP addresses for use in Service Engines."
                  },
                  "static_ranges": {
                    "type": "array",
                    "items": {
                      "title": "IpAddrRange",
                      "required": [
                        "begin",
                        "end"
                      ],
                      "type": "object",
                      "properties": {
                        "begin": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "end": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        }
                      }
                    },
                    "description": "Placeholder for description of property static_ranges of obj type Subnet field type str  type object"
                  }
                }
              },
              "description": "Placeholder for description of property configured_subnets of obj type Network field type str  type object"
            },
            "dhcp_enabled": {
              "type": "boolean",
              "description": "Select the IP address management scheme for this Network.",
              "default": true
            },
            "exclude_discovered_subnets": {
              "type": "boolean",
              "description": "When selected, excludes all discovered subnets in this network from consideration for virtual service placement."
            },
            "ip6_autocfg_enabled": {
              "type": "boolean",
              "description": "Enable IPv6 auto configuration. Field introduced in 18.1.1.",
              "default": true
            },
            "labels": {
              "type": "array",
              "items": {
                "title": "KeyValue",
                "required": [
                  "key"
                ],
                "type": "object",
                "properties": {
                  "key": {
                    "type": "string",
                    "description": "Key."
                  },
                  "value": {
                    "type": "string",
                    "description": "Value."
                  }
                }
              },
              "description": "Key/value labels which can be used for Object Access Policy permission scoping. Field introduced in 18.2.7, 20.1.1."
            },
            "name": {
              "type": "string",
              "description": "Name of the object."
            },
            "synced_from_se": {
              "type": "boolean",
              "description": "Placeholder for description of property synced_from_se of obj type Network field type str  type boolean"
            },
            "tenant_ref": {
              "type": "string",
              "description": "It is a reference to an object of type Tenant."
            },
            "url": {
              "type": "string",
              "description": "url"
            },
            "uuid": {
              "type": "string",
              "description": "Unique object identifier of the object."
            },
            "vcenter_dvs": {
              "type": "boolean",
              "description": "Placeholder for description of property vcenter_dvs of obj type Network field type str  type boolean",
              "default": true
            },
            "vimgrnw_ref": {
              "type": "string",
              "description": "It is a reference to an object of type VIMgrNWRuntime."
            },
            "vrf_context_ref": {
              "type": "string",
              "description": "It is a reference to an object of type VrfContext."
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/networkByUuidPUT"
      },
      "task": true
    },
    {
      "name": "networkByUuidPATCH",
      "summary": "NetworkByUuid_PATCH",
      "description": "NetworkByUuid_PATCH",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "object name: string",
          "required": false,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "Network object creation: {\"_last_modified\": \"string\", \"attrs\": [{\"key\": \"string\", \"value\": \"string\"}], \"cloud_ref\": \"string\", \"configured_subnets\": [{\"prefix\": {\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}, \"static_ips\": [{\"addr\": \"string\", \"type\": \"string\"}], \"static_ranges\": [{\"begin\": {\"addr\": \"string\", \"type\": \"string\"}, \"end\": {\"addr\": \"string\", \"type\": \"string\"}}]}], \"dhcp_enabled\": \"boolean\", \"exclude_discovered_subnets\": \"boolean\", \"ip6_autocfg_enabled\": \"boolean\", \"labels\": [{\"key\": \"string\", \"value\": \"string\"}], \"name\": \"string\", \"synced_from_se\": \"boolean\", \"tenant_ref\": \"string\", \"url\": \"string\", \"uuid\": \"string\", \"vcenter_dvs\": \"boolean\", \"vimgrnw_ref\": \"string\", \"vrf_context_ref\": \"string\"}",
          "required": true,
          "schema": {
            "title": "Network",
            "required": [
              "name"
            ],
            "type": "object",
            "properties": {
              "_last_modified": {
                "type": "string",
                "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
              },
              "attrs": {
                "type": "array",
                "items": {
                  "title": "KeyValue",
                  "required": [
                    "key"
                  ],
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string",
                      "description": "Key."
                    },
                    "value": {
                      "type": "string",
                      "description": "Value."
                    }
                  }
                },
                "description": "Key/value network attributes. Field introduced in 20.1.1."
              },
              "cloud_ref": {
                "type": "string",
                "description": "It is a reference to an object of type Cloud."
              },
              "configured_subnets": {
                "type": "array",
                "items": {
                  "title": "Subnet",
                  "required": [
                    "prefix"
                  ],
                  "type": "object",
                  "properties": {
                    "prefix": {
                      "title": "IpAddrPrefix",
                      "required": [
                        "ip_addr",
                        "mask"
                      ],
                      "type": "object",
                      "properties": {
                        "ip_addr": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "mask": {
                          "type": "integer",
                          "description": "Number of mask."
                        }
                      }
                    },
                    "static_ips": {
                      "type": "array",
                      "items": {
                        "title": "IpAddr",
                        "required": [
                          "addr",
                          "type"
                        ],
                        "type": "object",
                        "properties": {
                          "addr": {
                            "type": "string",
                            "description": "IP address."
                          },
                          "type": {
                            "type": "string",
                            "description": "Enum options - V4, DNS, V6."
                          }
                        }
                      },
                      "description": "Specify a pool of IP addresses for use in Service Engines."
                    },
                    "static_ranges": {
                      "type": "array",
                      "items": {
                        "title": "IpAddrRange",
                        "required": [
                          "begin",
                          "end"
                        ],
                        "type": "object",
                        "properties": {
                          "begin": {
                            "title": "IpAddr",
                            "required": [
                              "addr",
                              "type"
                            ],
                            "type": "object",
                            "properties": {
                              "addr": {
                                "type": "string",
                                "description": "IP address."
                              },
                              "type": {
                                "type": "string",
                                "description": "Enum options - V4, DNS, V6."
                              }
                            }
                          },
                          "end": {
                            "title": "IpAddr",
                            "required": [
                              "addr",
                              "type"
                            ],
                            "type": "object",
                            "properties": {
                              "addr": {
                                "type": "string",
                                "description": "IP address."
                              },
                              "type": {
                                "type": "string",
                                "description": "Enum options - V4, DNS, V6."
                              }
                            }
                          }
                        }
                      },
                      "description": "Placeholder for description of property static_ranges of obj type Subnet field type str  type object"
                    }
                  }
                },
                "description": "Placeholder for description of property configured_subnets of obj type Network field type str  type object"
              },
              "dhcp_enabled": {
                "type": "boolean",
                "description": "Select the IP address management scheme for this Network.",
                "default": true
              },
              "exclude_discovered_subnets": {
                "type": "boolean",
                "description": "When selected, excludes all discovered subnets in this network from consideration for virtual service placement."
              },
              "ip6_autocfg_enabled": {
                "type": "boolean",
                "description": "Enable IPv6 auto configuration. Field introduced in 18.1.1.",
                "default": true
              },
              "labels": {
                "type": "array",
                "items": {
                  "title": "KeyValue",
                  "required": [
                    "key"
                  ],
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string",
                      "description": "Key."
                    },
                    "value": {
                      "type": "string",
                      "description": "Value."
                    }
                  }
                },
                "description": "Key/value labels which can be used for Object Access Policy permission scoping. Field introduced in 18.2.7, 20.1.1."
              },
              "name": {
                "type": "string",
                "description": "Name of the object."
              },
              "synced_from_se": {
                "type": "boolean",
                "description": "Placeholder for description of property synced_from_se of obj type Network field type str  type boolean"
              },
              "tenant_ref": {
                "type": "string",
                "description": "It is a reference to an object of type Tenant."
              },
              "url": {
                "type": "string",
                "description": "url"
              },
              "uuid": {
                "type": "string",
                "description": "Unique object identifier of the object."
              },
              "vcenter_dvs": {
                "type": "boolean",
                "description": "Placeholder for description of property vcenter_dvs of obj type Network field type str  type boolean",
                "default": true
              },
              "vimgrnw_ref": {
                "type": "string",
                "description": "It is a reference to an object of type VIMgrNWRuntime."
              },
              "vrf_context_ref": {
                "type": "string",
                "description": "It is a reference to an object of type VrfContext."
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "Network",
          "required": [
            "name"
          ],
          "type": "object",
          "properties": {
            "_last_modified": {
              "type": "string",
              "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
            },
            "attrs": {
              "type": "array",
              "items": {
                "title": "KeyValue",
                "required": [
                  "key"
                ],
                "type": "object",
                "properties": {
                  "key": {
                    "type": "string",
                    "description": "Key."
                  },
                  "value": {
                    "type": "string",
                    "description": "Value."
                  }
                }
              },
              "description": "Key/value network attributes. Field introduced in 20.1.1."
            },
            "cloud_ref": {
              "type": "string",
              "description": "It is a reference to an object of type Cloud."
            },
            "configured_subnets": {
              "type": "array",
              "items": {
                "title": "Subnet",
                "required": [
                  "prefix"
                ],
                "type": "object",
                "properties": {
                  "prefix": {
                    "title": "IpAddrPrefix",
                    "required": [
                      "ip_addr",
                      "mask"
                    ],
                    "type": "object",
                    "properties": {
                      "ip_addr": {
                        "title": "IpAddr",
                        "required": [
                          "addr",
                          "type"
                        ],
                        "type": "object",
                        "properties": {
                          "addr": {
                            "type": "string",
                            "description": "IP address."
                          },
                          "type": {
                            "type": "string",
                            "description": "Enum options - V4, DNS, V6."
                          }
                        }
                      },
                      "mask": {
                        "type": "integer",
                        "description": "Number of mask."
                      }
                    }
                  },
                  "static_ips": {
                    "type": "array",
                    "items": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "description": "Specify a pool of IP addresses for use in Service Engines."
                  },
                  "static_ranges": {
                    "type": "array",
                    "items": {
                      "title": "IpAddrRange",
                      "required": [
                        "begin",
                        "end"
                      ],
                      "type": "object",
                      "properties": {
                        "begin": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "end": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        }
                      }
                    },
                    "description": "Placeholder for description of property static_ranges of obj type Subnet field type str  type object"
                  }
                }
              },
              "description": "Placeholder for description of property configured_subnets of obj type Network field type str  type object"
            },
            "dhcp_enabled": {
              "type": "boolean",
              "description": "Select the IP address management scheme for this Network.",
              "default": true
            },
            "exclude_discovered_subnets": {
              "type": "boolean",
              "description": "When selected, excludes all discovered subnets in this network from consideration for virtual service placement."
            },
            "ip6_autocfg_enabled": {
              "type": "boolean",
              "description": "Enable IPv6 auto configuration. Field introduced in 18.1.1.",
              "default": true
            },
            "labels": {
              "type": "array",
              "items": {
                "title": "KeyValue",
                "required": [
                  "key"
                ],
                "type": "object",
                "properties": {
                  "key": {
                    "type": "string",
                    "description": "Key."
                  },
                  "value": {
                    "type": "string",
                    "description": "Value."
                  }
                }
              },
              "description": "Key/value labels which can be used for Object Access Policy permission scoping. Field introduced in 18.2.7, 20.1.1."
            },
            "name": {
              "type": "string",
              "description": "Name of the object."
            },
            "synced_from_se": {
              "type": "boolean",
              "description": "Placeholder for description of property synced_from_se of obj type Network field type str  type boolean"
            },
            "tenant_ref": {
              "type": "string",
              "description": "It is a reference to an object of type Tenant."
            },
            "url": {
              "type": "string",
              "description": "url"
            },
            "uuid": {
              "type": "string",
              "description": "Unique object identifier of the object."
            },
            "vcenter_dvs": {
              "type": "boolean",
              "description": "Placeholder for description of property vcenter_dvs of obj type Network field type str  type boolean",
              "default": true
            },
            "vimgrnw_ref": {
              "type": "string",
              "description": "It is a reference to an object of type VIMgrNWRuntime."
            },
            "vrf_context_ref": {
              "type": "string",
              "description": "It is a reference to an object of type VrfContext."
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/networkByUuidPATCH"
      },
      "task": true
    },
    {
      "name": "networkByUuidDELETE",
      "summary": "NetworkByUuid_DELETE",
      "description": "NetworkByUuid_DELETE",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "object name: string",
          "required": false,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/networkByUuidDELETE"
      },
      "task": true
    },
    {
      "name": "poolGET",
      "summary": "Pool_GET",
      "description": "Pool_GET",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "object name: string",
          "required": false,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "refersTo",
          "type": "string",
          "info": "Filter to request all objects that refers to another Avi resource. Its syntax is refers_to= : . Eg. get all virtual services referring to pool p1 will be refers_to=pool:p...(description truncated): string",
          "required": false,
          "schema": {
            "title": "refersTo",
            "type": "string"
          }
        },
        {
          "name": "referredBy",
          "type": "string",
          "info": "Filter to request all objects that are referred by another Avi resource. Its syntax is referred_by= : . Eg. get all pools referred_by virtual service vs1 - referred_by=vi...(description truncated): string",
          "required": false,
          "schema": {
            "title": "referredBy",
            "type": "string"
          }
        },
        {
          "name": "fields",
          "type": "string",
          "info": "List of fields to be returned for the resource. Some fields like name, URL, uuid etc. are always returned.: string",
          "required": false,
          "schema": {
            "title": "fields",
            "type": "string"
          }
        },
        {
          "name": "includeName",
          "type": "boolean",
          "info": "All the Avi REST reference URIs have a name suffix as URI#name. It is useful to get the referenced resource name without performing get on that object.: boolean",
          "required": false,
          "schema": {
            "title": "includeName",
            "type": "boolean"
          }
        },
        {
          "name": "skipDefault",
          "type": "boolean",
          "info": "Default values are not set.: boolean",
          "required": false,
          "schema": {
            "title": "skipDefault",
            "type": "boolean"
          }
        },
        {
          "name": "joinSubresources",
          "type": "string",
          "info": "It automatically returns additional dependent resources like runtime. Eg. join_subresources=runtime.: string",
          "required": false,
          "schema": {
            "title": "joinSubresources",
            "type": "string"
          }
        },
        {
          "name": "cloudUuid",
          "type": "string",
          "info": "Filter to get objects that belongs to a specific cloud using its uuid. Eg. cloud_uuid=cloud-xyz.: string",
          "required": false,
          "schema": {
            "title": "cloudUuid",
            "type": "string"
          }
        },
        {
          "name": "cloudRefName",
          "type": "string",
          "info": "Filter to get objects that belongs to a specific cloud usings its name. This uses cloud name rather than uuid. Eg. cloud_ref.name=Default-Cloud.: string",
          "required": false,
          "schema": {
            "title": "cloudRefName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "PoolApiResponse",
          "required": [
            "count",
            "results"
          ],
          "type": "object",
          "properties": {
            "count": {
              "type": "integer"
            },
            "results": {
              "type": "array",
              "items": {
                "title": "Pool",
                "required": [
                  "name"
                ],
                "type": "object",
                "properties": {
                  "_last_modified": {
                    "type": "string",
                    "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
                  },
                  "a_pool": {
                    "type": "string",
                    "description": "Name of container cloud application that constitutes A pool in a A-B pool configuration, if different from VS app. Field deprecated in 18.1.2."
                  },
                  "ab_pool": {
                    "title": "AbPool",
                    "required": [
                      "pool_ref"
                    ],
                    "type": "object",
                    "properties": {
                      "pool_ref": {
                        "type": "string",
                        "description": "Pool configured as B pool for A/B testing. It is a reference to an object of type Pool."
                      },
                      "ratio": {
                        "type": "integer",
                        "description": "Ratio of traffic diverted to the B pool, for A/B testing. Allowed values are 0-100."
                      }
                    }
                  },
                  "ab_priority": {
                    "type": "integer",
                    "description": "Priority of this pool in a A-B pool pair. Internally used. Field deprecated in 18.1.2."
                  },
                  "analytics_policy": {
                    "title": "PoolAnalyticsPolicy",
                    "type": "object",
                    "properties": {
                      "enable_realtime_metrics": {
                        "type": "boolean",
                        "description": "Enable real time metrics for server and pool metrics eg. l4_server.xxx, l7_server.xxx. Field introduced in 18.1.5, 18.2.1."
                      }
                    }
                  },
                  "analytics_profile_ref": {
                    "type": "string",
                    "description": "Specifies settings related to analytics. It is a reference to an object of type AnalyticsProfile. Field introduced in 18.1.4,18.2.1."
                  },
                  "apic_epg_name": {
                    "type": "string",
                    "description": "Synchronize Cisco APIC EPG members with pool servers."
                  },
                  "application_persistence_profile_ref": {
                    "type": "string",
                    "description": "Persistence will ensure the same user sticks to the same server for a desired duration of time. It is a reference to an object of type ApplicationPersistenceProfile."
                  },
                  "autoscale_launch_config_ref": {
                    "type": "string",
                    "description": "If configured then Avi will trigger orchestration of pool server creation and deletion. It is only supported for container clouds like Mesos, Opensift, Kubernates, Docker etc. It is a reference to an object of type AutoScaleLaunchConfig."
                  },
                  "autoscale_networks": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "Network Ids for the launch configuration."
                  },
                  "autoscale_policy_ref": {
                    "type": "string",
                    "description": "Reference to Server Autoscale Policy. It is a reference to an object of type ServerAutoScalePolicy."
                  },
                  "capacity_estimation": {
                    "type": "boolean",
                    "description": "Inline estimation of capacity of servers."
                  },
                  "capacity_estimation_ttfb_thresh": {
                    "type": "integer",
                    "description": "The maximum time-to-first-byte of a server. Allowed values are 1-5000. Special values are 0 - 'Automatic'."
                  },
                  "cloud_config_cksum": {
                    "type": "string",
                    "description": "Checksum of cloud configuration for Pool. Internally set by cloud connector."
                  },
                  "cloud_ref": {
                    "type": "string",
                    "description": "It is a reference to an object of type Cloud."
                  },
                  "conn_pool_properties": {
                    "title": "ConnPoolProperties",
                    "type": "object",
                    "properties": {
                      "upstream_connpool_conn_idle_tmo": {
                        "type": "integer",
                        "description": "Connection idle timeout. Field introduced in 18.2.1.",
                                "default": 60000
                      },
                      "upstream_connpool_conn_life_tmo": {
                        "type": "integer",
                        "description": "Connection life timeout. Field introduced in 18.2.1.",
                                "default": 600000
                      },
                      "upstream_connpool_conn_max_reuse": {
                        "type": "integer",
                        "description": "Maximum number of times a connection can be reused. Special values are 0- 'unlimited'. Field introduced in 18.2.1."
                      },
                      "upstream_connpool_server_max_cache": {
                        "type": "integer",
                        "description": "Maximum number of connections a server can cache. Special values are 0- 'unlimited'. Field introduced in 18.2.1."
                      }
                    }
                  },
                  "connection_ramp_duration": {
                    "type": "integer",
                    "description": "Duration for which new connections will be gradually ramped up to a server recently brought online.  Useful for LB algorithms that are least connection based. Allowed values are 1-300. Special values are 0 - 'Immediate'.",
                        "default": 10
                  },
                  "created_by": {
                    "type": "string",
                    "description": "Creator name."
                  },
                  "default_server_port": {
                    "type": "integer",
                    "description": "Traffic sent to servers will use this destination server port unless overridden by the server's specific port attribute. The SSL checkbox enables Avi to server encryption. Allowed values are 1-65535.",
                        "default": 80
                  },
                  "delete_server_on_dns_refresh": {
                    "type": "boolean",
                    "description": "Indicates whether existing IPs are disabled(false) or deleted(true) on dns hostname refreshDetail -- On a dns refresh, some IPs set on pool may no longer be returned by the resolver. These IPs are deleted from the pool when this knob is set to true. They are disabled, if the knob is set to false. Field introduced in 18.2.3.",
                    "default": true
                  },
                  "description": {
                    "type": "string",
                    "description": "A description of the pool."
                  },
                  "domain_name": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "Comma separated list of domain names which will be used to verify the common names or subject alternative names presented by server certificates. It is performed only when common name check host_check_enabled is enabled."
                  },
                  "east_west": {
                    "type": "boolean",
                    "description": "Inherited config from VirtualService."
                  },
                  "enable_http2": {
                    "type": "boolean",
                    "description": "Enable HTTP/2 for traffic from VirtualService to all backend servers in this pool. Field introduced in 20.1.1."
                  },
                  "enabled": {
                    "type": "boolean",
                    "description": "Enable or disable the pool.  Disabling will terminate all open connections and pause health monitors.",
                    "default": true
                  },
                  "external_autoscale_groups": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "Names of external auto-scale groups for pool servers. Currently available only for AWS and Azure. Field introduced in 17.1.2."
                  },
                  "fail_action": {
                    "title": "FailAction",
                    "required": [
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "backup_pool": {
                        "title": "FailActionBackupPool",
                        "required": [
                          "backup_pool_ref"
                        ],
                        "type": "object",
                        "properties": {
                          "backup_pool_ref": {
                            "type": "string",
                            "description": "Specifies the UUID of the Pool acting as backup pool. It is a reference to an object of type Pool."
                          }
                        }
                      },
                      "local_rsp": {
                        "title": "FailActionHTTPLocalResponse",
                        "type": "object",
                        "properties": {
                          "file": {
                            "title": "HTTPLocalFile",
                            "required": [
                              "content_type",
                              "file_content"
                            ],
                            "type": "object",
                            "properties": {
                              "content_type": {
                                "type": "string",
                                "description": "Mime-type of the content in the file."
                              },
                              "file_content": {
                                "type": "string",
                                "description": "File content to used in the local HTTP response body."
                              }
                            }
                          },
                          "status_code": {
                            "type": "string",
                            "description": "Enum options - FAIL_HTTP_STATUS_CODE_200, FAIL_HTTP_STATUS_CODE_503.",
                            "default": "FAIL_HTTP_STATUS_CODE_503"
                          }
                        }
                      },
                      "redirect": {
                        "title": "FailActionHTTPRedirect",
                        "required": [
                          "host"
                        ],
                        "type": "object",
                        "properties": {
                          "host": {
                            "type": "string",
                            "description": "host of FailActionHTTPRedirect."
                          },
                          "path": {
                            "type": "string",
                            "description": "path of FailActionHTTPRedirect."
                          },
                          "protocol": {
                            "type": "string",
                            "description": "Enum options - HTTP, HTTPS.",
                            "default": "HTTPS"
                          },
                          "query": {
                            "type": "string",
                            "description": "query of FailActionHTTPRedirect."
                          },
                          "status_code": {
                            "type": "string",
                            "description": "Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307.",
                            "default": "HTTP_REDIRECT_STATUS_CODE_302"
                          }
                        }
                      },
                      "type": {
                        "type": "string",
                        "description": "Enables a response to client when pool experiences a failure. By default TCP connection is closed. Enum options - FAIL_ACTION_HTTP_REDIRECT, FAIL_ACTION_HTTP_LOCAL_RSP, FAIL_ACTION_CLOSE_CONN, FAIL_ACTION_BACKUP_POOL.",
                        "example": "FAIL_ACTION_CLOSE_CONN"
                      }
                    }
                  },
                  "fewest_tasks_feedback_delay": {
                    "type": "integer",
                    "description": "Periodicity of feedback for fewest tasks server selection algorithm. Allowed values are 1-300.",
                        "default": 10
                  },
                  "graceful_disable_timeout": {
                    "type": "integer",
                    "description": "Used to gracefully disable a server. Virtual service waits for the specified time before terminating the existing connections  to the servers that are disabled. Allowed values are 1-7200. Special values are 0 - 'Immediate', -1 - 'Infinite'.",
                        "default": 1
                  },
                  "gslb_sp_enabled": {
                    "type": "boolean",
                    "description": "Indicates if the pool is a site-persistence pool. . Field introduced in 17.2.1."
                  },
                  "health_monitor_refs": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "Verify server health by applying one or more health monitors.  Active monitors generate synthetic traffic from each Service Engine and mark a server up or down based on the response. The Passive monitor listens only to client to server communication. It raises or lowers the ratio of traffic destined to a server based on successful responses. It is a reference to an object of type HealthMonitor."
                  },
                  "host_check_enabled": {
                    "type": "boolean",
                    "description": "Enable common name check for server certificate. If enabled and no explicit domain name is specified, Avi will use the incoming host header to do the match."
                  },
                  "ignore_server_port": {
                    "type": "boolean",
                    "description": "Ignore the server port in building the load balancing state.Applicable only for consistent hash load balancing algorithm or Disable Port translation (use_service_port) use cases. Field introduced in 20.1.1."
                  },
                  "inline_health_monitor": {
                    "type": "boolean",
                    "description": "The Passive monitor will monitor client to server connections and requests and adjust traffic load to servers based on successful responses.  This may alter the expected behavior of the LB method, such as Round Robin.",
                    "default": true
                  },
                  "ipaddrgroup_ref": {
                    "type": "string",
                    "description": "Use list of servers from Ip Address Group. It is a reference to an object of type IpAddrGroup."
                  },
                  "lb_algorithm": {
                    "type": "string",
                    "description": "The load balancing algorithm will pick a server within the pool's list of available servers. Enum options - LB_ALGORITHM_LEAST_CONNECTIONS, LB_ALGORITHM_ROUND_ROBIN, LB_ALGORITHM_FASTEST_RESPONSE, LB_ALGORITHM_CONSISTENT_HASH, LB_ALGORITHM_LEAST_LOAD, LB_ALGORITHM_FEWEST_SERVERS, LB_ALGORITHM_RANDOM, LB_ALGORITHM_FEWEST_TASKS, LB_ALGORITHM_NEAREST_SERVER, LB_ALGORITHM_CORE_AFFINITY, LB_ALGORITHM_TOPOLOGY.",
                    "default": "LB_ALGORITHM_LEAST_CONNECTIONS"
                  },
                  "lb_algorithm_consistent_hash_hdr": {
                    "type": "string",
                    "description": "HTTP header name to be used for the hash key."
                  },
                  "lb_algorithm_core_nonaffinity": {
                    "type": "integer",
                    "description": "Degree of non-affinity for core affinity based server selection. Allowed values are 1-65535. Field introduced in 17.1.3.",
                        "default": 2
                  },
                  "lb_algorithm_hash": {
                    "type": "string",
                    "description": "Criteria used as a key for determining the hash between the client and  server. Enum options - LB_ALGORITHM_CONSISTENT_HASH_SOURCE_IP_ADDRESS, LB_ALGORITHM_CONSISTENT_HASH_SOURCE_IP_ADDRESS_AND_PORT, LB_ALGORITHM_CONSISTENT_HASH_URI, LB_ALGORITHM_CONSISTENT_HASH_CUSTOM_HEADER, LB_ALGORITHM_CONSISTENT_HASH_CUSTOM_STRING, LB_ALGORITHM_CONSISTENT_HASH_CALLID.",
                    "default": "LB_ALGORITHM_CONSISTENT_HASH_SOURCE_IP_ADDRESS"
                  },
                  "lookup_server_by_name": {
                    "type": "boolean",
                    "description": "Allow server lookup by name. Field introduced in 17.1.11,17.2.4."
                  },
                  "max_concurrent_connections_per_server": {
                    "type": "integer",
                    "description": "The maximum number of concurrent connections allowed to each server within the pool. NOTE  applied value will be no less than the number of service engines that the pool is placed on. If set to 0, no limit is applied."
                  },
                  "max_conn_rate_per_server": {
                    "title": "RateProfile",
                    "required": [
                      "action"
                    ],
                    "type": "object",
                    "properties": {
                      "action": {
                        "title": "RateLimiterAction",
                        "type": "object",
                        "properties": {
                          "file": {
                            "title": "HTTPLocalFile",
                            "required": [
                              "content_type",
                              "file_content"
                            ],
                            "type": "object",
                            "properties": {
                              "content_type": {
                                "type": "string",
                                "description": "Mime-type of the content in the file."
                              },
                              "file_content": {
                                "type": "string",
                                "description": "File content to used in the local HTTP response body."
                              }
                            }
                          },
                          "redirect": {
                            "title": "HTTPRedirectAction",
                            "required": [
                              "protocol"
                            ],
                            "type": "object",
                            "properties": {
                              "host": {
                                "type": "object",
                                "description": ""
                              },
                              "keep_query": {
                                "type": "boolean",
                                "description": "Keep or drop the query of the incoming request URI in the redirected URI.",
                                "default": true
                              },
                              "path": {
                                "type": "object",
                                "description": ""
                              },
                              "port": {
                                "type": "integer",
                                "description": "Port to which redirect the request. Allowed values are 1-65535."
                              },
                              "protocol": {
                                "type": "string",
                                "description": "Protocol type. Enum options - HTTP, HTTPS."
                              },
                              "status_code": {
                                "type": "string",
                                "description": "HTTP redirect status code. Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307.",
                                "default": "HTTP_REDIRECT_STATUS_CODE_302"
                              }
                            }
                          },
                          "status_code": {
                            "type": "string",
                            "description": "HTTP status code for Local Response rate limit action. Enum options - HTTP_LOCAL_RESPONSE_STATUS_CODE_200, HTTP_LOCAL_RESPONSE_STATUS_CODE_204, HTTP_LOCAL_RESPONSE_STATUS_CODE_403, HTTP_LOCAL_RESPONSE_STATUS_CODE_404, HTTP_LOCAL_RESPONSE_STATUS_CODE_429, HTTP_LOCAL_RESPONSE_STATUS_CODE_501.",
                            "default": "HTTP_LOCAL_RESPONSE_STATUS_CODE_429"
                          },
                          "type": {
                            "type": "string",
                            "description": "Type of action to be enforced upon hitting the rate limit. Enum options - RL_ACTION_NONE, RL_ACTION_DROP_CONN, RL_ACTION_RESET_CONN, RL_ACTION_CLOSE_CONN, RL_ACTION_LOCAL_RSP, RL_ACTION_REDIRECT.",
                            "default": "RL_ACTION_NONE"
                          }
                        }
                      },
                      "burst_sz": {
                        "type": "integer",
                        "description": "Maximum number of connections or requests or packets to be let through instantaneously. Allowed values are 10-2500. Special values are 0- 'automatic'. Field deprecated in 18.2.9."
                      },
                      "count": {
                        "type": "integer",
                        "description": "Maximum number of connections or requests or packets. Allowed values are 1-1000000000. Special values are 0- 'unlimited'. Field deprecated in 18.2.9."
                      },
                      "explicit_tracking": {
                        "type": "boolean",
                        "description": "Explicitly tracks an attacker across rate periods."
                      },
                      "fine_grain": {
                        "type": "boolean",
                        "description": "Enable fine granularity."
                      },
                      "http_cookie": {
                        "type": "string",
                        "description": "HTTP cookie name. Field introduced in 17.1.1."
                      },
                      "http_header": {
                        "type": "string",
                        "description": "HTTP header name. Field introduced in 17.1.1."
                      },
                      "period": {
                        "type": "integer",
                        "description": "Time value in seconds to enforce rate count. Allowed values are 1-300. Field deprecated in 18.2.9."
                      },
                      "rate_limiter": {
                        "title": "RateLimiter",
                        "required": [
                          "count",
                          "period"
                        ],
                        "type": "object",
                        "properties": {
                          "burst_sz": {
                            "type": "integer",
                            "description": "Maximum number of connections, requests or packets to be let through instantaneously.  If this is less than count, it will have no effect. Allowed values are 0-1000000000. Field introduced in 18.2.9."
                          },
                          "count": {
                            "type": "integer",
                            "description": "Maximum number of connections, requests or packets permitted each period. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                                        "example": 1000000000
                          },
                          "name": {
                            "type": "string",
                            "description": "Identifier for Rate Limit. Constructed according to context. Field introduced in 18.2.9."
                          },
                          "period": {
                            "type": "integer",
                            "description": "Time value in seconds to enforce rate count. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                                        "example": 1
                          }
                        }
                      }
                    }
                  },
                  "min_health_monitors_up": {
                    "type": "integer",
                    "description": "Minimum number of health monitors in UP state to mark server UP. Field introduced in 18.2.1, 17.2.12."
                  },
                  "min_servers_up": {
                    "type": "integer",
                    "description": "Minimum number of servers in UP state for marking the pool UP. Field introduced in 18.2.1, 17.2.12."
                  },
                  "name": {
                    "type": "string",
                    "description": "The name of the pool."
                  },
                  "networks": {
                    "type": "array",
                    "items": {
                      "title": "NetworkFilter",
                      "required": [
                        "network_ref"
                      ],
                      "type": "object",
                      "properties": {
                        "network_ref": {
                          "type": "string",
                          "description": "It is a reference to an object of type VIMgrNWRuntime."
                        },
                        "server_filter": {
                          "type": "string",
                          "description": "server_filter of NetworkFilter."
                        }
                      }
                    },
                    "description": "(internal-use) Networks designated as containing servers for this pool.  The servers may be further narrowed down by a filter. This field is used internally by Avi, not editable by the user."
                  },
                  "nsx_securitygroup": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "A list of NSX Service Groups where the Servers for the Pool are created . Field introduced in 17.1.1."
                  },
                  "pki_profile_ref": {
                    "type": "string",
                    "description": "Avi will validate the SSL certificate present by a server against the selected PKI Profile. It is a reference to an object of type PKIProfile."
                  },
                  "placement_networks": {
                    "type": "array",
                    "items": {
                      "title": "PlacementNetwork",
                      "required": [
                        "network_ref",
                        "subnet"
                      ],
                      "type": "object",
                      "properties": {
                        "network_ref": {
                          "type": "string",
                          "description": "It is a reference to an object of type Network."
                        },
                        "subnet": {
                          "title": "IpAddrPrefix",
                          "required": [
                            "ip_addr",
                            "mask"
                          ],
                          "type": "object",
                          "properties": {
                            "ip_addr": {
                              "title": "IpAddr",
                              "required": [
                                "addr",
                                "type"
                              ],
                              "type": "object",
                              "properties": {
                                "addr": {
                                  "type": "string",
                                  "description": "IP address."
                                },
                                "type": {
                                  "type": "string",
                                  "description": "Enum options - V4, DNS, V6."
                                }
                              }
                            },
                            "mask": {
                              "type": "integer",
                              "description": "Number of mask."
                            }
                          }
                        }
                      }
                    },
                    "description": "Manually select the networks and subnets used to provide reachability to the pool's servers.  Specify the Subnet using the following syntax  10-1-1-0/24. Use static routes in VRF configuration when pool servers are not directly connected but routable from the service engine."
                  },
                  "prst_hdr_name": {
                    "type": "string",
                    "description": "Header name for custom header persistence. Field deprecated in 18.1.2."
                  },
                  "request_queue_depth": {
                    "type": "integer",
                    "description": "Minimum number of requests to be queued when pool is full.",
                        "default": 128
                  },
                  "request_queue_enabled": {
                    "type": "boolean",
                    "description": "Enable request queue when pool is full."
                  },
                  "rewrite_host_header_to_server_name": {
                    "type": "boolean",
                    "description": "Rewrite incoming Host Header to server name of the server to which the request is proxied.  Enabling this feature rewrites Host Header for requests to all servers in the pool."
                  },
                  "rewrite_host_header_to_sni": {
                    "type": "boolean",
                    "description": "If SNI server name is specified, rewrite incoming host header to the SNI server name."
                  },
                  "routing_pool": {
                    "type": "boolean",
                    "description": "Enable to do routing when this pool is selected to send traffic. No servers present in routing pool. Field introduced in 20.1.1."
                  },
                  "server_auto_scale": {
                    "type": "boolean",
                    "description": "Server AutoScale. Not used anymore. Field deprecated in 18.1.2."
                  },
                  "server_count": {
                    "type": "integer",
                    "description": "Field deprecated in 18.2.1."
                  },
                  "server_name": {
                    "type": "string",
                    "description": "Fully qualified DNS hostname which will be used in the TLS SNI extension in server connections if SNI is enabled. If no value is specified, Avi will use the incoming host header instead."
                  },
                  "server_reselect": {
                    "title": "HTTPServerReselect",
                    "required": [
                      "enabled"
                    ],
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean",
                        "description": "Enable HTTP request reselect when server responds with specific response codes."
                      },
                      "num_retries": {
                        "type": "integer",
                        "description": "Number of times to retry an HTTP request when server responds with configured status codes.",
                                "default": 4
                      },
                      "retry_nonidempotent": {
                        "type": "boolean",
                        "description": "Allow retry of non-idempotent HTTP requests."
                      },
                      "retry_timeout": {
                        "type": "integer",
                        "description": "Timeout per retry attempt, for a given request. Value of 0 indicates default timeout. Allowed values are 0-3600000. Field introduced in 18.1.5,18.2.1."
                      },
                      "svr_resp_code": {
                        "title": "HTTPReselectRespCode",
                        "type": "object",
                        "properties": {
                          "codes": {
                            "type": "array",
                            "items": {
                              "type": "integer"
                            },
                            "description": "HTTP response code to be matched. Allowed values are 400-599."
                          },
                          "ranges": {
                            "type": "array",
                            "items": {
                              "title": "HTTPStatusRange",
                              "required": [
                                "begin",
                                "end"
                              ],
                              "type": "object",
                              "properties": {
                                "begin": {
                                  "type": "integer",
                                  "description": "Starting HTTP response status code."
                                },
                                "end": {
                                  "type": "integer",
                                  "description": "Ending HTTP response status code."
                                }
                              }
                            },
                            "description": "HTTP response code ranges to match."
                          },
                          "resp_code_block": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            },
                            "description": "Block of HTTP response codes to match for server reselect. Enum options - HTTP_RSP_4XX, HTTP_RSP_5XX."
                          }
                        }
                      }
                    }
                  },
                  "server_timeout": {
                    "type": "integer",
                    "description": "Server timeout value specifies the time within which a server connection needs to be established and a request-response exchange completes between AVI and the server. Value of 0 results in using default timeout of 60 minutes. Allowed values are 0-3600000. Field introduced in 18.1.5,18.2.1."
                  },
                  "servers": {
                    "type": "array",
                    "items": {
                      "title": "Server",
                      "required": [
                        "ip"
                      ],
                      "type": "object",
                      "properties": {
                        "autoscaling_group_name": {
                          "type": "string",
                          "description": "Name of autoscaling group this server belongs to. Field introduced in 17.1.2."
                        },
                        "availability_zone": {
                          "type": "string",
                          "description": "Availability-zone of the server VM."
                        },
                        "description": {
                          "type": "string",
                          "description": "A description of the Server."
                        },
                        "discovered_network_ref": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "description": "(internal-use) Discovered network for this server. This field is deprecated. It is a reference to an object of type Network. Field deprecated in 17.1.1."
                        },
                        "discovered_networks": {
                          "type": "array",
                          "items": {
                            "title": "DiscoveredNetwork",
                            "required": [
                              "network_ref"
                            ],
                            "type": "object",
                            "properties": {
                              "network_ref": {
                                "type": "string",
                                "description": "Discovered network for this IP. It is a reference to an object of type Network."
                              },
                              "subnet": {
                                "type": "array",
                                "items": {
                                  "title": "IpAddrPrefix",
                                  "required": [
                                    "ip_addr",
                                    "mask"
                                  ],
                                  "type": "object",
                                  "properties": {
                                    "ip_addr": {
                                      "title": "IpAddr",
                                      "required": [
                                        "addr",
                                        "type"
                                      ],
                                      "type": "object",
                                      "properties": {
                                        "addr": {
                                          "type": "string",
                                          "description": "IP address."
                                        },
                                        "type": {
                                          "type": "string",
                                          "description": "Enum options - V4, DNS, V6."
                                        }
                                      }
                                    },
                                    "mask": {
                                      "type": "integer",
                                      "description": "Number of mask."
                                    }
                                  }
                                },
                                "description": "Discovered subnet for this IP."
                              },
                              "subnet6": {
                                "type": "array",
                                "items": {
                                  "title": "IpAddrPrefix",
                                  "required": [
                                    "ip_addr",
                                    "mask"
                                  ],
                                  "type": "object",
                                  "properties": {
                                    "ip_addr": {
                                      "title": "IpAddr",
                                      "required": [
                                        "addr",
                                        "type"
                                      ],
                                      "type": "object",
                                      "properties": {
                                        "addr": {
                                          "type": "string",
                                          "description": "IP address."
                                        },
                                        "type": {
                                          "type": "string",
                                          "description": "Enum options - V4, DNS, V6."
                                        }
                                      }
                                    },
                                    "mask": {
                                      "type": "integer",
                                      "description": "Number of mask."
                                    }
                                  }
                                },
                                "description": "Discovered IPv6 subnet for this IP. Field introduced in 18.1.1."
                              }
                            }
                          },
                          "description": "(internal-use) Discovered networks providing reachability for server IP. This field is used internally by Avi, not editable by the user."
                        },
                        "discovered_subnet": {
                          "type": "array",
                          "items": {
                            "title": "IpAddrPrefix",
                            "required": [
                              "ip_addr",
                              "mask"
                            ],
                            "type": "object",
                            "properties": {
                              "ip_addr": {
                                "title": "IpAddr",
                                "required": [
                                  "addr",
                                  "type"
                                ],
                                "type": "object",
                                "properties": {
                                  "addr": {
                                    "type": "string",
                                    "description": "IP address."
                                  },
                                  "type": {
                                    "type": "string",
                                    "description": "Enum options - V4, DNS, V6."
                                  }
                                }
                              },
                              "mask": {
                                "type": "integer",
                                "description": "Number of mask."
                              }
                            }
                          },
                          "description": "(internal-use) Discovered subnet for this server. This field is deprecated. Field deprecated in 17.1.1."
                        },
                        "enabled": {
                          "type": "boolean",
                          "description": "Enable, Disable or Graceful Disable determine if new or existing connections to the server are allowed.",
                          "default": true
                        },
                        "external_orchestration_id": {
                          "type": "string",
                          "description": "UID of server in external orchestration systems."
                        },
                        "external_uuid": {
                          "type": "string",
                          "description": "UUID identifying VM in OpenStack and other external compute."
                        },
                        "hostname": {
                          "type": "string",
                          "description": "DNS resolvable name of the server.  May be used in place of the IP address."
                        },
                        "ip": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "location": {
                          "title": "GeoLocation",
                          "type": "object",
                          "properties": {
                            "latitude": {
                              "type": "number",
                              "description": "Latitude of the location. This is represented as degrees.minutes. The range is from -90.0 (south) to +90.0 (north). Allowed values are -90.0-+90.0. Field introduced in 17.1.1."
                            },
                            "longitude": {
                              "type": "number",
                              "description": "Longitude of the location. This is represented as degrees.minutes. The range is from -180.0 (west) to +180.0 (east). Allowed values are -180.0-+180.0. Field introduced in 17.1.1."
                            },
                            "name": {
                              "type": "string",
                              "description": "Location name in the format Country/State/City. Field introduced in 17.1.1."
                            },
                            "tag": {
                              "type": "string",
                              "description": "Location tag string - example  USEast. Field introduced in 17.1.1."
                            }
                          }
                        },
                        "mac_address": {
                          "type": "string",
                          "description": "MAC address of server."
                        },
                        "nw_ref": {
                          "type": "string",
                          "description": "(internal-use) This field is used internally by Avi, not editable by the user. It is a reference to an object of type VIMgrNWRuntime."
                        },
                        "port": {
                          "type": "integer",
                          "description": "Optionally specify the servers port number.  This will override the pool's default server port attribute. Allowed values are 1-65535. Special values are 0- 'use backend port in pool'."
                        },
                        "prst_hdr_val": {
                          "type": "string",
                          "description": "Header value for custom header persistence. ."
                        },
                        "ratio": {
                          "type": "integer",
                          "description": "Ratio of selecting eligible servers in the pool. Allowed values are 1-20.",
                                    "default": 1
                        },
                        "resolve_server_by_dns": {
                          "type": "boolean",
                          "description": "Auto resolve server's IP using DNS name."
                        },
                        "rewrite_host_header": {
                          "type": "boolean",
                          "description": "Rewrite incoming Host Header to server name."
                        },
                        "server_node": {
                          "type": "string",
                          "description": "Hostname of the node where the server VM or container resides."
                        },
                        "static": {
                          "type": "boolean",
                          "description": "If statically learned."
                        },
                        "verify_network": {
                          "type": "boolean",
                          "description": "Verify server belongs to a discovered network or reachable via a discovered network. Verify reachable network isn't the OpenStack management network."
                        },
                        "vm_ref": {
                          "type": "string",
                          "description": "(internal-use) This field is used internally by Avi, not editable by the user. It is a reference to an object of type VIMgrVMRuntime."
                        }
                      }
                    },
                    "description": "The pool directs load balanced traffic to this list of destination servers. The servers can be configured by IP address, name, network or via IP Address Group."
                  },
                  "service_metadata": {
                    "type": "string",
                    "description": "Metadata pertaining to the service provided by this Pool. In Openshift/Kubernetes environments, app metadata info is stored. Any user input to this field will be overwritten by Avi Vantage. Field introduced in 17.2.14,18.1.5,18.2.1."
                  },
                  "sni_enabled": {
                    "type": "boolean",
                    "description": "Enable TLS SNI for server connections. If disabled, Avi will not send the SNI extension as part of the handshake.",
                    "default": true
                  },
                  "ssl_key_and_certificate_ref": {
                    "type": "string",
                    "description": "Service Engines will present a client SSL certificate to the server. It is a reference to an object of type SSLKeyAndCertificate."
                  },
                  "ssl_profile_ref": {
                    "type": "string",
                    "description": "When enabled, Avi re-encrypts traffic to the backend servers. The specific SSL profile defines which ciphers and SSL versions will be supported. It is a reference to an object of type SSLProfile."
                  },
                  "tenant_ref": {
                    "type": "string",
                    "description": "It is a reference to an object of type Tenant."
                  },
                  "tier1_lr": {
                    "type": "string",
                    "description": "This tier1_lr field should be set same as VirtualService associated for NSX-T. Field introduced in 20.1.1."
                  },
                  "url": {
                    "type": "string",
                    "description": "url"
                  },
                  "use_service_port": {
                    "type": "boolean",
                    "description": "Do not translate the client's destination port when sending the connection to the server.  The pool or servers specified service port will still be used for health monitoring."
                  },
                  "uuid": {
                    "type": "string",
                    "description": "UUID of the pool."
                  },
                  "vrf_ref": {
                    "type": "string",
                    "description": "Virtual Routing Context that the pool is bound to. This is used to provide the isolation of the set of networks the pool is attached to. The pool inherits the Virtual Routing Conext of the Virtual Service, and this field is used only internally, and is set by pb-transform. It is a reference to an object of type VrfContext."
                  }
                }
              },
              "description": ""
            },
            "next": {
              "type": "string"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/poolGET"
      },
      "task": true
    },
    {
      "name": "poolPOST",
      "summary": "Pool_POST",
      "description": "Pool_POST",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "Pool object creation: {\"_last_modified\": \"string\", \"a_pool\": \"string\", \"ab_pool\": {\"pool_ref\": \"string\", \"ratio\": 123}, \"ab_priority\": 123, \"analytics_policy\": {\"enable_realtime_metrics\": \"boolean\"}, \"analytics_profile_ref\": \"string\", \"apic_epg_name\": \"string\", \"application_persistence_profile_ref\": \"string\", \"autoscale_launch_config_ref\": \"string\", \"autoscale_networks\": \"array\", \"autoscale_policy_ref\": \"string\", \"capacity_estimation\": \"boolean\", \"capacity_estimation_ttfb_thresh\": 123, \"cloud_config_cksum\": \"string\", \"cloud_ref\": \"string\", \"conn_pool_properties\": {\"upstream_connpool_conn_idle_tmo\": 123, \"upstream_connpool_conn_life_tmo\": 123, \"upstream_connpool_conn_max_reuse\": 123, \"upstream_connpool_server_max_cache\": 123}, \"connection_ramp_duration\": 123, \"created_by\": \"string\", \"default_server_port\": 123, \"delete_server_on_dns_refresh\": \"boolean\", \"description\": \"string\", \"domain_name\": \"array\", \"east_west\": \"boolean\", \"enable_http2\": \"boolean\", \"enabled\": \"boolean\", \"external_autoscale_groups\": \"array\", \"fail_action\": {\"backup_pool\": {\"backup_pool_ref\": \"string\"}, \"local_rsp\": {\"file\": {\"content_type\": \"string\", \"file_content\": \"string\"}, \"status_code\": \"string\"}, \"redirect\": {\"host\": \"string\", \"path\": \"string\", \"protocol\": \"string\", \"query\": \"string\", \"status_code\": \"string\"}, \"type\": \"string\"}, \"fewest_tasks_feedback_delay\": 123, \"graceful_disable_timeout\": 123, \"gslb_sp_enabled\": \"boolean\", \"health_monitor_refs\": \"array\", \"host_check_enabled\": \"boolean\", \"ignore_server_port\": \"boolean\", \"inline_health_monitor\": \"boolean\", \"ipaddrgroup_ref\": \"string\", \"lb_algorithm\": \"string\", \"lb_algorithm_consistent_hash_hdr\": \"string\", \"lb_algorithm_core_nonaffinity\": 123, \"lb_algorithm_hash\": \"string\", \"lookup_server_by_name\": \"boolean\", \"max_concurrent_connections_per_server\": 123, \"max_conn_rate_per_server\": {\"action\": {\"file\": {\"content_type\": \"string\", \"file_content\": \"string\"}, \"redirect\": {\"host\": \"object\", \"keep_query\": \"boolean\", \"path\": \"object\", \"port\": 123, \"protocol\": \"string\", \"status_code\": \"string\"}, \"status_code\": \"string\", \"type\": \"string\"}, \"burst_sz\": 123, \"count\": 123, \"explicit_tracking\": \"boolean\", \"fine_grain\": \"boolean\", \"http_cookie\": \"string\", \"http_header\": \"string\", \"period\": 123, \"rate_limiter\": {\"burst_sz\": 123, \"count\": 123, \"name\": \"string\", \"period\": 123}}, \"min_health_monitors_up\": 123, \"min_servers_up\": 123, \"name\": \"string\", \"networks\": [{\"network_ref\": \"string\", \"server_filter\": \"string\"}], \"nsx_securitygroup\": \"array\", \"pki_profile_ref\": \"string\", \"placement_networks\": [{\"network_ref\": \"string\", \"subnet\": {\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}}], \"prst_hdr_name\": \"string\", \"request_queue_depth\": 123, \"request_queue_enabled\": \"boolean\", \"rewrite_host_header_to_server_name\": \"boolean\", \"rewrite_host_header_to_sni\": \"boolean\", \"routing_pool\": \"boolean\", \"server_auto_scale\": \"boolean\", \"server_count\": 123, \"server_name\": \"string\", \"server_reselect\": {\"enabled\": \"boolean\", \"num_retries\": 123, \"retry_nonidempotent\": \"boolean\", \"retry_timeout\": 123, \"svr_resp_code\": {\"codes\": \"array\", \"ranges\": [{\"begin\": 123, \"end\": 123}], \"resp_code_block\": \"array\"}}, \"server_timeout\": 123, \"servers\": [{\"autoscaling_group_name\": \"string\", \"availability_zone\": \"string\", \"description\": \"string\", \"discovered_network_ref\": \"array\", \"discovered_networks\": [{\"network_ref\": \"string\", \"subnet\": [{\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}], \"subnet6\": [{\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}]}], \"discovered_subnet\": [{\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}], \"enabled\": \"boolean\", \"external_orchestration_id\": \"string\", \"external_uuid\": \"string\", \"hostname\": \"string\", \"ip\": {\"addr\": \"string\", \"type\": \"string\"}, \"location\": {\"latitude\": 123, \"longitude\": 123, \"name\": \"string\", \"tag\": \"string\"}, \"mac_address\": \"string\", \"nw_ref\": \"string\", \"port\": 123, \"prst_hdr_val\": \"string\", \"ratio\": 123, \"resolve_server_by_dns\": \"boolean\", \"rewrite_host_header\": \"boolean\", \"server_node\": \"string\", \"static\": \"boolean\", \"verify_network\": \"boolean\", \"vm_ref\": \"string\"}], \"service_metadata\": \"string\", \"sni_enabled\": \"boolean\", \"ssl_key_and_certificate_ref\": \"string\", \"ssl_profile_ref\": \"string\", \"tenant_ref\": \"string\", \"tier1_lr\": \"string\", \"url\": \"string\", \"use_service_port\": \"boolean\", \"uuid\": \"string\", \"vrf_ref\": \"string\"}",
          "required": true,
          "schema": {
            "title": "Pool",
            "required": [
              "name"
            ],
            "type": "object",
            "properties": {
              "_last_modified": {
                "type": "string",
                "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
              },
              "a_pool": {
                "type": "string",
                "description": "Name of container cloud application that constitutes A pool in a A-B pool configuration, if different from VS app. Field deprecated in 18.1.2."
              },
              "ab_pool": {
                "title": "AbPool",
                "required": [
                  "pool_ref"
                ],
                "type": "object",
                "properties": {
                  "pool_ref": {
                    "type": "string",
                    "description": "Pool configured as B pool for A/B testing. It is a reference to an object of type Pool."
                  },
                  "ratio": {
                    "type": "integer",
                    "description": "Ratio of traffic diverted to the B pool, for A/B testing. Allowed values are 0-100."
                  }
                }
              },
              "ab_priority": {
                "type": "integer",
                "description": "Priority of this pool in a A-B pool pair. Internally used. Field deprecated in 18.1.2."
              },
              "analytics_policy": {
                "title": "PoolAnalyticsPolicy",
                "type": "object",
                "properties": {
                  "enable_realtime_metrics": {
                    "type": "boolean",
                    "description": "Enable real time metrics for server and pool metrics eg. l4_server.xxx, l7_server.xxx. Field introduced in 18.1.5, 18.2.1."
                  }
                }
              },
              "analytics_profile_ref": {
                "type": "string",
                "description": "Specifies settings related to analytics. It is a reference to an object of type AnalyticsProfile. Field introduced in 18.1.4,18.2.1."
              },
              "apic_epg_name": {
                "type": "string",
                "description": "Synchronize Cisco APIC EPG members with pool servers."
              },
              "application_persistence_profile_ref": {
                "type": "string",
                "description": "Persistence will ensure the same user sticks to the same server for a desired duration of time. It is a reference to an object of type ApplicationPersistenceProfile."
              },
              "autoscale_launch_config_ref": {
                "type": "string",
                "description": "If configured then Avi will trigger orchestration of pool server creation and deletion. It is only supported for container clouds like Mesos, Opensift, Kubernates, Docker etc. It is a reference to an object of type AutoScaleLaunchConfig."
              },
              "autoscale_networks": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Network Ids for the launch configuration."
              },
              "autoscale_policy_ref": {
                "type": "string",
                "description": "Reference to Server Autoscale Policy. It is a reference to an object of type ServerAutoScalePolicy."
              },
              "capacity_estimation": {
                "type": "boolean",
                "description": "Inline estimation of capacity of servers."
              },
              "capacity_estimation_ttfb_thresh": {
                "type": "integer",
                "description": "The maximum time-to-first-byte of a server. Allowed values are 1-5000. Special values are 0 - 'Automatic'."
              },
              "cloud_config_cksum": {
                "type": "string",
                "description": "Checksum of cloud configuration for Pool. Internally set by cloud connector."
              },
              "cloud_ref": {
                "type": "string",
                "description": "It is a reference to an object of type Cloud."
              },
              "conn_pool_properties": {
                "title": "ConnPoolProperties",
                "type": "object",
                "properties": {
                  "upstream_connpool_conn_idle_tmo": {
                    "type": "integer",
                    "description": "Connection idle timeout. Field introduced in 18.2.1.",
                        "default": 60000
                  },
                  "upstream_connpool_conn_life_tmo": {
                    "type": "integer",
                    "description": "Connection life timeout. Field introduced in 18.2.1.",
                        "default": 600000
                  },
                  "upstream_connpool_conn_max_reuse": {
                    "type": "integer",
                    "description": "Maximum number of times a connection can be reused. Special values are 0- 'unlimited'. Field introduced in 18.2.1."
                  },
                  "upstream_connpool_server_max_cache": {
                    "type": "integer",
                    "description": "Maximum number of connections a server can cache. Special values are 0- 'unlimited'. Field introduced in 18.2.1."
                  }
                }
              },
              "connection_ramp_duration": {
                "type": "integer",
                "description": "Duration for which new connections will be gradually ramped up to a server recently brought online.  Useful for LB algorithms that are least connection based. Allowed values are 1-300. Special values are 0 - 'Immediate'.",
                "default": 10
              },
              "created_by": {
                "type": "string",
                "description": "Creator name."
              },
              "default_server_port": {
                "type": "integer",
                "description": "Traffic sent to servers will use this destination server port unless overridden by the server's specific port attribute. The SSL checkbox enables Avi to server encryption. Allowed values are 1-65535.",
                "default": 80
              },
              "delete_server_on_dns_refresh": {
                "type": "boolean",
                "description": "Indicates whether existing IPs are disabled(false) or deleted(true) on dns hostname refreshDetail -- On a dns refresh, some IPs set on pool may no longer be returned by the resolver. These IPs are deleted from the pool when this knob is set to true. They are disabled, if the knob is set to false. Field introduced in 18.2.3.",
                "default": true
              },
              "description": {
                "type": "string",
                "description": "A description of the pool."
              },
              "domain_name": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Comma separated list of domain names which will be used to verify the common names or subject alternative names presented by server certificates. It is performed only when common name check host_check_enabled is enabled."
              },
              "east_west": {
                "type": "boolean",
                "description": "Inherited config from VirtualService."
              },
              "enable_http2": {
                "type": "boolean",
                "description": "Enable HTTP/2 for traffic from VirtualService to all backend servers in this pool. Field introduced in 20.1.1."
              },
              "enabled": {
                "type": "boolean",
                "description": "Enable or disable the pool.  Disabling will terminate all open connections and pause health monitors.",
                "default": true
              },
              "external_autoscale_groups": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Names of external auto-scale groups for pool servers. Currently available only for AWS and Azure. Field introduced in 17.1.2."
              },
              "fail_action": {
                "title": "FailAction",
                "required": [
                  "type"
                ],
                "type": "object",
                "properties": {
                  "backup_pool": {
                    "title": "FailActionBackupPool",
                    "required": [
                      "backup_pool_ref"
                    ],
                    "type": "object",
                    "properties": {
                      "backup_pool_ref": {
                        "type": "string",
                        "description": "Specifies the UUID of the Pool acting as backup pool. It is a reference to an object of type Pool."
                      }
                    }
                  },
                  "local_rsp": {
                    "title": "FailActionHTTPLocalResponse",
                    "type": "object",
                    "properties": {
                      "file": {
                        "title": "HTTPLocalFile",
                        "required": [
                          "content_type",
                          "file_content"
                        ],
                        "type": "object",
                        "properties": {
                          "content_type": {
                            "type": "string",
                            "description": "Mime-type of the content in the file."
                          },
                          "file_content": {
                            "type": "string",
                            "description": "File content to used in the local HTTP response body."
                          }
                        }
                      },
                      "status_code": {
                        "type": "string",
                        "description": "Enum options - FAIL_HTTP_STATUS_CODE_200, FAIL_HTTP_STATUS_CODE_503.",
                        "default": "FAIL_HTTP_STATUS_CODE_503"
                      }
                    }
                  },
                  "redirect": {
                    "title": "FailActionHTTPRedirect",
                    "required": [
                      "host"
                    ],
                    "type": "object",
                    "properties": {
                      "host": {
                        "type": "string",
                        "description": "host of FailActionHTTPRedirect."
                      },
                      "path": {
                        "type": "string",
                        "description": "path of FailActionHTTPRedirect."
                      },
                      "protocol": {
                        "type": "string",
                        "description": "Enum options - HTTP, HTTPS.",
                        "default": "HTTPS"
                      },
                      "query": {
                        "type": "string",
                        "description": "query of FailActionHTTPRedirect."
                      },
                      "status_code": {
                        "type": "string",
                        "description": "Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307.",
                        "default": "HTTP_REDIRECT_STATUS_CODE_302"
                      }
                    }
                  },
                  "type": {
                    "type": "string",
                    "description": "Enables a response to client when pool experiences a failure. By default TCP connection is closed. Enum options - FAIL_ACTION_HTTP_REDIRECT, FAIL_ACTION_HTTP_LOCAL_RSP, FAIL_ACTION_CLOSE_CONN, FAIL_ACTION_BACKUP_POOL.",
                    "example": "FAIL_ACTION_CLOSE_CONN"
                  }
                }
              },
              "fewest_tasks_feedback_delay": {
                "type": "integer",
                "description": "Periodicity of feedback for fewest tasks server selection algorithm. Allowed values are 1-300.",
                "default": 10
              },
              "graceful_disable_timeout": {
                "type": "integer",
                "description": "Used to gracefully disable a server. Virtual service waits for the specified time before terminating the existing connections  to the servers that are disabled. Allowed values are 1-7200. Special values are 0 - 'Immediate', -1 - 'Infinite'.",
                "default": 1
              },
              "gslb_sp_enabled": {
                "type": "boolean",
                "description": "Indicates if the pool is a site-persistence pool. . Field introduced in 17.2.1."
              },
              "health_monitor_refs": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Verify server health by applying one or more health monitors.  Active monitors generate synthetic traffic from each Service Engine and mark a server up or down based on the response. The Passive monitor listens only to client to server communication. It raises or lowers the ratio of traffic destined to a server based on successful responses. It is a reference to an object of type HealthMonitor."
              },
              "host_check_enabled": {
                "type": "boolean",
                "description": "Enable common name check for server certificate. If enabled and no explicit domain name is specified, Avi will use the incoming host header to do the match."
              },
              "ignore_server_port": {
                "type": "boolean",
                "description": "Ignore the server port in building the load balancing state.Applicable only for consistent hash load balancing algorithm or Disable Port translation (use_service_port) use cases. Field introduced in 20.1.1."
              },
              "inline_health_monitor": {
                "type": "boolean",
                "description": "The Passive monitor will monitor client to server connections and requests and adjust traffic load to servers based on successful responses.  This may alter the expected behavior of the LB method, such as Round Robin.",
                "default": true
              },
              "ipaddrgroup_ref": {
                "type": "string",
                "description": "Use list of servers from Ip Address Group. It is a reference to an object of type IpAddrGroup."
              },
              "lb_algorithm": {
                "type": "string",
                "description": "The load balancing algorithm will pick a server within the pool's list of available servers. Enum options - LB_ALGORITHM_LEAST_CONNECTIONS, LB_ALGORITHM_ROUND_ROBIN, LB_ALGORITHM_FASTEST_RESPONSE, LB_ALGORITHM_CONSISTENT_HASH, LB_ALGORITHM_LEAST_LOAD, LB_ALGORITHM_FEWEST_SERVERS, LB_ALGORITHM_RANDOM, LB_ALGORITHM_FEWEST_TASKS, LB_ALGORITHM_NEAREST_SERVER, LB_ALGORITHM_CORE_AFFINITY, LB_ALGORITHM_TOPOLOGY.",
                "default": "LB_ALGORITHM_LEAST_CONNECTIONS"
              },
              "lb_algorithm_consistent_hash_hdr": {
                "type": "string",
                "description": "HTTP header name to be used for the hash key."
              },
              "lb_algorithm_core_nonaffinity": {
                "type": "integer",
                "description": "Degree of non-affinity for core affinity based server selection. Allowed values are 1-65535. Field introduced in 17.1.3.",
                "default": 2
              },
              "lb_algorithm_hash": {
                "type": "string",
                "description": "Criteria used as a key for determining the hash between the client and  server. Enum options - LB_ALGORITHM_CONSISTENT_HASH_SOURCE_IP_ADDRESS, LB_ALGORITHM_CONSISTENT_HASH_SOURCE_IP_ADDRESS_AND_PORT, LB_ALGORITHM_CONSISTENT_HASH_URI, LB_ALGORITHM_CONSISTENT_HASH_CUSTOM_HEADER, LB_ALGORITHM_CONSISTENT_HASH_CUSTOM_STRING, LB_ALGORITHM_CONSISTENT_HASH_CALLID.",
                "default": "LB_ALGORITHM_CONSISTENT_HASH_SOURCE_IP_ADDRESS"
              },
              "lookup_server_by_name": {
                "type": "boolean",
                "description": "Allow server lookup by name. Field introduced in 17.1.11,17.2.4."
              },
              "max_concurrent_connections_per_server": {
                "type": "integer",
                "description": "The maximum number of concurrent connections allowed to each server within the pool. NOTE  applied value will be no less than the number of service engines that the pool is placed on. If set to 0, no limit is applied."
              },
              "max_conn_rate_per_server": {
                "title": "RateProfile",
                "required": [
                  "action"
                ],
                "type": "object",
                "properties": {
                  "action": {
                    "title": "RateLimiterAction",
                    "type": "object",
                    "properties": {
                      "file": {
                        "title": "HTTPLocalFile",
                        "required": [
                          "content_type",
                          "file_content"
                        ],
                        "type": "object",
                        "properties": {
                          "content_type": {
                            "type": "string",
                            "description": "Mime-type of the content in the file."
                          },
                          "file_content": {
                            "type": "string",
                            "description": "File content to used in the local HTTP response body."
                          }
                        }
                      },
                      "redirect": {
                        "title": "HTTPRedirectAction",
                        "required": [
                          "protocol"
                        ],
                        "type": "object",
                        "properties": {
                          "host": {
                            "type": "object",
                            "description": ""
                          },
                          "keep_query": {
                            "type": "boolean",
                            "description": "Keep or drop the query of the incoming request URI in the redirected URI.",
                            "default": true
                          },
                          "path": {
                            "type": "object",
                            "description": ""
                          },
                          "port": {
                            "type": "integer",
                            "description": "Port to which redirect the request. Allowed values are 1-65535."
                          },
                          "protocol": {
                            "type": "string",
                            "description": "Protocol type. Enum options - HTTP, HTTPS."
                          },
                          "status_code": {
                            "type": "string",
                            "description": "HTTP redirect status code. Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307.",
                            "default": "HTTP_REDIRECT_STATUS_CODE_302"
                          }
                        }
                      },
                      "status_code": {
                        "type": "string",
                        "description": "HTTP status code for Local Response rate limit action. Enum options - HTTP_LOCAL_RESPONSE_STATUS_CODE_200, HTTP_LOCAL_RESPONSE_STATUS_CODE_204, HTTP_LOCAL_RESPONSE_STATUS_CODE_403, HTTP_LOCAL_RESPONSE_STATUS_CODE_404, HTTP_LOCAL_RESPONSE_STATUS_CODE_429, HTTP_LOCAL_RESPONSE_STATUS_CODE_501.",
                        "default": "HTTP_LOCAL_RESPONSE_STATUS_CODE_429"
                      },
                      "type": {
                        "type": "string",
                        "description": "Type of action to be enforced upon hitting the rate limit. Enum options - RL_ACTION_NONE, RL_ACTION_DROP_CONN, RL_ACTION_RESET_CONN, RL_ACTION_CLOSE_CONN, RL_ACTION_LOCAL_RSP, RL_ACTION_REDIRECT.",
                        "default": "RL_ACTION_NONE"
                      }
                    }
                  },
                  "burst_sz": {
                    "type": "integer",
                    "description": "Maximum number of connections or requests or packets to be let through instantaneously. Allowed values are 10-2500. Special values are 0- 'automatic'. Field deprecated in 18.2.9."
                  },
                  "count": {
                    "type": "integer",
                    "description": "Maximum number of connections or requests or packets. Allowed values are 1-1000000000. Special values are 0- 'unlimited'. Field deprecated in 18.2.9."
                  },
                  "explicit_tracking": {
                    "type": "boolean",
                    "description": "Explicitly tracks an attacker across rate periods."
                  },
                  "fine_grain": {
                    "type": "boolean",
                    "description": "Enable fine granularity."
                  },
                  "http_cookie": {
                    "type": "string",
                    "description": "HTTP cookie name. Field introduced in 17.1.1."
                  },
                  "http_header": {
                    "type": "string",
                    "description": "HTTP header name. Field introduced in 17.1.1."
                  },
                  "period": {
                    "type": "integer",
                    "description": "Time value in seconds to enforce rate count. Allowed values are 1-300. Field deprecated in 18.2.9."
                  },
                  "rate_limiter": {
                    "title": "RateLimiter",
                    "required": [
                      "count",
                      "period"
                    ],
                    "type": "object",
                    "properties": {
                      "burst_sz": {
                        "type": "integer",
                        "description": "Maximum number of connections, requests or packets to be let through instantaneously.  If this is less than count, it will have no effect. Allowed values are 0-1000000000. Field introduced in 18.2.9."
                      },
                      "count": {
                        "type": "integer",
                        "description": "Maximum number of connections, requests or packets permitted each period. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                                "example": 1000000000
                      },
                      "name": {
                        "type": "string",
                        "description": "Identifier for Rate Limit. Constructed according to context. Field introduced in 18.2.9."
                      },
                      "period": {
                        "type": "integer",
                        "description": "Time value in seconds to enforce rate count. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                                "example": 1
                      }
                    }
                  }
                }
              },
              "min_health_monitors_up": {
                "type": "integer",
                "description": "Minimum number of health monitors in UP state to mark server UP. Field introduced in 18.2.1, 17.2.12."
              },
              "min_servers_up": {
                "type": "integer",
                "description": "Minimum number of servers in UP state for marking the pool UP. Field introduced in 18.2.1, 17.2.12."
              },
              "name": {
                "type": "string",
                "description": "The name of the pool."
              },
              "networks": {
                "type": "array",
                "items": {
                  "title": "NetworkFilter",
                  "required": [
                    "network_ref"
                  ],
                  "type": "object",
                  "properties": {
                    "network_ref": {
                      "type": "string",
                      "description": "It is a reference to an object of type VIMgrNWRuntime."
                    },
                    "server_filter": {
                      "type": "string",
                      "description": "server_filter of NetworkFilter."
                    }
                  }
                },
                "description": "(internal-use) Networks designated as containing servers for this pool.  The servers may be further narrowed down by a filter. This field is used internally by Avi, not editable by the user."
              },
              "nsx_securitygroup": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "A list of NSX Service Groups where the Servers for the Pool are created . Field introduced in 17.1.1."
              },
              "pki_profile_ref": {
                "type": "string",
                "description": "Avi will validate the SSL certificate present by a server against the selected PKI Profile. It is a reference to an object of type PKIProfile."
              },
              "placement_networks": {
                "type": "array",
                "items": {
                  "title": "PlacementNetwork",
                  "required": [
                    "network_ref",
                    "subnet"
                  ],
                  "type": "object",
                  "properties": {
                    "network_ref": {
                      "type": "string",
                      "description": "It is a reference to an object of type Network."
                    },
                    "subnet": {
                      "title": "IpAddrPrefix",
                      "required": [
                        "ip_addr",
                        "mask"
                      ],
                      "type": "object",
                      "properties": {
                        "ip_addr": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "mask": {
                          "type": "integer",
                          "description": "Number of mask."
                        }
                      }
                    }
                  }
                },
                "description": "Manually select the networks and subnets used to provide reachability to the pool's servers.  Specify the Subnet using the following syntax  10-1-1-0/24. Use static routes in VRF configuration when pool servers are not directly connected but routable from the service engine."
              },
              "prst_hdr_name": {
                "type": "string",
                "description": "Header name for custom header persistence. Field deprecated in 18.1.2."
              },
              "request_queue_depth": {
                "type": "integer",
                "description": "Minimum number of requests to be queued when pool is full.",
                "default": 128
              },
              "request_queue_enabled": {
                "type": "boolean",
                "description": "Enable request queue when pool is full."
              },
              "rewrite_host_header_to_server_name": {
                "type": "boolean",
                "description": "Rewrite incoming Host Header to server name of the server to which the request is proxied.  Enabling this feature rewrites Host Header for requests to all servers in the pool."
              },
              "rewrite_host_header_to_sni": {
                "type": "boolean",
                "description": "If SNI server name is specified, rewrite incoming host header to the SNI server name."
              },
              "routing_pool": {
                "type": "boolean",
                "description": "Enable to do routing when this pool is selected to send traffic. No servers present in routing pool. Field introduced in 20.1.1."
              },
              "server_auto_scale": {
                "type": "boolean",
                "description": "Server AutoScale. Not used anymore. Field deprecated in 18.1.2."
              },
              "server_count": {
                "type": "integer",
                "description": "Field deprecated in 18.2.1."
              },
              "server_name": {
                "type": "string",
                "description": "Fully qualified DNS hostname which will be used in the TLS SNI extension in server connections if SNI is enabled. If no value is specified, Avi will use the incoming host header instead."
              },
              "server_reselect": {
                "title": "HTTPServerReselect",
                "required": [
                  "enabled"
                ],
                "type": "object",
                "properties": {
                  "enabled": {
                    "type": "boolean",
                    "description": "Enable HTTP request reselect when server responds with specific response codes."
                  },
                  "num_retries": {
                    "type": "integer",
                    "description": "Number of times to retry an HTTP request when server responds with configured status codes.",
                        "default": 4
                  },
                  "retry_nonidempotent": {
                    "type": "boolean",
                    "description": "Allow retry of non-idempotent HTTP requests."
                  },
                  "retry_timeout": {
                    "type": "integer",
                    "description": "Timeout per retry attempt, for a given request. Value of 0 indicates default timeout. Allowed values are 0-3600000. Field introduced in 18.1.5,18.2.1."
                  },
                  "svr_resp_code": {
                    "title": "HTTPReselectRespCode",
                    "type": "object",
                    "properties": {
                      "codes": {
                        "type": "array",
                        "items": {
                          "type": "integer"
                        },
                        "description": "HTTP response code to be matched. Allowed values are 400-599."
                      },
                      "ranges": {
                        "type": "array",
                        "items": {
                          "title": "HTTPStatusRange",
                          "required": [
                            "begin",
                            "end"
                          ],
                          "type": "object",
                          "properties": {
                            "begin": {
                              "type": "integer",
                              "description": "Starting HTTP response status code."
                            },
                            "end": {
                              "type": "integer",
                              "description": "Ending HTTP response status code."
                            }
                          }
                        },
                        "description": "HTTP response code ranges to match."
                      },
                      "resp_code_block": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "description": "Block of HTTP response codes to match for server reselect. Enum options - HTTP_RSP_4XX, HTTP_RSP_5XX."
                      }
                    }
                  }
                }
              },
              "server_timeout": {
                "type": "integer",
                "description": "Server timeout value specifies the time within which a server connection needs to be established and a request-response exchange completes between AVI and the server. Value of 0 results in using default timeout of 60 minutes. Allowed values are 0-3600000. Field introduced in 18.1.5,18.2.1."
              },
              "servers": {
                "type": "array",
                "items": {
                  "title": "Server",
                  "required": [
                    "ip"
                  ],
                  "type": "object",
                  "properties": {
                    "autoscaling_group_name": {
                      "type": "string",
                      "description": "Name of autoscaling group this server belongs to. Field introduced in 17.1.2."
                    },
                    "availability_zone": {
                      "type": "string",
                      "description": "Availability-zone of the server VM."
                    },
                    "description": {
                      "type": "string",
                      "description": "A description of the Server."
                    },
                    "discovered_network_ref": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "(internal-use) Discovered network for this server. This field is deprecated. It is a reference to an object of type Network. Field deprecated in 17.1.1."
                    },
                    "discovered_networks": {
                      "type": "array",
                      "items": {
                        "title": "DiscoveredNetwork",
                        "required": [
                          "network_ref"
                        ],
                        "type": "object",
                        "properties": {
                          "network_ref": {
                            "type": "string",
                            "description": "Discovered network for this IP. It is a reference to an object of type Network."
                          },
                          "subnet": {
                            "type": "array",
                            "items": {
                              "title": "IpAddrPrefix",
                              "required": [
                                "ip_addr",
                                "mask"
                              ],
                              "type": "object",
                              "properties": {
                                "ip_addr": {
                                  "title": "IpAddr",
                                  "required": [
                                    "addr",
                                    "type"
                                  ],
                                  "type": "object",
                                  "properties": {
                                    "addr": {
                                      "type": "string",
                                      "description": "IP address."
                                    },
                                    "type": {
                                      "type": "string",
                                      "description": "Enum options - V4, DNS, V6."
                                    }
                                  }
                                },
                                "mask": {
                                  "type": "integer",
                                  "description": "Number of mask."
                                }
                              }
                            },
                            "description": "Discovered subnet for this IP."
                          },
                          "subnet6": {
                            "type": "array",
                            "items": {
                              "title": "IpAddrPrefix",
                              "required": [
                                "ip_addr",
                                "mask"
                              ],
                              "type": "object",
                              "properties": {
                                "ip_addr": {
                                  "title": "IpAddr",
                                  "required": [
                                    "addr",
                                    "type"
                                  ],
                                  "type": "object",
                                  "properties": {
                                    "addr": {
                                      "type": "string",
                                      "description": "IP address."
                                    },
                                    "type": {
                                      "type": "string",
                                      "description": "Enum options - V4, DNS, V6."
                                    }
                                  }
                                },
                                "mask": {
                                  "type": "integer",
                                  "description": "Number of mask."
                                }
                              }
                            },
                            "description": "Discovered IPv6 subnet for this IP. Field introduced in 18.1.1."
                          }
                        }
                      },
                      "description": "(internal-use) Discovered networks providing reachability for server IP. This field is used internally by Avi, not editable by the user."
                    },
                    "discovered_subnet": {
                      "type": "array",
                      "items": {
                        "title": "IpAddrPrefix",
                        "required": [
                          "ip_addr",
                          "mask"
                        ],
                        "type": "object",
                        "properties": {
                          "ip_addr": {
                            "title": "IpAddr",
                            "required": [
                              "addr",
                              "type"
                            ],
                            "type": "object",
                            "properties": {
                              "addr": {
                                "type": "string",
                                "description": "IP address."
                              },
                              "type": {
                                "type": "string",
                                "description": "Enum options - V4, DNS, V6."
                              }
                            }
                          },
                          "mask": {
                            "type": "integer",
                            "description": "Number of mask."
                          }
                        }
                      },
                      "description": "(internal-use) Discovered subnet for this server. This field is deprecated. Field deprecated in 17.1.1."
                    },
                    "enabled": {
                      "type": "boolean",
                      "description": "Enable, Disable or Graceful Disable determine if new or existing connections to the server are allowed.",
                      "default": true
                    },
                    "external_orchestration_id": {
                      "type": "string",
                      "description": "UID of server in external orchestration systems."
                    },
                    "external_uuid": {
                      "type": "string",
                      "description": "UUID identifying VM in OpenStack and other external compute."
                    },
                    "hostname": {
                      "type": "string",
                      "description": "DNS resolvable name of the server.  May be used in place of the IP address."
                    },
                    "ip": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "location": {
                      "title": "GeoLocation",
                      "type": "object",
                      "properties": {
                        "latitude": {
                          "type": "number",
                          "description": "Latitude of the location. This is represented as degrees.minutes. The range is from -90.0 (south) to +90.0 (north). Allowed values are -90.0-+90.0. Field introduced in 17.1.1."
                        },
                        "longitude": {
                          "type": "number",
                          "description": "Longitude of the location. This is represented as degrees.minutes. The range is from -180.0 (west) to +180.0 (east). Allowed values are -180.0-+180.0. Field introduced in 17.1.1."
                        },
                        "name": {
                          "type": "string",
                          "description": "Location name in the format Country/State/City. Field introduced in 17.1.1."
                        },
                        "tag": {
                          "type": "string",
                          "description": "Location tag string - example  USEast. Field introduced in 17.1.1."
                        }
                      }
                    },
                    "mac_address": {
                      "type": "string",
                      "description": "MAC address of server."
                    },
                    "nw_ref": {
                      "type": "string",
                      "description": "(internal-use) This field is used internally by Avi, not editable by the user. It is a reference to an object of type VIMgrNWRuntime."
                    },
                    "port": {
                      "type": "integer",
                      "description": "Optionally specify the servers port number.  This will override the pool's default server port attribute. Allowed values are 1-65535. Special values are 0- 'use backend port in pool'."
                    },
                    "prst_hdr_val": {
                      "type": "string",
                      "description": "Header value for custom header persistence. ."
                    },
                    "ratio": {
                      "type": "integer",
                      "description": "Ratio of selecting eligible servers in the pool. Allowed values are 1-20.",
                            "default": 1
                    },
                    "resolve_server_by_dns": {
                      "type": "boolean",
                      "description": "Auto resolve server's IP using DNS name."
                    },
                    "rewrite_host_header": {
                      "type": "boolean",
                      "description": "Rewrite incoming Host Header to server name."
                    },
                    "server_node": {
                      "type": "string",
                      "description": "Hostname of the node where the server VM or container resides."
                    },
                    "static": {
                      "type": "boolean",
                      "description": "If statically learned."
                    },
                    "verify_network": {
                      "type": "boolean",
                      "description": "Verify server belongs to a discovered network or reachable via a discovered network. Verify reachable network isn't the OpenStack management network."
                    },
                    "vm_ref": {
                      "type": "string",
                      "description": "(internal-use) This field is used internally by Avi, not editable by the user. It is a reference to an object of type VIMgrVMRuntime."
                    }
                  }
                },
                "description": "The pool directs load balanced traffic to this list of destination servers. The servers can be configured by IP address, name, network or via IP Address Group."
              },
              "service_metadata": {
                "type": "string",
                "description": "Metadata pertaining to the service provided by this Pool. In Openshift/Kubernetes environments, app metadata info is stored. Any user input to this field will be overwritten by Avi Vantage. Field introduced in 17.2.14,18.1.5,18.2.1."
              },
              "sni_enabled": {
                "type": "boolean",
                "description": "Enable TLS SNI for server connections. If disabled, Avi will not send the SNI extension as part of the handshake.",
                "default": true
              },
              "ssl_key_and_certificate_ref": {
                "type": "string",
                "description": "Service Engines will present a client SSL certificate to the server. It is a reference to an object of type SSLKeyAndCertificate."
              },
              "ssl_profile_ref": {
                "type": "string",
                "description": "When enabled, Avi re-encrypts traffic to the backend servers. The specific SSL profile defines which ciphers and SSL versions will be supported. It is a reference to an object of type SSLProfile."
              },
              "tenant_ref": {
                "type": "string",
                "description": "It is a reference to an object of type Tenant."
              },
              "tier1_lr": {
                "type": "string",
                "description": "This tier1_lr field should be set same as VirtualService associated for NSX-T. Field introduced in 20.1.1."
              },
              "url": {
                "type": "string",
                "description": "url"
              },
              "use_service_port": {
                "type": "boolean",
                "description": "Do not translate the client's destination port when sending the connection to the server.  The pool or servers specified service port will still be used for health monitoring."
              },
              "uuid": {
                "type": "string",
                "description": "UUID of the pool."
              },
              "vrf_ref": {
                "type": "string",
                "description": "Virtual Routing Context that the pool is bound to. This is used to provide the isolation of the set of networks the pool is attached to. The pool inherits the Virtual Routing Conext of the Virtual Service, and this field is used only internally, and is set by pb-transform. It is a reference to an object of type VrfContext."
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "Pool",
          "required": [
            "name"
          ],
          "type": "object",
          "properties": {
            "_last_modified": {
              "type": "string",
              "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
            },
            "a_pool": {
              "type": "string",
              "description": "Name of container cloud application that constitutes A pool in a A-B pool configuration, if different from VS app. Field deprecated in 18.1.2."
            },
            "ab_pool": {
              "title": "AbPool",
              "required": [
                "pool_ref"
              ],
              "type": "object",
              "properties": {
                "pool_ref": {
                  "type": "string",
                  "description": "Pool configured as B pool for A/B testing. It is a reference to an object of type Pool."
                },
                "ratio": {
                  "type": "integer",
                  "description": "Ratio of traffic diverted to the B pool, for A/B testing. Allowed values are 0-100."
                }
              }
            },
            "ab_priority": {
              "type": "integer",
              "description": "Priority of this pool in a A-B pool pair. Internally used. Field deprecated in 18.1.2."
            },
            "analytics_policy": {
              "title": "PoolAnalyticsPolicy",
              "type": "object",
              "properties": {
                "enable_realtime_metrics": {
                  "type": "boolean",
                  "description": "Enable real time metrics for server and pool metrics eg. l4_server.xxx, l7_server.xxx. Field introduced in 18.1.5, 18.2.1."
                }
              }
            },
            "analytics_profile_ref": {
              "type": "string",
              "description": "Specifies settings related to analytics. It is a reference to an object of type AnalyticsProfile. Field introduced in 18.1.4,18.2.1."
            },
            "apic_epg_name": {
              "type": "string",
              "description": "Synchronize Cisco APIC EPG members with pool servers."
            },
            "application_persistence_profile_ref": {
              "type": "string",
              "description": "Persistence will ensure the same user sticks to the same server for a desired duration of time. It is a reference to an object of type ApplicationPersistenceProfile."
            },
            "autoscale_launch_config_ref": {
              "type": "string",
              "description": "If configured then Avi will trigger orchestration of pool server creation and deletion. It is only supported for container clouds like Mesos, Opensift, Kubernates, Docker etc. It is a reference to an object of type AutoScaleLaunchConfig."
            },
            "autoscale_networks": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Network Ids for the launch configuration."
            },
            "autoscale_policy_ref": {
              "type": "string",
              "description": "Reference to Server Autoscale Policy. It is a reference to an object of type ServerAutoScalePolicy."
            },
            "capacity_estimation": {
              "type": "boolean",
              "description": "Inline estimation of capacity of servers."
            },
            "capacity_estimation_ttfb_thresh": {
              "type": "integer",
              "description": "The maximum time-to-first-byte of a server. Allowed values are 1-5000. Special values are 0 - 'Automatic'."
            },
            "cloud_config_cksum": {
              "type": "string",
              "description": "Checksum of cloud configuration for Pool. Internally set by cloud connector."
            },
            "cloud_ref": {
              "type": "string",
              "description": "It is a reference to an object of type Cloud."
            },
            "conn_pool_properties": {
              "title": "ConnPoolProperties",
              "type": "object",
              "properties": {
                "upstream_connpool_conn_idle_tmo": {
                  "type": "integer",
                  "description": "Connection idle timeout. Field introduced in 18.2.1.",
                    "default": 60000
                },
                "upstream_connpool_conn_life_tmo": {
                  "type": "integer",
                  "description": "Connection life timeout. Field introduced in 18.2.1.",
                    "default": 600000
                },
                "upstream_connpool_conn_max_reuse": {
                  "type": "integer",
                  "description": "Maximum number of times a connection can be reused. Special values are 0- 'unlimited'. Field introduced in 18.2.1."
                },
                "upstream_connpool_server_max_cache": {
                  "type": "integer",
                  "description": "Maximum number of connections a server can cache. Special values are 0- 'unlimited'. Field introduced in 18.2.1."
                }
              }
            },
            "connection_ramp_duration": {
              "type": "integer",
              "description": "Duration for which new connections will be gradually ramped up to a server recently brought online.  Useful for LB algorithms that are least connection based. Allowed values are 1-300. Special values are 0 - 'Immediate'.",
              "default": 10
            },
            "created_by": {
              "type": "string",
              "description": "Creator name."
            },
            "default_server_port": {
              "type": "integer",
              "description": "Traffic sent to servers will use this destination server port unless overridden by the server's specific port attribute. The SSL checkbox enables Avi to server encryption. Allowed values are 1-65535.",
              "default": 80
            },
            "delete_server_on_dns_refresh": {
              "type": "boolean",
              "description": "Indicates whether existing IPs are disabled(false) or deleted(true) on dns hostname refreshDetail -- On a dns refresh, some IPs set on pool may no longer be returned by the resolver. These IPs are deleted from the pool when this knob is set to true. They are disabled, if the knob is set to false. Field introduced in 18.2.3.",
              "default": true
            },
            "description": {
              "type": "string",
              "description": "A description of the pool."
            },
            "domain_name": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Comma separated list of domain names which will be used to verify the common names or subject alternative names presented by server certificates. It is performed only when common name check host_check_enabled is enabled."
            },
            "east_west": {
              "type": "boolean",
              "description": "Inherited config from VirtualService."
            },
            "enable_http2": {
              "type": "boolean",
              "description": "Enable HTTP/2 for traffic from VirtualService to all backend servers in this pool. Field introduced in 20.1.1."
            },
            "enabled": {
              "type": "boolean",
              "description": "Enable or disable the pool.  Disabling will terminate all open connections and pause health monitors.",
              "default": true
            },
            "external_autoscale_groups": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Names of external auto-scale groups for pool servers. Currently available only for AWS and Azure. Field introduced in 17.1.2."
            },
            "fail_action": {
              "title": "FailAction",
              "required": [
                "type"
              ],
              "type": "object",
              "properties": {
                "backup_pool": {
                  "title": "FailActionBackupPool",
                  "required": [
                    "backup_pool_ref"
                  ],
                  "type": "object",
                  "properties": {
                    "backup_pool_ref": {
                      "type": "string",
                      "description": "Specifies the UUID of the Pool acting as backup pool. It is a reference to an object of type Pool."
                    }
                  }
                },
                "local_rsp": {
                  "title": "FailActionHTTPLocalResponse",
                  "type": "object",
                  "properties": {
                    "file": {
                      "title": "HTTPLocalFile",
                      "required": [
                        "content_type",
                        "file_content"
                      ],
                      "type": "object",
                      "properties": {
                        "content_type": {
                          "type": "string",
                          "description": "Mime-type of the content in the file."
                        },
                        "file_content": {
                          "type": "string",
                          "description": "File content to used in the local HTTP response body."
                        }
                      }
                    },
                    "status_code": {
                      "type": "string",
                      "description": "Enum options - FAIL_HTTP_STATUS_CODE_200, FAIL_HTTP_STATUS_CODE_503.",
                      "default": "FAIL_HTTP_STATUS_CODE_503"
                    }
                  }
                },
                "redirect": {
                  "title": "FailActionHTTPRedirect",
                  "required": [
                    "host"
                  ],
                  "type": "object",
                  "properties": {
                    "host": {
                      "type": "string",
                      "description": "host of FailActionHTTPRedirect."
                    },
                    "path": {
                      "type": "string",
                      "description": "path of FailActionHTTPRedirect."
                    },
                    "protocol": {
                      "type": "string",
                      "description": "Enum options - HTTP, HTTPS.",
                      "default": "HTTPS"
                    },
                    "query": {
                      "type": "string",
                      "description": "query of FailActionHTTPRedirect."
                    },
                    "status_code": {
                      "type": "string",
                      "description": "Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307.",
                      "default": "HTTP_REDIRECT_STATUS_CODE_302"
                    }
                  }
                },
                "type": {
                  "type": "string",
                  "description": "Enables a response to client when pool experiences a failure. By default TCP connection is closed. Enum options - FAIL_ACTION_HTTP_REDIRECT, FAIL_ACTION_HTTP_LOCAL_RSP, FAIL_ACTION_CLOSE_CONN, FAIL_ACTION_BACKUP_POOL.",
                  "example": "FAIL_ACTION_CLOSE_CONN"
                }
              }
            },
            "fewest_tasks_feedback_delay": {
              "type": "integer",
              "description": "Periodicity of feedback for fewest tasks server selection algorithm. Allowed values are 1-300.",
              "default": 10
            },
            "graceful_disable_timeout": {
              "type": "integer",
              "description": "Used to gracefully disable a server. Virtual service waits for the specified time before terminating the existing connections  to the servers that are disabled. Allowed values are 1-7200. Special values are 0 - 'Immediate', -1 - 'Infinite'.",
              "default": 1
            },
            "gslb_sp_enabled": {
              "type": "boolean",
              "description": "Indicates if the pool is a site-persistence pool. . Field introduced in 17.2.1."
            },
            "health_monitor_refs": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Verify server health by applying one or more health monitors.  Active monitors generate synthetic traffic from each Service Engine and mark a server up or down based on the response. The Passive monitor listens only to client to server communication. It raises or lowers the ratio of traffic destined to a server based on successful responses. It is a reference to an object of type HealthMonitor."
            },
            "host_check_enabled": {
              "type": "boolean",
              "description": "Enable common name check for server certificate. If enabled and no explicit domain name is specified, Avi will use the incoming host header to do the match."
            },
            "ignore_server_port": {
              "type": "boolean",
              "description": "Ignore the server port in building the load balancing state.Applicable only for consistent hash load balancing algorithm or Disable Port translation (use_service_port) use cases. Field introduced in 20.1.1."
            },
            "inline_health_monitor": {
              "type": "boolean",
              "description": "The Passive monitor will monitor client to server connections and requests and adjust traffic load to servers based on successful responses.  This may alter the expected behavior of the LB method, such as Round Robin.",
              "default": true
            },
            "ipaddrgroup_ref": {
              "type": "string",
              "description": "Use list of servers from Ip Address Group. It is a reference to an object of type IpAddrGroup."
            },
            "lb_algorithm": {
              "type": "string",
              "description": "The load balancing algorithm will pick a server within the pool's list of available servers. Enum options - LB_ALGORITHM_LEAST_CONNECTIONS, LB_ALGORITHM_ROUND_ROBIN, LB_ALGORITHM_FASTEST_RESPONSE, LB_ALGORITHM_CONSISTENT_HASH, LB_ALGORITHM_LEAST_LOAD, LB_ALGORITHM_FEWEST_SERVERS, LB_ALGORITHM_RANDOM, LB_ALGORITHM_FEWEST_TASKS, LB_ALGORITHM_NEAREST_SERVER, LB_ALGORITHM_CORE_AFFINITY, LB_ALGORITHM_TOPOLOGY.",
              "default": "LB_ALGORITHM_LEAST_CONNECTIONS"
            },
            "lb_algorithm_consistent_hash_hdr": {
              "type": "string",
              "description": "HTTP header name to be used for the hash key."
            },
            "lb_algorithm_core_nonaffinity": {
              "type": "integer",
              "description": "Degree of non-affinity for core affinity based server selection. Allowed values are 1-65535. Field introduced in 17.1.3.",
              "default": 2
            },
            "lb_algorithm_hash": {
              "type": "string",
              "description": "Criteria used as a key for determining the hash between the client and  server. Enum options - LB_ALGORITHM_CONSISTENT_HASH_SOURCE_IP_ADDRESS, LB_ALGORITHM_CONSISTENT_HASH_SOURCE_IP_ADDRESS_AND_PORT, LB_ALGORITHM_CONSISTENT_HASH_URI, LB_ALGORITHM_CONSISTENT_HASH_CUSTOM_HEADER, LB_ALGORITHM_CONSISTENT_HASH_CUSTOM_STRING, LB_ALGORITHM_CONSISTENT_HASH_CALLID.",
              "default": "LB_ALGORITHM_CONSISTENT_HASH_SOURCE_IP_ADDRESS"
            },
            "lookup_server_by_name": {
              "type": "boolean",
              "description": "Allow server lookup by name. Field introduced in 17.1.11,17.2.4."
            },
            "max_concurrent_connections_per_server": {
              "type": "integer",
              "description": "The maximum number of concurrent connections allowed to each server within the pool. NOTE  applied value will be no less than the number of service engines that the pool is placed on. If set to 0, no limit is applied."
            },
            "max_conn_rate_per_server": {
              "title": "RateProfile",
              "required": [
                "action"
              ],
              "type": "object",
              "properties": {
                "action": {
                  "title": "RateLimiterAction",
                  "type": "object",
                  "properties": {
                    "file": {
                      "title": "HTTPLocalFile",
                      "required": [
                        "content_type",
                        "file_content"
                      ],
                      "type": "object",
                      "properties": {
                        "content_type": {
                          "type": "string",
                          "description": "Mime-type of the content in the file."
                        },
                        "file_content": {
                          "type": "string",
                          "description": "File content to used in the local HTTP response body."
                        }
                      }
                    },
                    "redirect": {
                      "title": "HTTPRedirectAction",
                      "required": [
                        "protocol"
                      ],
                      "type": "object",
                      "properties": {
                        "host": {
                          "type": "object",
                          "description": ""
                        },
                        "keep_query": {
                          "type": "boolean",
                          "description": "Keep or drop the query of the incoming request URI in the redirected URI.",
                          "default": true
                        },
                        "path": {
                          "type": "object",
                          "description": ""
                        },
                        "port": {
                          "type": "integer",
                          "description": "Port to which redirect the request. Allowed values are 1-65535."
                        },
                        "protocol": {
                          "type": "string",
                          "description": "Protocol type. Enum options - HTTP, HTTPS."
                        },
                        "status_code": {
                          "type": "string",
                          "description": "HTTP redirect status code. Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307.",
                          "default": "HTTP_REDIRECT_STATUS_CODE_302"
                        }
                      }
                    },
                    "status_code": {
                      "type": "string",
                      "description": "HTTP status code for Local Response rate limit action. Enum options - HTTP_LOCAL_RESPONSE_STATUS_CODE_200, HTTP_LOCAL_RESPONSE_STATUS_CODE_204, HTTP_LOCAL_RESPONSE_STATUS_CODE_403, HTTP_LOCAL_RESPONSE_STATUS_CODE_404, HTTP_LOCAL_RESPONSE_STATUS_CODE_429, HTTP_LOCAL_RESPONSE_STATUS_CODE_501.",
                      "default": "HTTP_LOCAL_RESPONSE_STATUS_CODE_429"
                    },
                    "type": {
                      "type": "string",
                      "description": "Type of action to be enforced upon hitting the rate limit. Enum options - RL_ACTION_NONE, RL_ACTION_DROP_CONN, RL_ACTION_RESET_CONN, RL_ACTION_CLOSE_CONN, RL_ACTION_LOCAL_RSP, RL_ACTION_REDIRECT.",
                      "default": "RL_ACTION_NONE"
                    }
                  }
                },
                "burst_sz": {
                  "type": "integer",
                  "description": "Maximum number of connections or requests or packets to be let through instantaneously. Allowed values are 10-2500. Special values are 0- 'automatic'. Field deprecated in 18.2.9."
                },
                "count": {
                  "type": "integer",
                  "description": "Maximum number of connections or requests or packets. Allowed values are 1-1000000000. Special values are 0- 'unlimited'. Field deprecated in 18.2.9."
                },
                "explicit_tracking": {
                  "type": "boolean",
                  "description": "Explicitly tracks an attacker across rate periods."
                },
                "fine_grain": {
                  "type": "boolean",
                  "description": "Enable fine granularity."
                },
                "http_cookie": {
                  "type": "string",
                  "description": "HTTP cookie name. Field introduced in 17.1.1."
                },
                "http_header": {
                  "type": "string",
                  "description": "HTTP header name. Field introduced in 17.1.1."
                },
                "period": {
                  "type": "integer",
                  "description": "Time value in seconds to enforce rate count. Allowed values are 1-300. Field deprecated in 18.2.9."
                },
                "rate_limiter": {
                  "title": "RateLimiter",
                  "required": [
                    "count",
                    "period"
                  ],
                  "type": "object",
                  "properties": {
                    "burst_sz": {
                      "type": "integer",
                      "description": "Maximum number of connections, requests or packets to be let through instantaneously.  If this is less than count, it will have no effect. Allowed values are 0-1000000000. Field introduced in 18.2.9."
                    },
                    "count": {
                      "type": "integer",
                      "description": "Maximum number of connections, requests or packets permitted each period. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                            "example": 1000000000
                    },
                    "name": {
                      "type": "string",
                      "description": "Identifier for Rate Limit. Constructed according to context. Field introduced in 18.2.9."
                    },
                    "period": {
                      "type": "integer",
                      "description": "Time value in seconds to enforce rate count. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                            "example": 1
                    }
                  }
                }
              }
            },
            "min_health_monitors_up": {
              "type": "integer",
              "description": "Minimum number of health monitors in UP state to mark server UP. Field introduced in 18.2.1, 17.2.12."
            },
            "min_servers_up": {
              "type": "integer",
              "description": "Minimum number of servers in UP state for marking the pool UP. Field introduced in 18.2.1, 17.2.12."
            },
            "name": {
              "type": "string",
              "description": "The name of the pool."
            },
            "networks": {
              "type": "array",
              "items": {
                "title": "NetworkFilter",
                "required": [
                  "network_ref"
                ],
                "type": "object",
                "properties": {
                  "network_ref": {
                    "type": "string",
                    "description": "It is a reference to an object of type VIMgrNWRuntime."
                  },
                  "server_filter": {
                    "type": "string",
                    "description": "server_filter of NetworkFilter."
                  }
                }
              },
              "description": "(internal-use) Networks designated as containing servers for this pool.  The servers may be further narrowed down by a filter. This field is used internally by Avi, not editable by the user."
            },
            "nsx_securitygroup": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "A list of NSX Service Groups where the Servers for the Pool are created . Field introduced in 17.1.1."
            },
            "pki_profile_ref": {
              "type": "string",
              "description": "Avi will validate the SSL certificate present by a server against the selected PKI Profile. It is a reference to an object of type PKIProfile."
            },
            "placement_networks": {
              "type": "array",
              "items": {
                "title": "PlacementNetwork",
                "required": [
                  "network_ref",
                  "subnet"
                ],
                "type": "object",
                "properties": {
                  "network_ref": {
                    "type": "string",
                    "description": "It is a reference to an object of type Network."
                  },
                  "subnet": {
                    "title": "IpAddrPrefix",
                    "required": [
                      "ip_addr",
                      "mask"
                    ],
                    "type": "object",
                    "properties": {
                      "ip_addr": {
                        "title": "IpAddr",
                        "required": [
                          "addr",
                          "type"
                        ],
                        "type": "object",
                        "properties": {
                          "addr": {
                            "type": "string",
                            "description": "IP address."
                          },
                          "type": {
                            "type": "string",
                            "description": "Enum options - V4, DNS, V6."
                          }
                        }
                      },
                      "mask": {
                        "type": "integer",
                        "description": "Number of mask."
                      }
                    }
                  }
                }
              },
              "description": "Manually select the networks and subnets used to provide reachability to the pool's servers.  Specify the Subnet using the following syntax  10-1-1-0/24. Use static routes in VRF configuration when pool servers are not directly connected but routable from the service engine."
            },
            "prst_hdr_name": {
              "type": "string",
              "description": "Header name for custom header persistence. Field deprecated in 18.1.2."
            },
            "request_queue_depth": {
              "type": "integer",
              "description": "Minimum number of requests to be queued when pool is full.",
              "default": 128
            },
            "request_queue_enabled": {
              "type": "boolean",
              "description": "Enable request queue when pool is full."
            },
            "rewrite_host_header_to_server_name": {
              "type": "boolean",
              "description": "Rewrite incoming Host Header to server name of the server to which the request is proxied.  Enabling this feature rewrites Host Header for requests to all servers in the pool."
            },
            "rewrite_host_header_to_sni": {
              "type": "boolean",
              "description": "If SNI server name is specified, rewrite incoming host header to the SNI server name."
            },
            "routing_pool": {
              "type": "boolean",
              "description": "Enable to do routing when this pool is selected to send traffic. No servers present in routing pool. Field introduced in 20.1.1."
            },
            "server_auto_scale": {
              "type": "boolean",
              "description": "Server AutoScale. Not used anymore. Field deprecated in 18.1.2."
            },
            "server_count": {
              "type": "integer",
              "description": "Field deprecated in 18.2.1."
            },
            "server_name": {
              "type": "string",
              "description": "Fully qualified DNS hostname which will be used in the TLS SNI extension in server connections if SNI is enabled. If no value is specified, Avi will use the incoming host header instead."
            },
            "server_reselect": {
              "title": "HTTPServerReselect",
              "required": [
                "enabled"
              ],
              "type": "object",
              "properties": {
                "enabled": {
                  "type": "boolean",
                  "description": "Enable HTTP request reselect when server responds with specific response codes."
                },
                "num_retries": {
                  "type": "integer",
                  "description": "Number of times to retry an HTTP request when server responds with configured status codes.",
                    "default": 4
                },
                "retry_nonidempotent": {
                  "type": "boolean",
                  "description": "Allow retry of non-idempotent HTTP requests."
                },
                "retry_timeout": {
                  "type": "integer",
                  "description": "Timeout per retry attempt, for a given request. Value of 0 indicates default timeout. Allowed values are 0-3600000. Field introduced in 18.1.5,18.2.1."
                },
                "svr_resp_code": {
                  "title": "HTTPReselectRespCode",
                  "type": "object",
                  "properties": {
                    "codes": {
                      "type": "array",
                      "items": {
                        "type": "integer"
                      },
                      "description": "HTTP response code to be matched. Allowed values are 400-599."
                    },
                    "ranges": {
                      "type": "array",
                      "items": {
                        "title": "HTTPStatusRange",
                        "required": [
                          "begin",
                          "end"
                        ],
                        "type": "object",
                        "properties": {
                          "begin": {
                            "type": "integer",
                            "description": "Starting HTTP response status code."
                          },
                          "end": {
                            "type": "integer",
                            "description": "Ending HTTP response status code."
                          }
                        }
                      },
                      "description": "HTTP response code ranges to match."
                    },
                    "resp_code_block": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "Block of HTTP response codes to match for server reselect. Enum options - HTTP_RSP_4XX, HTTP_RSP_5XX."
                    }
                  }
                }
              }
            },
            "server_timeout": {
              "type": "integer",
              "description": "Server timeout value specifies the time within which a server connection needs to be established and a request-response exchange completes between AVI and the server. Value of 0 results in using default timeout of 60 minutes. Allowed values are 0-3600000. Field introduced in 18.1.5,18.2.1."
            },
            "servers": {
              "type": "array",
              "items": {
                "title": "Server",
                "required": [
                  "ip"
                ],
                "type": "object",
                "properties": {
                  "autoscaling_group_name": {
                    "type": "string",
                    "description": "Name of autoscaling group this server belongs to. Field introduced in 17.1.2."
                  },
                  "availability_zone": {
                    "type": "string",
                    "description": "Availability-zone of the server VM."
                  },
                  "description": {
                    "type": "string",
                    "description": "A description of the Server."
                  },
                  "discovered_network_ref": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "(internal-use) Discovered network for this server. This field is deprecated. It is a reference to an object of type Network. Field deprecated in 17.1.1."
                  },
                  "discovered_networks": {
                    "type": "array",
                    "items": {
                      "title": "DiscoveredNetwork",
                      "required": [
                        "network_ref"
                      ],
                      "type": "object",
                      "properties": {
                        "network_ref": {
                          "type": "string",
                          "description": "Discovered network for this IP. It is a reference to an object of type Network."
                        },
                        "subnet": {
                          "type": "array",
                          "items": {
                            "title": "IpAddrPrefix",
                            "required": [
                              "ip_addr",
                              "mask"
                            ],
                            "type": "object",
                            "properties": {
                              "ip_addr": {
                                "title": "IpAddr",
                                "required": [
                                  "addr",
                                  "type"
                                ],
                                "type": "object",
                                "properties": {
                                  "addr": {
                                    "type": "string",
                                    "description": "IP address."
                                  },
                                  "type": {
                                    "type": "string",
                                    "description": "Enum options - V4, DNS, V6."
                                  }
                                }
                              },
                              "mask": {
                                "type": "integer",
                                "description": "Number of mask."
                              }
                            }
                          },
                          "description": "Discovered subnet for this IP."
                        },
                        "subnet6": {
                          "type": "array",
                          "items": {
                            "title": "IpAddrPrefix",
                            "required": [
                              "ip_addr",
                              "mask"
                            ],
                            "type": "object",
                            "properties": {
                              "ip_addr": {
                                "title": "IpAddr",
                                "required": [
                                  "addr",
                                  "type"
                                ],
                                "type": "object",
                                "properties": {
                                  "addr": {
                                    "type": "string",
                                    "description": "IP address."
                                  },
                                  "type": {
                                    "type": "string",
                                    "description": "Enum options - V4, DNS, V6."
                                  }
                                }
                              },
                              "mask": {
                                "type": "integer",
                                "description": "Number of mask."
                              }
                            }
                          },
                          "description": "Discovered IPv6 subnet for this IP. Field introduced in 18.1.1."
                        }
                      }
                    },
                    "description": "(internal-use) Discovered networks providing reachability for server IP. This field is used internally by Avi, not editable by the user."
                  },
                  "discovered_subnet": {
                    "type": "array",
                    "items": {
                      "title": "IpAddrPrefix",
                      "required": [
                        "ip_addr",
                        "mask"
                      ],
                      "type": "object",
                      "properties": {
                        "ip_addr": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "mask": {
                          "type": "integer",
                          "description": "Number of mask."
                        }
                      }
                    },
                    "description": "(internal-use) Discovered subnet for this server. This field is deprecated. Field deprecated in 17.1.1."
                  },
                  "enabled": {
                    "type": "boolean",
                    "description": "Enable, Disable or Graceful Disable determine if new or existing connections to the server are allowed.",
                    "default": true
                  },
                  "external_orchestration_id": {
                    "type": "string",
                    "description": "UID of server in external orchestration systems."
                  },
                  "external_uuid": {
                    "type": "string",
                    "description": "UUID identifying VM in OpenStack and other external compute."
                  },
                  "hostname": {
                    "type": "string",
                    "description": "DNS resolvable name of the server.  May be used in place of the IP address."
                  },
                  "ip": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "location": {
                    "title": "GeoLocation",
                    "type": "object",
                    "properties": {
                      "latitude": {
                        "type": "number",
                        "description": "Latitude of the location. This is represented as degrees.minutes. The range is from -90.0 (south) to +90.0 (north). Allowed values are -90.0-+90.0. Field introduced in 17.1.1."
                      },
                      "longitude": {
                        "type": "number",
                        "description": "Longitude of the location. This is represented as degrees.minutes. The range is from -180.0 (west) to +180.0 (east). Allowed values are -180.0-+180.0. Field introduced in 17.1.1."
                      },
                      "name": {
                        "type": "string",
                        "description": "Location name in the format Country/State/City. Field introduced in 17.1.1."
                      },
                      "tag": {
                        "type": "string",
                        "description": "Location tag string - example  USEast. Field introduced in 17.1.1."
                      }
                    }
                  },
                  "mac_address": {
                    "type": "string",
                    "description": "MAC address of server."
                  },
                  "nw_ref": {
                    "type": "string",
                    "description": "(internal-use) This field is used internally by Avi, not editable by the user. It is a reference to an object of type VIMgrNWRuntime."
                  },
                  "port": {
                    "type": "integer",
                    "description": "Optionally specify the servers port number.  This will override the pool's default server port attribute. Allowed values are 1-65535. Special values are 0- 'use backend port in pool'."
                  },
                  "prst_hdr_val": {
                    "type": "string",
                    "description": "Header value for custom header persistence. ."
                  },
                  "ratio": {
                    "type": "integer",
                    "description": "Ratio of selecting eligible servers in the pool. Allowed values are 1-20.",
                        "default": 1
                  },
                  "resolve_server_by_dns": {
                    "type": "boolean",
                    "description": "Auto resolve server's IP using DNS name."
                  },
                  "rewrite_host_header": {
                    "type": "boolean",
                    "description": "Rewrite incoming Host Header to server name."
                  },
                  "server_node": {
                    "type": "string",
                    "description": "Hostname of the node where the server VM or container resides."
                  },
                  "static": {
                    "type": "boolean",
                    "description": "If statically learned."
                  },
                  "verify_network": {
                    "type": "boolean",
                    "description": "Verify server belongs to a discovered network or reachable via a discovered network. Verify reachable network isn't the OpenStack management network."
                  },
                  "vm_ref": {
                    "type": "string",
                    "description": "(internal-use) This field is used internally by Avi, not editable by the user. It is a reference to an object of type VIMgrVMRuntime."
                  }
                }
              },
              "description": "The pool directs load balanced traffic to this list of destination servers. The servers can be configured by IP address, name, network or via IP Address Group."
            },
            "service_metadata": {
              "type": "string",
              "description": "Metadata pertaining to the service provided by this Pool. In Openshift/Kubernetes environments, app metadata info is stored. Any user input to this field will be overwritten by Avi Vantage. Field introduced in 17.2.14,18.1.5,18.2.1."
            },
            "sni_enabled": {
              "type": "boolean",
              "description": "Enable TLS SNI for server connections. If disabled, Avi will not send the SNI extension as part of the handshake.",
              "default": true
            },
            "ssl_key_and_certificate_ref": {
              "type": "string",
              "description": "Service Engines will present a client SSL certificate to the server. It is a reference to an object of type SSLKeyAndCertificate."
            },
            "ssl_profile_ref": {
              "type": "string",
              "description": "When enabled, Avi re-encrypts traffic to the backend servers. The specific SSL profile defines which ciphers and SSL versions will be supported. It is a reference to an object of type SSLProfile."
            },
            "tenant_ref": {
              "type": "string",
              "description": "It is a reference to an object of type Tenant."
            },
            "tier1_lr": {
              "type": "string",
              "description": "This tier1_lr field should be set same as VirtualService associated for NSX-T. Field introduced in 20.1.1."
            },
            "url": {
              "type": "string",
              "description": "url"
            },
            "use_service_port": {
              "type": "boolean",
              "description": "Do not translate the client's destination port when sending the connection to the server.  The pool or servers specified service port will still be used for health monitoring."
            },
            "uuid": {
              "type": "string",
              "description": "UUID of the pool."
            },
            "vrf_ref": {
              "type": "string",
              "description": "Virtual Routing Context that the pool is bound to. This is used to provide the isolation of the set of networks the pool is attached to. The pool inherits the Virtual Routing Conext of the Virtual Service, and this field is used only internally, and is set by pb-transform. It is a reference to an object of type VrfContext."
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/poolPOST"
      },
      "task": true
    },
    {
      "name": "poolByUuidGET",
      "summary": "PoolByUuid_GET",
      "description": "PoolByUuid_GET",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "object name: string",
          "required": false,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "fields",
          "type": "string",
          "info": "List of fields to be returned for the resource. Some fields like name, URL, uuid etc. are always returned.: string",
          "required": false,
          "schema": {
            "title": "fields",
            "type": "string"
          }
        },
        {
          "name": "includeName",
          "type": "boolean",
          "info": "All the Avi REST reference URIs have a name suffix as URI#name. It is useful to get the referenced resource name without performing get on that object.: boolean",
          "required": false,
          "schema": {
            "title": "includeName",
            "type": "boolean"
          }
        },
        {
          "name": "skipDefault",
          "type": "boolean",
          "info": "Default values are not set.: boolean",
          "required": false,
          "schema": {
            "title": "skipDefault",
            "type": "boolean"
          }
        },
        {
          "name": "joinSubresources",
          "type": "string",
          "info": "It automatically returns additional dependent resources like runtime. Eg. join_subresources=runtime.: string",
          "required": false,
          "schema": {
            "title": "joinSubresources",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "Pool",
          "required": [
            "name"
          ],
          "type": "object",
          "properties": {
            "_last_modified": {
              "type": "string",
              "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
            },
            "a_pool": {
              "type": "string",
              "description": "Name of container cloud application that constitutes A pool in a A-B pool configuration, if different from VS app. Field deprecated in 18.1.2."
            },
            "ab_pool": {
              "title": "AbPool",
              "required": [
                "pool_ref"
              ],
              "type": "object",
              "properties": {
                "pool_ref": {
                  "type": "string",
                  "description": "Pool configured as B pool for A/B testing. It is a reference to an object of type Pool."
                },
                "ratio": {
                  "type": "integer",
                  "description": "Ratio of traffic diverted to the B pool, for A/B testing. Allowed values are 0-100."
                }
              }
            },
            "ab_priority": {
              "type": "integer",
              "description": "Priority of this pool in a A-B pool pair. Internally used. Field deprecated in 18.1.2."
            },
            "analytics_policy": {
              "title": "PoolAnalyticsPolicy",
              "type": "object",
              "properties": {
                "enable_realtime_metrics": {
                  "type": "boolean",
                  "description": "Enable real time metrics for server and pool metrics eg. l4_server.xxx, l7_server.xxx. Field introduced in 18.1.5, 18.2.1."
                }
              }
            },
            "analytics_profile_ref": {
              "type": "string",
              "description": "Specifies settings related to analytics. It is a reference to an object of type AnalyticsProfile. Field introduced in 18.1.4,18.2.1."
            },
            "apic_epg_name": {
              "type": "string",
              "description": "Synchronize Cisco APIC EPG members with pool servers."
            },
            "application_persistence_profile_ref": {
              "type": "string",
              "description": "Persistence will ensure the same user sticks to the same server for a desired duration of time. It is a reference to an object of type ApplicationPersistenceProfile."
            },
            "autoscale_launch_config_ref": {
              "type": "string",
              "description": "If configured then Avi will trigger orchestration of pool server creation and deletion. It is only supported for container clouds like Mesos, Opensift, Kubernates, Docker etc. It is a reference to an object of type AutoScaleLaunchConfig."
            },
            "autoscale_networks": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Network Ids for the launch configuration."
            },
            "autoscale_policy_ref": {
              "type": "string",
              "description": "Reference to Server Autoscale Policy. It is a reference to an object of type ServerAutoScalePolicy."
            },
            "capacity_estimation": {
              "type": "boolean",
              "description": "Inline estimation of capacity of servers."
            },
            "capacity_estimation_ttfb_thresh": {
              "type": "integer",
              "description": "The maximum time-to-first-byte of a server. Allowed values are 1-5000. Special values are 0 - 'Automatic'."
            },
            "cloud_config_cksum": {
              "type": "string",
              "description": "Checksum of cloud configuration for Pool. Internally set by cloud connector."
            },
            "cloud_ref": {
              "type": "string",
              "description": "It is a reference to an object of type Cloud."
            },
            "conn_pool_properties": {
              "title": "ConnPoolProperties",
              "type": "object",
              "properties": {
                "upstream_connpool_conn_idle_tmo": {
                  "type": "integer",
                  "description": "Connection idle timeout. Field introduced in 18.2.1.",
                    "default": 60000
                },
                "upstream_connpool_conn_life_tmo": {
                  "type": "integer",
                  "description": "Connection life timeout. Field introduced in 18.2.1.",
                    "default": 600000
                },
                "upstream_connpool_conn_max_reuse": {
                  "type": "integer",
                  "description": "Maximum number of times a connection can be reused. Special values are 0- 'unlimited'. Field introduced in 18.2.1."
                },
                "upstream_connpool_server_max_cache": {
                  "type": "integer",
                  "description": "Maximum number of connections a server can cache. Special values are 0- 'unlimited'. Field introduced in 18.2.1."
                }
              }
            },
            "connection_ramp_duration": {
              "type": "integer",
              "description": "Duration for which new connections will be gradually ramped up to a server recently brought online.  Useful for LB algorithms that are least connection based. Allowed values are 1-300. Special values are 0 - 'Immediate'.",
              "default": 10
            },
            "created_by": {
              "type": "string",
              "description": "Creator name."
            },
            "default_server_port": {
              "type": "integer",
              "description": "Traffic sent to servers will use this destination server port unless overridden by the server's specific port attribute. The SSL checkbox enables Avi to server encryption. Allowed values are 1-65535.",
              "default": 80
            },
            "delete_server_on_dns_refresh": {
              "type": "boolean",
              "description": "Indicates whether existing IPs are disabled(false) or deleted(true) on dns hostname refreshDetail -- On a dns refresh, some IPs set on pool may no longer be returned by the resolver. These IPs are deleted from the pool when this knob is set to true. They are disabled, if the knob is set to false. Field introduced in 18.2.3.",
              "default": true
            },
            "description": {
              "type": "string",
              "description": "A description of the pool."
            },
            "domain_name": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Comma separated list of domain names which will be used to verify the common names or subject alternative names presented by server certificates. It is performed only when common name check host_check_enabled is enabled."
            },
            "east_west": {
              "type": "boolean",
              "description": "Inherited config from VirtualService."
            },
            "enable_http2": {
              "type": "boolean",
              "description": "Enable HTTP/2 for traffic from VirtualService to all backend servers in this pool. Field introduced in 20.1.1."
            },
            "enabled": {
              "type": "boolean",
              "description": "Enable or disable the pool.  Disabling will terminate all open connections and pause health monitors.",
              "default": true
            },
            "external_autoscale_groups": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Names of external auto-scale groups for pool servers. Currently available only for AWS and Azure. Field introduced in 17.1.2."
            },
            "fail_action": {
              "title": "FailAction",
              "required": [
                "type"
              ],
              "type": "object",
              "properties": {
                "backup_pool": {
                  "title": "FailActionBackupPool",
                  "required": [
                    "backup_pool_ref"
                  ],
                  "type": "object",
                  "properties": {
                    "backup_pool_ref": {
                      "type": "string",
                      "description": "Specifies the UUID of the Pool acting as backup pool. It is a reference to an object of type Pool."
                    }
                  }
                },
                "local_rsp": {
                  "title": "FailActionHTTPLocalResponse",
                  "type": "object",
                  "properties": {
                    "file": {
                      "title": "HTTPLocalFile",
                      "required": [
                        "content_type",
                        "file_content"
                      ],
                      "type": "object",
                      "properties": {
                        "content_type": {
                          "type": "string",
                          "description": "Mime-type of the content in the file."
                        },
                        "file_content": {
                          "type": "string",
                          "description": "File content to used in the local HTTP response body."
                        }
                      }
                    },
                    "status_code": {
                      "type": "string",
                      "description": "Enum options - FAIL_HTTP_STATUS_CODE_200, FAIL_HTTP_STATUS_CODE_503.",
                      "default": "FAIL_HTTP_STATUS_CODE_503"
                    }
                  }
                },
                "redirect": {
                  "title": "FailActionHTTPRedirect",
                  "required": [
                    "host"
                  ],
                  "type": "object",
                  "properties": {
                    "host": {
                      "type": "string",
                      "description": "host of FailActionHTTPRedirect."
                    },
                    "path": {
                      "type": "string",
                      "description": "path of FailActionHTTPRedirect."
                    },
                    "protocol": {
                      "type": "string",
                      "description": "Enum options - HTTP, HTTPS.",
                      "default": "HTTPS"
                    },
                    "query": {
                      "type": "string",
                      "description": "query of FailActionHTTPRedirect."
                    },
                    "status_code": {
                      "type": "string",
                      "description": "Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307.",
                      "default": "HTTP_REDIRECT_STATUS_CODE_302"
                    }
                  }
                },
                "type": {
                  "type": "string",
                  "description": "Enables a response to client when pool experiences a failure. By default TCP connection is closed. Enum options - FAIL_ACTION_HTTP_REDIRECT, FAIL_ACTION_HTTP_LOCAL_RSP, FAIL_ACTION_CLOSE_CONN, FAIL_ACTION_BACKUP_POOL.",
                  "example": "FAIL_ACTION_CLOSE_CONN"
                }
              }
            },
            "fewest_tasks_feedback_delay": {
              "type": "integer",
              "description": "Periodicity of feedback for fewest tasks server selection algorithm. Allowed values are 1-300.",
              "default": 10
            },
            "graceful_disable_timeout": {
              "type": "integer",
              "description": "Used to gracefully disable a server. Virtual service waits for the specified time before terminating the existing connections  to the servers that are disabled. Allowed values are 1-7200. Special values are 0 - 'Immediate', -1 - 'Infinite'.",
              "default": 1
            },
            "gslb_sp_enabled": {
              "type": "boolean",
              "description": "Indicates if the pool is a site-persistence pool. . Field introduced in 17.2.1."
            },
            "health_monitor_refs": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Verify server health by applying one or more health monitors.  Active monitors generate synthetic traffic from each Service Engine and mark a server up or down based on the response. The Passive monitor listens only to client to server communication. It raises or lowers the ratio of traffic destined to a server based on successful responses. It is a reference to an object of type HealthMonitor."
            },
            "host_check_enabled": {
              "type": "boolean",
              "description": "Enable common name check for server certificate. If enabled and no explicit domain name is specified, Avi will use the incoming host header to do the match."
            },
            "ignore_server_port": {
              "type": "boolean",
              "description": "Ignore the server port in building the load balancing state.Applicable only for consistent hash load balancing algorithm or Disable Port translation (use_service_port) use cases. Field introduced in 20.1.1."
            },
            "inline_health_monitor": {
              "type": "boolean",
              "description": "The Passive monitor will monitor client to server connections and requests and adjust traffic load to servers based on successful responses.  This may alter the expected behavior of the LB method, such as Round Robin.",
              "default": true
            },
            "ipaddrgroup_ref": {
              "type": "string",
              "description": "Use list of servers from Ip Address Group. It is a reference to an object of type IpAddrGroup."
            },
            "lb_algorithm": {
              "type": "string",
              "description": "The load balancing algorithm will pick a server within the pool's list of available servers. Enum options - LB_ALGORITHM_LEAST_CONNECTIONS, LB_ALGORITHM_ROUND_ROBIN, LB_ALGORITHM_FASTEST_RESPONSE, LB_ALGORITHM_CONSISTENT_HASH, LB_ALGORITHM_LEAST_LOAD, LB_ALGORITHM_FEWEST_SERVERS, LB_ALGORITHM_RANDOM, LB_ALGORITHM_FEWEST_TASKS, LB_ALGORITHM_NEAREST_SERVER, LB_ALGORITHM_CORE_AFFINITY, LB_ALGORITHM_TOPOLOGY.",
              "default": "LB_ALGORITHM_LEAST_CONNECTIONS"
            },
            "lb_algorithm_consistent_hash_hdr": {
              "type": "string",
              "description": "HTTP header name to be used for the hash key."
            },
            "lb_algorithm_core_nonaffinity": {
              "type": "integer",
              "description": "Degree of non-affinity for core affinity based server selection. Allowed values are 1-65535. Field introduced in 17.1.3.",
              "default": 2
            },
            "lb_algorithm_hash": {
              "type": "string",
              "description": "Criteria used as a key for determining the hash between the client and  server. Enum options - LB_ALGORITHM_CONSISTENT_HASH_SOURCE_IP_ADDRESS, LB_ALGORITHM_CONSISTENT_HASH_SOURCE_IP_ADDRESS_AND_PORT, LB_ALGORITHM_CONSISTENT_HASH_URI, LB_ALGORITHM_CONSISTENT_HASH_CUSTOM_HEADER, LB_ALGORITHM_CONSISTENT_HASH_CUSTOM_STRING, LB_ALGORITHM_CONSISTENT_HASH_CALLID.",
              "default": "LB_ALGORITHM_CONSISTENT_HASH_SOURCE_IP_ADDRESS"
            },
            "lookup_server_by_name": {
              "type": "boolean",
              "description": "Allow server lookup by name. Field introduced in 17.1.11,17.2.4."
            },
            "max_concurrent_connections_per_server": {
              "type": "integer",
              "description": "The maximum number of concurrent connections allowed to each server within the pool. NOTE  applied value will be no less than the number of service engines that the pool is placed on. If set to 0, no limit is applied."
            },
            "max_conn_rate_per_server": {
              "title": "RateProfile",
              "required": [
                "action"
              ],
              "type": "object",
              "properties": {
                "action": {
                  "title": "RateLimiterAction",
                  "type": "object",
                  "properties": {
                    "file": {
                      "title": "HTTPLocalFile",
                      "required": [
                        "content_type",
                        "file_content"
                      ],
                      "type": "object",
                      "properties": {
                        "content_type": {
                          "type": "string",
                          "description": "Mime-type of the content in the file."
                        },
                        "file_content": {
                          "type": "string",
                          "description": "File content to used in the local HTTP response body."
                        }
                      }
                    },
                    "redirect": {
                      "title": "HTTPRedirectAction",
                      "required": [
                        "protocol"
                      ],
                      "type": "object",
                      "properties": {
                        "host": {
                          "type": "object",
                          "description": ""
                        },
                        "keep_query": {
                          "type": "boolean",
                          "description": "Keep or drop the query of the incoming request URI in the redirected URI.",
                          "default": true
                        },
                        "path": {
                          "type": "object",
                          "description": ""
                        },
                        "port": {
                          "type": "integer",
                          "description": "Port to which redirect the request. Allowed values are 1-65535."
                        },
                        "protocol": {
                          "type": "string",
                          "description": "Protocol type. Enum options - HTTP, HTTPS."
                        },
                        "status_code": {
                          "type": "string",
                          "description": "HTTP redirect status code. Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307.",
                          "default": "HTTP_REDIRECT_STATUS_CODE_302"
                        }
                      }
                    },
                    "status_code": {
                      "type": "string",
                      "description": "HTTP status code for Local Response rate limit action. Enum options - HTTP_LOCAL_RESPONSE_STATUS_CODE_200, HTTP_LOCAL_RESPONSE_STATUS_CODE_204, HTTP_LOCAL_RESPONSE_STATUS_CODE_403, HTTP_LOCAL_RESPONSE_STATUS_CODE_404, HTTP_LOCAL_RESPONSE_STATUS_CODE_429, HTTP_LOCAL_RESPONSE_STATUS_CODE_501.",
                      "default": "HTTP_LOCAL_RESPONSE_STATUS_CODE_429"
                    },
                    "type": {
                      "type": "string",
                      "description": "Type of action to be enforced upon hitting the rate limit. Enum options - RL_ACTION_NONE, RL_ACTION_DROP_CONN, RL_ACTION_RESET_CONN, RL_ACTION_CLOSE_CONN, RL_ACTION_LOCAL_RSP, RL_ACTION_REDIRECT.",
                      "default": "RL_ACTION_NONE"
                    }
                  }
                },
                "burst_sz": {
                  "type": "integer",
                  "description": "Maximum number of connections or requests or packets to be let through instantaneously. Allowed values are 10-2500. Special values are 0- 'automatic'. Field deprecated in 18.2.9."
                },
                "count": {
                  "type": "integer",
                  "description": "Maximum number of connections or requests or packets. Allowed values are 1-1000000000. Special values are 0- 'unlimited'. Field deprecated in 18.2.9."
                },
                "explicit_tracking": {
                  "type": "boolean",
                  "description": "Explicitly tracks an attacker across rate periods."
                },
                "fine_grain": {
                  "type": "boolean",
                  "description": "Enable fine granularity."
                },
                "http_cookie": {
                  "type": "string",
                  "description": "HTTP cookie name. Field introduced in 17.1.1."
                },
                "http_header": {
                  "type": "string",
                  "description": "HTTP header name. Field introduced in 17.1.1."
                },
                "period": {
                  "type": "integer",
                  "description": "Time value in seconds to enforce rate count. Allowed values are 1-300. Field deprecated in 18.2.9."
                },
                "rate_limiter": {
                  "title": "RateLimiter",
                  "required": [
                    "count",
                    "period"
                  ],
                  "type": "object",
                  "properties": {
                    "burst_sz": {
                      "type": "integer",
                      "description": "Maximum number of connections, requests or packets to be let through instantaneously.  If this is less than count, it will have no effect. Allowed values are 0-1000000000. Field introduced in 18.2.9."
                    },
                    "count": {
                      "type": "integer",
                      "description": "Maximum number of connections, requests or packets permitted each period. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                            "example": 1000000000
                    },
                    "name": {
                      "type": "string",
                      "description": "Identifier for Rate Limit. Constructed according to context. Field introduced in 18.2.9."
                    },
                    "period": {
                      "type": "integer",
                      "description": "Time value in seconds to enforce rate count. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                            "example": 1
                    }
                  }
                }
              }
            },
            "min_health_monitors_up": {
              "type": "integer",
              "description": "Minimum number of health monitors in UP state to mark server UP. Field introduced in 18.2.1, 17.2.12."
            },
            "min_servers_up": {
              "type": "integer",
              "description": "Minimum number of servers in UP state for marking the pool UP. Field introduced in 18.2.1, 17.2.12."
            },
            "name": {
              "type": "string",
              "description": "The name of the pool."
            },
            "networks": {
              "type": "array",
              "items": {
                "title": "NetworkFilter",
                "required": [
                  "network_ref"
                ],
                "type": "object",
                "properties": {
                  "network_ref": {
                    "type": "string",
                    "description": "It is a reference to an object of type VIMgrNWRuntime."
                  },
                  "server_filter": {
                    "type": "string",
                    "description": "server_filter of NetworkFilter."
                  }
                }
              },
              "description": "(internal-use) Networks designated as containing servers for this pool.  The servers may be further narrowed down by a filter. This field is used internally by Avi, not editable by the user."
            },
            "nsx_securitygroup": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "A list of NSX Service Groups where the Servers for the Pool are created . Field introduced in 17.1.1."
            },
            "pki_profile_ref": {
              "type": "string",
              "description": "Avi will validate the SSL certificate present by a server against the selected PKI Profile. It is a reference to an object of type PKIProfile."
            },
            "placement_networks": {
              "type": "array",
              "items": {
                "title": "PlacementNetwork",
                "required": [
                  "network_ref",
                  "subnet"
                ],
                "type": "object",
                "properties": {
                  "network_ref": {
                    "type": "string",
                    "description": "It is a reference to an object of type Network."
                  },
                  "subnet": {
                    "title": "IpAddrPrefix",
                    "required": [
                      "ip_addr",
                      "mask"
                    ],
                    "type": "object",
                    "properties": {
                      "ip_addr": {
                        "title": "IpAddr",
                        "required": [
                          "addr",
                          "type"
                        ],
                        "type": "object",
                        "properties": {
                          "addr": {
                            "type": "string",
                            "description": "IP address."
                          },
                          "type": {
                            "type": "string",
                            "description": "Enum options - V4, DNS, V6."
                          }
                        }
                      },
                      "mask": {
                        "type": "integer",
                        "description": "Number of mask."
                      }
                    }
                  }
                }
              },
              "description": "Manually select the networks and subnets used to provide reachability to the pool's servers.  Specify the Subnet using the following syntax  10-1-1-0/24. Use static routes in VRF configuration when pool servers are not directly connected but routable from the service engine."
            },
            "prst_hdr_name": {
              "type": "string",
              "description": "Header name for custom header persistence. Field deprecated in 18.1.2."
            },
            "request_queue_depth": {
              "type": "integer",
              "description": "Minimum number of requests to be queued when pool is full.",
              "default": 128
            },
            "request_queue_enabled": {
              "type": "boolean",
              "description": "Enable request queue when pool is full."
            },
            "rewrite_host_header_to_server_name": {
              "type": "boolean",
              "description": "Rewrite incoming Host Header to server name of the server to which the request is proxied.  Enabling this feature rewrites Host Header for requests to all servers in the pool."
            },
            "rewrite_host_header_to_sni": {
              "type": "boolean",
              "description": "If SNI server name is specified, rewrite incoming host header to the SNI server name."
            },
            "routing_pool": {
              "type": "boolean",
              "description": "Enable to do routing when this pool is selected to send traffic. No servers present in routing pool. Field introduced in 20.1.1."
            },
            "server_auto_scale": {
              "type": "boolean",
              "description": "Server AutoScale. Not used anymore. Field deprecated in 18.1.2."
            },
            "server_count": {
              "type": "integer",
              "description": "Field deprecated in 18.2.1."
            },
            "server_name": {
              "type": "string",
              "description": "Fully qualified DNS hostname which will be used in the TLS SNI extension in server connections if SNI is enabled. If no value is specified, Avi will use the incoming host header instead."
            },
            "server_reselect": {
              "title": "HTTPServerReselect",
              "required": [
                "enabled"
              ],
              "type": "object",
              "properties": {
                "enabled": {
                  "type": "boolean",
                  "description": "Enable HTTP request reselect when server responds with specific response codes."
                },
                "num_retries": {
                  "type": "integer",
                  "description": "Number of times to retry an HTTP request when server responds with configured status codes.",
                    "default": 4
                },
                "retry_nonidempotent": {
                  "type": "boolean",
                  "description": "Allow retry of non-idempotent HTTP requests."
                },
                "retry_timeout": {
                  "type": "integer",
                  "description": "Timeout per retry attempt, for a given request. Value of 0 indicates default timeout. Allowed values are 0-3600000. Field introduced in 18.1.5,18.2.1."
                },
                "svr_resp_code": {
                  "title": "HTTPReselectRespCode",
                  "type": "object",
                  "properties": {
                    "codes": {
                      "type": "array",
                      "items": {
                        "type": "integer"
                      },
                      "description": "HTTP response code to be matched. Allowed values are 400-599."
                    },
                    "ranges": {
                      "type": "array",
                      "items": {
                        "title": "HTTPStatusRange",
                        "required": [
                          "begin",
                          "end"
                        ],
                        "type": "object",
                        "properties": {
                          "begin": {
                            "type": "integer",
                            "description": "Starting HTTP response status code."
                          },
                          "end": {
                            "type": "integer",
                            "description": "Ending HTTP response status code."
                          }
                        }
                      },
                      "description": "HTTP response code ranges to match."
                    },
                    "resp_code_block": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "Block of HTTP response codes to match for server reselect. Enum options - HTTP_RSP_4XX, HTTP_RSP_5XX."
                    }
                  }
                }
              }
            },
            "server_timeout": {
              "type": "integer",
              "description": "Server timeout value specifies the time within which a server connection needs to be established and a request-response exchange completes between AVI and the server. Value of 0 results in using default timeout of 60 minutes. Allowed values are 0-3600000. Field introduced in 18.1.5,18.2.1."
            },
            "servers": {
              "type": "array",
              "items": {
                "title": "Server",
                "required": [
                  "ip"
                ],
                "type": "object",
                "properties": {
                  "autoscaling_group_name": {
                    "type": "string",
                    "description": "Name of autoscaling group this server belongs to. Field introduced in 17.1.2."
                  },
                  "availability_zone": {
                    "type": "string",
                    "description": "Availability-zone of the server VM."
                  },
                  "description": {
                    "type": "string",
                    "description": "A description of the Server."
                  },
                  "discovered_network_ref": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "(internal-use) Discovered network for this server. This field is deprecated. It is a reference to an object of type Network. Field deprecated in 17.1.1."
                  },
                  "discovered_networks": {
                    "type": "array",
                    "items": {
                      "title": "DiscoveredNetwork",
                      "required": [
                        "network_ref"
                      ],
                      "type": "object",
                      "properties": {
                        "network_ref": {
                          "type": "string",
                          "description": "Discovered network for this IP. It is a reference to an object of type Network."
                        },
                        "subnet": {
                          "type": "array",
                          "items": {
                            "title": "IpAddrPrefix",
                            "required": [
                              "ip_addr",
                              "mask"
                            ],
                            "type": "object",
                            "properties": {
                              "ip_addr": {
                                "title": "IpAddr",
                                "required": [
                                  "addr",
                                  "type"
                                ],
                                "type": "object",
                                "properties": {
                                  "addr": {
                                    "type": "string",
                                    "description": "IP address."
                                  },
                                  "type": {
                                    "type": "string",
                                    "description": "Enum options - V4, DNS, V6."
                                  }
                                }
                              },
                              "mask": {
                                "type": "integer",
                                "description": "Number of mask."
                              }
                            }
                          },
                          "description": "Discovered subnet for this IP."
                        },
                        "subnet6": {
                          "type": "array",
                          "items": {
                            "title": "IpAddrPrefix",
                            "required": [
                              "ip_addr",
                              "mask"
                            ],
                            "type": "object",
                            "properties": {
                              "ip_addr": {
                                "title": "IpAddr",
                                "required": [
                                  "addr",
                                  "type"
                                ],
                                "type": "object",
                                "properties": {
                                  "addr": {
                                    "type": "string",
                                    "description": "IP address."
                                  },
                                  "type": {
                                    "type": "string",
                                    "description": "Enum options - V4, DNS, V6."
                                  }
                                }
                              },
                              "mask": {
                                "type": "integer",
                                "description": "Number of mask."
                              }
                            }
                          },
                          "description": "Discovered IPv6 subnet for this IP. Field introduced in 18.1.1."
                        }
                      }
                    },
                    "description": "(internal-use) Discovered networks providing reachability for server IP. This field is used internally by Avi, not editable by the user."
                  },
                  "discovered_subnet": {
                    "type": "array",
                    "items": {
                      "title": "IpAddrPrefix",
                      "required": [
                        "ip_addr",
                        "mask"
                      ],
                      "type": "object",
                      "properties": {
                        "ip_addr": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "mask": {
                          "type": "integer",
                          "description": "Number of mask."
                        }
                      }
                    },
                    "description": "(internal-use) Discovered subnet for this server. This field is deprecated. Field deprecated in 17.1.1."
                  },
                  "enabled": {
                    "type": "boolean",
                    "description": "Enable, Disable or Graceful Disable determine if new or existing connections to the server are allowed.",
                    "default": true
                  },
                  "external_orchestration_id": {
                    "type": "string",
                    "description": "UID of server in external orchestration systems."
                  },
                  "external_uuid": {
                    "type": "string",
                    "description": "UUID identifying VM in OpenStack and other external compute."
                  },
                  "hostname": {
                    "type": "string",
                    "description": "DNS resolvable name of the server.  May be used in place of the IP address."
                  },
                  "ip": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "location": {
                    "title": "GeoLocation",
                    "type": "object",
                    "properties": {
                      "latitude": {
                        "type": "number",
                        "description": "Latitude of the location. This is represented as degrees.minutes. The range is from -90.0 (south) to +90.0 (north). Allowed values are -90.0-+90.0. Field introduced in 17.1.1."
                      },
                      "longitude": {
                        "type": "number",
                        "description": "Longitude of the location. This is represented as degrees.minutes. The range is from -180.0 (west) to +180.0 (east). Allowed values are -180.0-+180.0. Field introduced in 17.1.1."
                      },
                      "name": {
                        "type": "string",
                        "description": "Location name in the format Country/State/City. Field introduced in 17.1.1."
                      },
                      "tag": {
                        "type": "string",
                        "description": "Location tag string - example  USEast. Field introduced in 17.1.1."
                      }
                    }
                  },
                  "mac_address": {
                    "type": "string",
                    "description": "MAC address of server."
                  },
                  "nw_ref": {
                    "type": "string",
                    "description": "(internal-use) This field is used internally by Avi, not editable by the user. It is a reference to an object of type VIMgrNWRuntime."
                  },
                  "port": {
                    "type": "integer",
                    "description": "Optionally specify the servers port number.  This will override the pool's default server port attribute. Allowed values are 1-65535. Special values are 0- 'use backend port in pool'."
                  },
                  "prst_hdr_val": {
                    "type": "string",
                    "description": "Header value for custom header persistence. ."
                  },
                  "ratio": {
                    "type": "integer",
                    "description": "Ratio of selecting eligible servers in the pool. Allowed values are 1-20.",
                        "default": 1
                  },
                  "resolve_server_by_dns": {
                    "type": "boolean",
                    "description": "Auto resolve server's IP using DNS name."
                  },
                  "rewrite_host_header": {
                    "type": "boolean",
                    "description": "Rewrite incoming Host Header to server name."
                  },
                  "server_node": {
                    "type": "string",
                    "description": "Hostname of the node where the server VM or container resides."
                  },
                  "static": {
                    "type": "boolean",
                    "description": "If statically learned."
                  },
                  "verify_network": {
                    "type": "boolean",
                    "description": "Verify server belongs to a discovered network or reachable via a discovered network. Verify reachable network isn't the OpenStack management network."
                  },
                  "vm_ref": {
                    "type": "string",
                    "description": "(internal-use) This field is used internally by Avi, not editable by the user. It is a reference to an object of type VIMgrVMRuntime."
                  }
                }
              },
              "description": "The pool directs load balanced traffic to this list of destination servers. The servers can be configured by IP address, name, network or via IP Address Group."
            },
            "service_metadata": {
              "type": "string",
              "description": "Metadata pertaining to the service provided by this Pool. In Openshift/Kubernetes environments, app metadata info is stored. Any user input to this field will be overwritten by Avi Vantage. Field introduced in 17.2.14,18.1.5,18.2.1."
            },
            "sni_enabled": {
              "type": "boolean",
              "description": "Enable TLS SNI for server connections. If disabled, Avi will not send the SNI extension as part of the handshake.",
              "default": true
            },
            "ssl_key_and_certificate_ref": {
              "type": "string",
              "description": "Service Engines will present a client SSL certificate to the server. It is a reference to an object of type SSLKeyAndCertificate."
            },
            "ssl_profile_ref": {
              "type": "string",
              "description": "When enabled, Avi re-encrypts traffic to the backend servers. The specific SSL profile defines which ciphers and SSL versions will be supported. It is a reference to an object of type SSLProfile."
            },
            "tenant_ref": {
              "type": "string",
              "description": "It is a reference to an object of type Tenant."
            },
            "tier1_lr": {
              "type": "string",
              "description": "This tier1_lr field should be set same as VirtualService associated for NSX-T. Field introduced in 20.1.1."
            },
            "url": {
              "type": "string",
              "description": "url"
            },
            "use_service_port": {
              "type": "boolean",
              "description": "Do not translate the client's destination port when sending the connection to the server.  The pool or servers specified service port will still be used for health monitoring."
            },
            "uuid": {
              "type": "string",
              "description": "UUID of the pool."
            },
            "vrf_ref": {
              "type": "string",
              "description": "Virtual Routing Context that the pool is bound to. This is used to provide the isolation of the set of networks the pool is attached to. The pool inherits the Virtual Routing Conext of the Virtual Service, and this field is used only internally, and is set by pb-transform. It is a reference to an object of type VrfContext."
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/poolByUuidGET"
      },
      "task": true
    },
    {
      "name": "poolByUuidPUT",
      "summary": "PoolByUuid_PUT",
      "description": "PoolByUuid_PUT",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "object name: string",
          "required": false,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "Pool object creation: {\"_last_modified\": \"string\", \"a_pool\": \"string\", \"ab_pool\": {\"pool_ref\": \"string\", \"ratio\": 123}, \"ab_priority\": 123, \"analytics_policy\": {\"enable_realtime_metrics\": \"boolean\"}, \"analytics_profile_ref\": \"string\", \"apic_epg_name\": \"string\", \"application_persistence_profile_ref\": \"string\", \"autoscale_launch_config_ref\": \"string\", \"autoscale_networks\": \"array\", \"autoscale_policy_ref\": \"string\", \"capacity_estimation\": \"boolean\", \"capacity_estimation_ttfb_thresh\": 123, \"cloud_config_cksum\": \"string\", \"cloud_ref\": \"string\", \"conn_pool_properties\": {\"upstream_connpool_conn_idle_tmo\": 123, \"upstream_connpool_conn_life_tmo\": 123, \"upstream_connpool_conn_max_reuse\": 123, \"upstream_connpool_server_max_cache\": 123}, \"connection_ramp_duration\": 123, \"created_by\": \"string\", \"default_server_port\": 123, \"delete_server_on_dns_refresh\": \"boolean\", \"description\": \"string\", \"domain_name\": \"array\", \"east_west\": \"boolean\", \"enable_http2\": \"boolean\", \"enabled\": \"boolean\", \"external_autoscale_groups\": \"array\", \"fail_action\": {\"backup_pool\": {\"backup_pool_ref\": \"string\"}, \"local_rsp\": {\"file\": {\"content_type\": \"string\", \"file_content\": \"string\"}, \"status_code\": \"string\"}, \"redirect\": {\"host\": \"string\", \"path\": \"string\", \"protocol\": \"string\", \"query\": \"string\", \"status_code\": \"string\"}, \"type\": \"string\"}, \"fewest_tasks_feedback_delay\": 123, \"graceful_disable_timeout\": 123, \"gslb_sp_enabled\": \"boolean\", \"health_monitor_refs\": \"array\", \"host_check_enabled\": \"boolean\", \"ignore_server_port\": \"boolean\", \"inline_health_monitor\": \"boolean\", \"ipaddrgroup_ref\": \"string\", \"lb_algorithm\": \"string\", \"lb_algorithm_consistent_hash_hdr\": \"string\", \"lb_algorithm_core_nonaffinity\": 123, \"lb_algorithm_hash\": \"string\", \"lookup_server_by_name\": \"boolean\", \"max_concurrent_connections_per_server\": 123, \"max_conn_rate_per_server\": {\"action\": {\"file\": {\"content_type\": \"string\", \"file_content\": \"string\"}, \"redirect\": {\"host\": \"object\", \"keep_query\": \"boolean\", \"path\": \"object\", \"port\": 123, \"protocol\": \"string\", \"status_code\": \"string\"}, \"status_code\": \"string\", \"type\": \"string\"}, \"burst_sz\": 123, \"count\": 123, \"explicit_tracking\": \"boolean\", \"fine_grain\": \"boolean\", \"http_cookie\": \"string\", \"http_header\": \"string\", \"period\": 123, \"rate_limiter\": {\"burst_sz\": 123, \"count\": 123, \"name\": \"string\", \"period\": 123}}, \"min_health_monitors_up\": 123, \"min_servers_up\": 123, \"name\": \"string\", \"networks\": [{\"network_ref\": \"string\", \"server_filter\": \"string\"}], \"nsx_securitygroup\": \"array\", \"pki_profile_ref\": \"string\", \"placement_networks\": [{\"network_ref\": \"string\", \"subnet\": {\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}}], \"prst_hdr_name\": \"string\", \"request_queue_depth\": 123, \"request_queue_enabled\": \"boolean\", \"rewrite_host_header_to_server_name\": \"boolean\", \"rewrite_host_header_to_sni\": \"boolean\", \"routing_pool\": \"boolean\", \"server_auto_scale\": \"boolean\", \"server_count\": 123, \"server_name\": \"string\", \"server_reselect\": {\"enabled\": \"boolean\", \"num_retries\": 123, \"retry_nonidempotent\": \"boolean\", \"retry_timeout\": 123, \"svr_resp_code\": {\"codes\": \"array\", \"ranges\": [{\"begin\": 123, \"end\": 123}], \"resp_code_block\": \"array\"}}, \"server_timeout\": 123, \"servers\": [{\"autoscaling_group_name\": \"string\", \"availability_zone\": \"string\", \"description\": \"string\", \"discovered_network_ref\": \"array\", \"discovered_networks\": [{\"network_ref\": \"string\", \"subnet\": [{\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}], \"subnet6\": [{\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}]}], \"discovered_subnet\": [{\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}], \"enabled\": \"boolean\", \"external_orchestration_id\": \"string\", \"external_uuid\": \"string\", \"hostname\": \"string\", \"ip\": {\"addr\": \"string\", \"type\": \"string\"}, \"location\": {\"latitude\": 123, \"longitude\": 123, \"name\": \"string\", \"tag\": \"string\"}, \"mac_address\": \"string\", \"nw_ref\": \"string\", \"port\": 123, \"prst_hdr_val\": \"string\", \"ratio\": 123, \"resolve_server_by_dns\": \"boolean\", \"rewrite_host_header\": \"boolean\", \"server_node\": \"string\", \"static\": \"boolean\", \"verify_network\": \"boolean\", \"vm_ref\": \"string\"}], \"service_metadata\": \"string\", \"sni_enabled\": \"boolean\", \"ssl_key_and_certificate_ref\": \"string\", \"ssl_profile_ref\": \"string\", \"tenant_ref\": \"string\", \"tier1_lr\": \"string\", \"url\": \"string\", \"use_service_port\": \"boolean\", \"uuid\": \"string\", \"vrf_ref\": \"string\"}",
          "required": true,
          "schema": {
            "title": "Pool",
            "required": [
              "name"
            ],
            "type": "object",
            "properties": {
              "_last_modified": {
                "type": "string",
                "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
              },
              "a_pool": {
                "type": "string",
                "description": "Name of container cloud application that constitutes A pool in a A-B pool configuration, if different from VS app. Field deprecated in 18.1.2."
              },
              "ab_pool": {
                "title": "AbPool",
                "required": [
                  "pool_ref"
                ],
                "type": "object",
                "properties": {
                  "pool_ref": {
                    "type": "string",
                    "description": "Pool configured as B pool for A/B testing. It is a reference to an object of type Pool."
                  },
                  "ratio": {
                    "type": "integer",
                    "description": "Ratio of traffic diverted to the B pool, for A/B testing. Allowed values are 0-100."
                  }
                }
              },
              "ab_priority": {
                "type": "integer",
                "description": "Priority of this pool in a A-B pool pair. Internally used. Field deprecated in 18.1.2."
              },
              "analytics_policy": {
                "title": "PoolAnalyticsPolicy",
                "type": "object",
                "properties": {
                  "enable_realtime_metrics": {
                    "type": "boolean",
                    "description": "Enable real time metrics for server and pool metrics eg. l4_server.xxx, l7_server.xxx. Field introduced in 18.1.5, 18.2.1."
                  }
                }
              },
              "analytics_profile_ref": {
                "type": "string",
                "description": "Specifies settings related to analytics. It is a reference to an object of type AnalyticsProfile. Field introduced in 18.1.4,18.2.1."
              },
              "apic_epg_name": {
                "type": "string",
                "description": "Synchronize Cisco APIC EPG members with pool servers."
              },
              "application_persistence_profile_ref": {
                "type": "string",
                "description": "Persistence will ensure the same user sticks to the same server for a desired duration of time. It is a reference to an object of type ApplicationPersistenceProfile."
              },
              "autoscale_launch_config_ref": {
                "type": "string",
                "description": "If configured then Avi will trigger orchestration of pool server creation and deletion. It is only supported for container clouds like Mesos, Opensift, Kubernates, Docker etc. It is a reference to an object of type AutoScaleLaunchConfig."
              },
              "autoscale_networks": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Network Ids for the launch configuration."
              },
              "autoscale_policy_ref": {
                "type": "string",
                "description": "Reference to Server Autoscale Policy. It is a reference to an object of type ServerAutoScalePolicy."
              },
              "capacity_estimation": {
                "type": "boolean",
                "description": "Inline estimation of capacity of servers."
              },
              "capacity_estimation_ttfb_thresh": {
                "type": "integer",
                "description": "The maximum time-to-first-byte of a server. Allowed values are 1-5000. Special values are 0 - 'Automatic'."
              },
              "cloud_config_cksum": {
                "type": "string",
                "description": "Checksum of cloud configuration for Pool. Internally set by cloud connector."
              },
              "cloud_ref": {
                "type": "string",
                "description": "It is a reference to an object of type Cloud."
              },
              "conn_pool_properties": {
                "title": "ConnPoolProperties",
                "type": "object",
                "properties": {
                  "upstream_connpool_conn_idle_tmo": {
                    "type": "integer",
                    "description": "Connection idle timeout. Field introduced in 18.2.1.",
                        "default": 60000
                  },
                  "upstream_connpool_conn_life_tmo": {
                    "type": "integer",
                    "description": "Connection life timeout. Field introduced in 18.2.1.",
                        "default": 600000
                  },
                  "upstream_connpool_conn_max_reuse": {
                    "type": "integer",
                    "description": "Maximum number of times a connection can be reused. Special values are 0- 'unlimited'. Field introduced in 18.2.1."
                  },
                  "upstream_connpool_server_max_cache": {
                    "type": "integer",
                    "description": "Maximum number of connections a server can cache. Special values are 0- 'unlimited'. Field introduced in 18.2.1."
                  }
                }
              },
              "connection_ramp_duration": {
                "type": "integer",
                "description": "Duration for which new connections will be gradually ramped up to a server recently brought online.  Useful for LB algorithms that are least connection based. Allowed values are 1-300. Special values are 0 - 'Immediate'.",
                "default": 10
              },
              "created_by": {
                "type": "string",
                "description": "Creator name."
              },
              "default_server_port": {
                "type": "integer",
                "description": "Traffic sent to servers will use this destination server port unless overridden by the server's specific port attribute. The SSL checkbox enables Avi to server encryption. Allowed values are 1-65535.",
                "default": 80
              },
              "delete_server_on_dns_refresh": {
                "type": "boolean",
                "description": "Indicates whether existing IPs are disabled(false) or deleted(true) on dns hostname refreshDetail -- On a dns refresh, some IPs set on pool may no longer be returned by the resolver. These IPs are deleted from the pool when this knob is set to true. They are disabled, if the knob is set to false. Field introduced in 18.2.3.",
                "default": true
              },
              "description": {
                "type": "string",
                "description": "A description of the pool."
              },
              "domain_name": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Comma separated list of domain names which will be used to verify the common names or subject alternative names presented by server certificates. It is performed only when common name check host_check_enabled is enabled."
              },
              "east_west": {
                "type": "boolean",
                "description": "Inherited config from VirtualService."
              },
              "enable_http2": {
                "type": "boolean",
                "description": "Enable HTTP/2 for traffic from VirtualService to all backend servers in this pool. Field introduced in 20.1.1."
              },
              "enabled": {
                "type": "boolean",
                "description": "Enable or disable the pool.  Disabling will terminate all open connections and pause health monitors.",
                "default": true
              },
              "external_autoscale_groups": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Names of external auto-scale groups for pool servers. Currently available only for AWS and Azure. Field introduced in 17.1.2."
              },
              "fail_action": {
                "title": "FailAction",
                "required": [
                  "type"
                ],
                "type": "object",
                "properties": {
                  "backup_pool": {
                    "title": "FailActionBackupPool",
                    "required": [
                      "backup_pool_ref"
                    ],
                    "type": "object",
                    "properties": {
                      "backup_pool_ref": {
                        "type": "string",
                        "description": "Specifies the UUID of the Pool acting as backup pool. It is a reference to an object of type Pool."
                      }
                    }
                  },
                  "local_rsp": {
                    "title": "FailActionHTTPLocalResponse",
                    "type": "object",
                    "properties": {
                      "file": {
                        "title": "HTTPLocalFile",
                        "required": [
                          "content_type",
                          "file_content"
                        ],
                        "type": "object",
                        "properties": {
                          "content_type": {
                            "type": "string",
                            "description": "Mime-type of the content in the file."
                          },
                          "file_content": {
                            "type": "string",
                            "description": "File content to used in the local HTTP response body."
                          }
                        }
                      },
                      "status_code": {
                        "type": "string",
                        "description": "Enum options - FAIL_HTTP_STATUS_CODE_200, FAIL_HTTP_STATUS_CODE_503.",
                        "default": "FAIL_HTTP_STATUS_CODE_503"
                      }
                    }
                  },
                  "redirect": {
                    "title": "FailActionHTTPRedirect",
                    "required": [
                      "host"
                    ],
                    "type": "object",
                    "properties": {
                      "host": {
                        "type": "string",
                        "description": "host of FailActionHTTPRedirect."
                      },
                      "path": {
                        "type": "string",
                        "description": "path of FailActionHTTPRedirect."
                      },
                      "protocol": {
                        "type": "string",
                        "description": "Enum options - HTTP, HTTPS.",
                        "default": "HTTPS"
                      },
                      "query": {
                        "type": "string",
                        "description": "query of FailActionHTTPRedirect."
                      },
                      "status_code": {
                        "type": "string",
                        "description": "Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307.",
                        "default": "HTTP_REDIRECT_STATUS_CODE_302"
                      }
                    }
                  },
                  "type": {
                    "type": "string",
                    "description": "Enables a response to client when pool experiences a failure. By default TCP connection is closed. Enum options - FAIL_ACTION_HTTP_REDIRECT, FAIL_ACTION_HTTP_LOCAL_RSP, FAIL_ACTION_CLOSE_CONN, FAIL_ACTION_BACKUP_POOL.",
                    "example": "FAIL_ACTION_CLOSE_CONN"
                  }
                }
              },
              "fewest_tasks_feedback_delay": {
                "type": "integer",
                "description": "Periodicity of feedback for fewest tasks server selection algorithm. Allowed values are 1-300.",
                "default": 10
              },
              "graceful_disable_timeout": {
                "type": "integer",
                "description": "Used to gracefully disable a server. Virtual service waits for the specified time before terminating the existing connections  to the servers that are disabled. Allowed values are 1-7200. Special values are 0 - 'Immediate', -1 - 'Infinite'.",
                "default": 1
              },
              "gslb_sp_enabled": {
                "type": "boolean",
                "description": "Indicates if the pool is a site-persistence pool. . Field introduced in 17.2.1."
              },
              "health_monitor_refs": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Verify server health by applying one or more health monitors.  Active monitors generate synthetic traffic from each Service Engine and mark a server up or down based on the response. The Passive monitor listens only to client to server communication. It raises or lowers the ratio of traffic destined to a server based on successful responses. It is a reference to an object of type HealthMonitor."
              },
              "host_check_enabled": {
                "type": "boolean",
                "description": "Enable common name check for server certificate. If enabled and no explicit domain name is specified, Avi will use the incoming host header to do the match."
              },
              "ignore_server_port": {
                "type": "boolean",
                "description": "Ignore the server port in building the load balancing state.Applicable only for consistent hash load balancing algorithm or Disable Port translation (use_service_port) use cases. Field introduced in 20.1.1."
              },
              "inline_health_monitor": {
                "type": "boolean",
                "description": "The Passive monitor will monitor client to server connections and requests and adjust traffic load to servers based on successful responses.  This may alter the expected behavior of the LB method, such as Round Robin.",
                "default": true
              },
              "ipaddrgroup_ref": {
                "type": "string",
                "description": "Use list of servers from Ip Address Group. It is a reference to an object of type IpAddrGroup."
              },
              "lb_algorithm": {
                "type": "string",
                "description": "The load balancing algorithm will pick a server within the pool's list of available servers. Enum options - LB_ALGORITHM_LEAST_CONNECTIONS, LB_ALGORITHM_ROUND_ROBIN, LB_ALGORITHM_FASTEST_RESPONSE, LB_ALGORITHM_CONSISTENT_HASH, LB_ALGORITHM_LEAST_LOAD, LB_ALGORITHM_FEWEST_SERVERS, LB_ALGORITHM_RANDOM, LB_ALGORITHM_FEWEST_TASKS, LB_ALGORITHM_NEAREST_SERVER, LB_ALGORITHM_CORE_AFFINITY, LB_ALGORITHM_TOPOLOGY.",
                "default": "LB_ALGORITHM_LEAST_CONNECTIONS"
              },
              "lb_algorithm_consistent_hash_hdr": {
                "type": "string",
                "description": "HTTP header name to be used for the hash key."
              },
              "lb_algorithm_core_nonaffinity": {
                "type": "integer",
                "description": "Degree of non-affinity for core affinity based server selection. Allowed values are 1-65535. Field introduced in 17.1.3.",
                "default": 2
              },
              "lb_algorithm_hash": {
                "type": "string",
                "description": "Criteria used as a key for determining the hash between the client and  server. Enum options - LB_ALGORITHM_CONSISTENT_HASH_SOURCE_IP_ADDRESS, LB_ALGORITHM_CONSISTENT_HASH_SOURCE_IP_ADDRESS_AND_PORT, LB_ALGORITHM_CONSISTENT_HASH_URI, LB_ALGORITHM_CONSISTENT_HASH_CUSTOM_HEADER, LB_ALGORITHM_CONSISTENT_HASH_CUSTOM_STRING, LB_ALGORITHM_CONSISTENT_HASH_CALLID.",
                "default": "LB_ALGORITHM_CONSISTENT_HASH_SOURCE_IP_ADDRESS"
              },
              "lookup_server_by_name": {
                "type": "boolean",
                "description": "Allow server lookup by name. Field introduced in 17.1.11,17.2.4."
              },
              "max_concurrent_connections_per_server": {
                "type": "integer",
                "description": "The maximum number of concurrent connections allowed to each server within the pool. NOTE  applied value will be no less than the number of service engines that the pool is placed on. If set to 0, no limit is applied."
              },
              "max_conn_rate_per_server": {
                "title": "RateProfile",
                "required": [
                  "action"
                ],
                "type": "object",
                "properties": {
                  "action": {
                    "title": "RateLimiterAction",
                    "type": "object",
                    "properties": {
                      "file": {
                        "title": "HTTPLocalFile",
                        "required": [
                          "content_type",
                          "file_content"
                        ],
                        "type": "object",
                        "properties": {
                          "content_type": {
                            "type": "string",
                            "description": "Mime-type of the content in the file."
                          },
                          "file_content": {
                            "type": "string",
                            "description": "File content to used in the local HTTP response body."
                          }
                        }
                      },
                      "redirect": {
                        "title": "HTTPRedirectAction",
                        "required": [
                          "protocol"
                        ],
                        "type": "object",
                        "properties": {
                          "host": {
                            "type": "object",
                            "description": ""
                          },
                          "keep_query": {
                            "type": "boolean",
                            "description": "Keep or drop the query of the incoming request URI in the redirected URI.",
                            "default": true
                          },
                          "path": {
                            "type": "object",
                            "description": ""
                          },
                          "port": {
                            "type": "integer",
                            "description": "Port to which redirect the request. Allowed values are 1-65535."
                          },
                          "protocol": {
                            "type": "string",
                            "description": "Protocol type. Enum options - HTTP, HTTPS."
                          },
                          "status_code": {
                            "type": "string",
                            "description": "HTTP redirect status code. Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307.",
                            "default": "HTTP_REDIRECT_STATUS_CODE_302"
                          }
                        }
                      },
                      "status_code": {
                        "type": "string",
                        "description": "HTTP status code for Local Response rate limit action. Enum options - HTTP_LOCAL_RESPONSE_STATUS_CODE_200, HTTP_LOCAL_RESPONSE_STATUS_CODE_204, HTTP_LOCAL_RESPONSE_STATUS_CODE_403, HTTP_LOCAL_RESPONSE_STATUS_CODE_404, HTTP_LOCAL_RESPONSE_STATUS_CODE_429, HTTP_LOCAL_RESPONSE_STATUS_CODE_501.",
                        "default": "HTTP_LOCAL_RESPONSE_STATUS_CODE_429"
                      },
                      "type": {
                        "type": "string",
                        "description": "Type of action to be enforced upon hitting the rate limit. Enum options - RL_ACTION_NONE, RL_ACTION_DROP_CONN, RL_ACTION_RESET_CONN, RL_ACTION_CLOSE_CONN, RL_ACTION_LOCAL_RSP, RL_ACTION_REDIRECT.",
                        "default": "RL_ACTION_NONE"
                      }
                    }
                  },
                  "burst_sz": {
                    "type": "integer",
                    "description": "Maximum number of connections or requests or packets to be let through instantaneously. Allowed values are 10-2500. Special values are 0- 'automatic'. Field deprecated in 18.2.9."
                  },
                  "count": {
                    "type": "integer",
                    "description": "Maximum number of connections or requests or packets. Allowed values are 1-1000000000. Special values are 0- 'unlimited'. Field deprecated in 18.2.9."
                  },
                  "explicit_tracking": {
                    "type": "boolean",
                    "description": "Explicitly tracks an attacker across rate periods."
                  },
                  "fine_grain": {
                    "type": "boolean",
                    "description": "Enable fine granularity."
                  },
                  "http_cookie": {
                    "type": "string",
                    "description": "HTTP cookie name. Field introduced in 17.1.1."
                  },
                  "http_header": {
                    "type": "string",
                    "description": "HTTP header name. Field introduced in 17.1.1."
                  },
                  "period": {
                    "type": "integer",
                    "description": "Time value in seconds to enforce rate count. Allowed values are 1-300. Field deprecated in 18.2.9."
                  },
                  "rate_limiter": {
                    "title": "RateLimiter",
                    "required": [
                      "count",
                      "period"
                    ],
                    "type": "object",
                    "properties": {
                      "burst_sz": {
                        "type": "integer",
                        "description": "Maximum number of connections, requests or packets to be let through instantaneously.  If this is less than count, it will have no effect. Allowed values are 0-1000000000. Field introduced in 18.2.9."
                      },
                      "count": {
                        "type": "integer",
                        "description": "Maximum number of connections, requests or packets permitted each period. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                                "example": 1000000000
                      },
                      "name": {
                        "type": "string",
                        "description": "Identifier for Rate Limit. Constructed according to context. Field introduced in 18.2.9."
                      },
                      "period": {
                        "type": "integer",
                        "description": "Time value in seconds to enforce rate count. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                                "example": 1
                      }
                    }
                  }
                }
              },
              "min_health_monitors_up": {
                "type": "integer",
                "description": "Minimum number of health monitors in UP state to mark server UP. Field introduced in 18.2.1, 17.2.12."
              },
              "min_servers_up": {
                "type": "integer",
                "description": "Minimum number of servers in UP state for marking the pool UP. Field introduced in 18.2.1, 17.2.12."
              },
              "name": {
                "type": "string",
                "description": "The name of the pool."
              },
              "networks": {
                "type": "array",
                "items": {
                  "title": "NetworkFilter",
                  "required": [
                    "network_ref"
                  ],
                  "type": "object",
                  "properties": {
                    "network_ref": {
                      "type": "string",
                      "description": "It is a reference to an object of type VIMgrNWRuntime."
                    },
                    "server_filter": {
                      "type": "string",
                      "description": "server_filter of NetworkFilter."
                    }
                  }
                },
                "description": "(internal-use) Networks designated as containing servers for this pool.  The servers may be further narrowed down by a filter. This field is used internally by Avi, not editable by the user."
              },
              "nsx_securitygroup": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "A list of NSX Service Groups where the Servers for the Pool are created . Field introduced in 17.1.1."
              },
              "pki_profile_ref": {
                "type": "string",
                "description": "Avi will validate the SSL certificate present by a server against the selected PKI Profile. It is a reference to an object of type PKIProfile."
              },
              "placement_networks": {
                "type": "array",
                "items": {
                  "title": "PlacementNetwork",
                  "required": [
                    "network_ref",
                    "subnet"
                  ],
                  "type": "object",
                  "properties": {
                    "network_ref": {
                      "type": "string",
                      "description": "It is a reference to an object of type Network."
                    },
                    "subnet": {
                      "title": "IpAddrPrefix",
                      "required": [
                        "ip_addr",
                        "mask"
                      ],
                      "type": "object",
                      "properties": {
                        "ip_addr": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "mask": {
                          "type": "integer",
                          "description": "Number of mask."
                        }
                      }
                    }
                  }
                },
                "description": "Manually select the networks and subnets used to provide reachability to the pool's servers.  Specify the Subnet using the following syntax  10-1-1-0/24. Use static routes in VRF configuration when pool servers are not directly connected but routable from the service engine."
              },
              "prst_hdr_name": {
                "type": "string",
                "description": "Header name for custom header persistence. Field deprecated in 18.1.2."
              },
              "request_queue_depth": {
                "type": "integer",
                "description": "Minimum number of requests to be queued when pool is full.",
                "default": 128
              },
              "request_queue_enabled": {
                "type": "boolean",
                "description": "Enable request queue when pool is full."
              },
              "rewrite_host_header_to_server_name": {
                "type": "boolean",
                "description": "Rewrite incoming Host Header to server name of the server to which the request is proxied.  Enabling this feature rewrites Host Header for requests to all servers in the pool."
              },
              "rewrite_host_header_to_sni": {
                "type": "boolean",
                "description": "If SNI server name is specified, rewrite incoming host header to the SNI server name."
              },
              "routing_pool": {
                "type": "boolean",
                "description": "Enable to do routing when this pool is selected to send traffic. No servers present in routing pool. Field introduced in 20.1.1."
              },
              "server_auto_scale": {
                "type": "boolean",
                "description": "Server AutoScale. Not used anymore. Field deprecated in 18.1.2."
              },
              "server_count": {
                "type": "integer",
                "description": "Field deprecated in 18.2.1."
              },
              "server_name": {
                "type": "string",
                "description": "Fully qualified DNS hostname which will be used in the TLS SNI extension in server connections if SNI is enabled. If no value is specified, Avi will use the incoming host header instead."
              },
              "server_reselect": {
                "title": "HTTPServerReselect",
                "required": [
                  "enabled"
                ],
                "type": "object",
                "properties": {
                  "enabled": {
                    "type": "boolean",
                    "description": "Enable HTTP request reselect when server responds with specific response codes."
                  },
                  "num_retries": {
                    "type": "integer",
                    "description": "Number of times to retry an HTTP request when server responds with configured status codes.",
                        "default": 4
                  },
                  "retry_nonidempotent": {
                    "type": "boolean",
                    "description": "Allow retry of non-idempotent HTTP requests."
                  },
                  "retry_timeout": {
                    "type": "integer",
                    "description": "Timeout per retry attempt, for a given request. Value of 0 indicates default timeout. Allowed values are 0-3600000. Field introduced in 18.1.5,18.2.1."
                  },
                  "svr_resp_code": {
                    "title": "HTTPReselectRespCode",
                    "type": "object",
                    "properties": {
                      "codes": {
                        "type": "array",
                        "items": {
                          "type": "integer"
                        },
                        "description": "HTTP response code to be matched. Allowed values are 400-599."
                      },
                      "ranges": {
                        "type": "array",
                        "items": {
                          "title": "HTTPStatusRange",
                          "required": [
                            "begin",
                            "end"
                          ],
                          "type": "object",
                          "properties": {
                            "begin": {
                              "type": "integer",
                              "description": "Starting HTTP response status code."
                            },
                            "end": {
                              "type": "integer",
                              "description": "Ending HTTP response status code."
                            }
                          }
                        },
                        "description": "HTTP response code ranges to match."
                      },
                      "resp_code_block": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "description": "Block of HTTP response codes to match for server reselect. Enum options - HTTP_RSP_4XX, HTTP_RSP_5XX."
                      }
                    }
                  }
                }
              },
              "server_timeout": {
                "type": "integer",
                "description": "Server timeout value specifies the time within which a server connection needs to be established and a request-response exchange completes between AVI and the server. Value of 0 results in using default timeout of 60 minutes. Allowed values are 0-3600000. Field introduced in 18.1.5,18.2.1."
              },
              "servers": {
                "type": "array",
                "items": {
                  "title": "Server",
                  "required": [
                    "ip"
                  ],
                  "type": "object",
                  "properties": {
                    "autoscaling_group_name": {
                      "type": "string",
                      "description": "Name of autoscaling group this server belongs to. Field introduced in 17.1.2."
                    },
                    "availability_zone": {
                      "type": "string",
                      "description": "Availability-zone of the server VM."
                    },
                    "description": {
                      "type": "string",
                      "description": "A description of the Server."
                    },
                    "discovered_network_ref": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "(internal-use) Discovered network for this server. This field is deprecated. It is a reference to an object of type Network. Field deprecated in 17.1.1."
                    },
                    "discovered_networks": {
                      "type": "array",
                      "items": {
                        "title": "DiscoveredNetwork",
                        "required": [
                          "network_ref"
                        ],
                        "type": "object",
                        "properties": {
                          "network_ref": {
                            "type": "string",
                            "description": "Discovered network for this IP. It is a reference to an object of type Network."
                          },
                          "subnet": {
                            "type": "array",
                            "items": {
                              "title": "IpAddrPrefix",
                              "required": [
                                "ip_addr",
                                "mask"
                              ],
                              "type": "object",
                              "properties": {
                                "ip_addr": {
                                  "title": "IpAddr",
                                  "required": [
                                    "addr",
                                    "type"
                                  ],
                                  "type": "object",
                                  "properties": {
                                    "addr": {
                                      "type": "string",
                                      "description": "IP address."
                                    },
                                    "type": {
                                      "type": "string",
                                      "description": "Enum options - V4, DNS, V6."
                                    }
                                  }
                                },
                                "mask": {
                                  "type": "integer",
                                  "description": "Number of mask."
                                }
                              }
                            },
                            "description": "Discovered subnet for this IP."
                          },
                          "subnet6": {
                            "type": "array",
                            "items": {
                              "title": "IpAddrPrefix",
                              "required": [
                                "ip_addr",
                                "mask"
                              ],
                              "type": "object",
                              "properties": {
                                "ip_addr": {
                                  "title": "IpAddr",
                                  "required": [
                                    "addr",
                                    "type"
                                  ],
                                  "type": "object",
                                  "properties": {
                                    "addr": {
                                      "type": "string",
                                      "description": "IP address."
                                    },
                                    "type": {
                                      "type": "string",
                                      "description": "Enum options - V4, DNS, V6."
                                    }
                                  }
                                },
                                "mask": {
                                  "type": "integer",
                                  "description": "Number of mask."
                                }
                              }
                            },
                            "description": "Discovered IPv6 subnet for this IP. Field introduced in 18.1.1."
                          }
                        }
                      },
                      "description": "(internal-use) Discovered networks providing reachability for server IP. This field is used internally by Avi, not editable by the user."
                    },
                    "discovered_subnet": {
                      "type": "array",
                      "items": {
                        "title": "IpAddrPrefix",
                        "required": [
                          "ip_addr",
                          "mask"
                        ],
                        "type": "object",
                        "properties": {
                          "ip_addr": {
                            "title": "IpAddr",
                            "required": [
                              "addr",
                              "type"
                            ],
                            "type": "object",
                            "properties": {
                              "addr": {
                                "type": "string",
                                "description": "IP address."
                              },
                              "type": {
                                "type": "string",
                                "description": "Enum options - V4, DNS, V6."
                              }
                            }
                          },
                          "mask": {
                            "type": "integer",
                            "description": "Number of mask."
                          }
                        }
                      },
                      "description": "(internal-use) Discovered subnet for this server. This field is deprecated. Field deprecated in 17.1.1."
                    },
                    "enabled": {
                      "type": "boolean",
                      "description": "Enable, Disable or Graceful Disable determine if new or existing connections to the server are allowed.",
                      "default": true
                    },
                    "external_orchestration_id": {
                      "type": "string",
                      "description": "UID of server in external orchestration systems."
                    },
                    "external_uuid": {
                      "type": "string",
                      "description": "UUID identifying VM in OpenStack and other external compute."
                    },
                    "hostname": {
                      "type": "string",
                      "description": "DNS resolvable name of the server.  May be used in place of the IP address."
                    },
                    "ip": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "location": {
                      "title": "GeoLocation",
                      "type": "object",
                      "properties": {
                        "latitude": {
                          "type": "number",
                          "description": "Latitude of the location. This is represented as degrees.minutes. The range is from -90.0 (south) to +90.0 (north). Allowed values are -90.0-+90.0. Field introduced in 17.1.1."
                        },
                        "longitude": {
                          "type": "number",
                          "description": "Longitude of the location. This is represented as degrees.minutes. The range is from -180.0 (west) to +180.0 (east). Allowed values are -180.0-+180.0. Field introduced in 17.1.1."
                        },
                        "name": {
                          "type": "string",
                          "description": "Location name in the format Country/State/City. Field introduced in 17.1.1."
                        },
                        "tag": {
                          "type": "string",
                          "description": "Location tag string - example  USEast. Field introduced in 17.1.1."
                        }
                      }
                    },
                    "mac_address": {
                      "type": "string",
                      "description": "MAC address of server."
                    },
                    "nw_ref": {
                      "type": "string",
                      "description": "(internal-use) This field is used internally by Avi, not editable by the user. It is a reference to an object of type VIMgrNWRuntime."
                    },
                    "port": {
                      "type": "integer",
                      "description": "Optionally specify the servers port number.  This will override the pool's default server port attribute. Allowed values are 1-65535. Special values are 0- 'use backend port in pool'."
                    },
                    "prst_hdr_val": {
                      "type": "string",
                      "description": "Header value for custom header persistence. ."
                    },
                    "ratio": {
                      "type": "integer",
                      "description": "Ratio of selecting eligible servers in the pool. Allowed values are 1-20.",
                            "default": 1
                    },
                    "resolve_server_by_dns": {
                      "type": "boolean",
                      "description": "Auto resolve server's IP using DNS name."
                    },
                    "rewrite_host_header": {
                      "type": "boolean",
                      "description": "Rewrite incoming Host Header to server name."
                    },
                    "server_node": {
                      "type": "string",
                      "description": "Hostname of the node where the server VM or container resides."
                    },
                    "static": {
                      "type": "boolean",
                      "description": "If statically learned."
                    },
                    "verify_network": {
                      "type": "boolean",
                      "description": "Verify server belongs to a discovered network or reachable via a discovered network. Verify reachable network isn't the OpenStack management network."
                    },
                    "vm_ref": {
                      "type": "string",
                      "description": "(internal-use) This field is used internally by Avi, not editable by the user. It is a reference to an object of type VIMgrVMRuntime."
                    }
                  }
                },
                "description": "The pool directs load balanced traffic to this list of destination servers. The servers can be configured by IP address, name, network or via IP Address Group."
              },
              "service_metadata": {
                "type": "string",
                "description": "Metadata pertaining to the service provided by this Pool. In Openshift/Kubernetes environments, app metadata info is stored. Any user input to this field will be overwritten by Avi Vantage. Field introduced in 17.2.14,18.1.5,18.2.1."
              },
              "sni_enabled": {
                "type": "boolean",
                "description": "Enable TLS SNI for server connections. If disabled, Avi will not send the SNI extension as part of the handshake.",
                "default": true
              },
              "ssl_key_and_certificate_ref": {
                "type": "string",
                "description": "Service Engines will present a client SSL certificate to the server. It is a reference to an object of type SSLKeyAndCertificate."
              },
              "ssl_profile_ref": {
                "type": "string",
                "description": "When enabled, Avi re-encrypts traffic to the backend servers. The specific SSL profile defines which ciphers and SSL versions will be supported. It is a reference to an object of type SSLProfile."
              },
              "tenant_ref": {
                "type": "string",
                "description": "It is a reference to an object of type Tenant."
              },
              "tier1_lr": {
                "type": "string",
                "description": "This tier1_lr field should be set same as VirtualService associated for NSX-T. Field introduced in 20.1.1."
              },
              "url": {
                "type": "string",
                "description": "url"
              },
              "use_service_port": {
                "type": "boolean",
                "description": "Do not translate the client's destination port when sending the connection to the server.  The pool or servers specified service port will still be used for health monitoring."
              },
              "uuid": {
                "type": "string",
                "description": "UUID of the pool."
              },
              "vrf_ref": {
                "type": "string",
                "description": "Virtual Routing Context that the pool is bound to. This is used to provide the isolation of the set of networks the pool is attached to. The pool inherits the Virtual Routing Conext of the Virtual Service, and this field is used only internally, and is set by pb-transform. It is a reference to an object of type VrfContext."
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "Pool",
          "required": [
            "name"
          ],
          "type": "object",
          "properties": {
            "_last_modified": {
              "type": "string",
              "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
            },
            "a_pool": {
              "type": "string",
              "description": "Name of container cloud application that constitutes A pool in a A-B pool configuration, if different from VS app. Field deprecated in 18.1.2."
            },
            "ab_pool": {
              "title": "AbPool",
              "required": [
                "pool_ref"
              ],
              "type": "object",
              "properties": {
                "pool_ref": {
                  "type": "string",
                  "description": "Pool configured as B pool for A/B testing. It is a reference to an object of type Pool."
                },
                "ratio": {
                  "type": "integer",
                  "description": "Ratio of traffic diverted to the B pool, for A/B testing. Allowed values are 0-100."
                }
              }
            },
            "ab_priority": {
              "type": "integer",
              "description": "Priority of this pool in a A-B pool pair. Internally used. Field deprecated in 18.1.2."
            },
            "analytics_policy": {
              "title": "PoolAnalyticsPolicy",
              "type": "object",
              "properties": {
                "enable_realtime_metrics": {
                  "type": "boolean",
                  "description": "Enable real time metrics for server and pool metrics eg. l4_server.xxx, l7_server.xxx. Field introduced in 18.1.5, 18.2.1."
                }
              }
            },
            "analytics_profile_ref": {
              "type": "string",
              "description": "Specifies settings related to analytics. It is a reference to an object of type AnalyticsProfile. Field introduced in 18.1.4,18.2.1."
            },
            "apic_epg_name": {
              "type": "string",
              "description": "Synchronize Cisco APIC EPG members with pool servers."
            },
            "application_persistence_profile_ref": {
              "type": "string",
              "description": "Persistence will ensure the same user sticks to the same server for a desired duration of time. It is a reference to an object of type ApplicationPersistenceProfile."
            },
            "autoscale_launch_config_ref": {
              "type": "string",
              "description": "If configured then Avi will trigger orchestration of pool server creation and deletion. It is only supported for container clouds like Mesos, Opensift, Kubernates, Docker etc. It is a reference to an object of type AutoScaleLaunchConfig."
            },
            "autoscale_networks": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Network Ids for the launch configuration."
            },
            "autoscale_policy_ref": {
              "type": "string",
              "description": "Reference to Server Autoscale Policy. It is a reference to an object of type ServerAutoScalePolicy."
            },
            "capacity_estimation": {
              "type": "boolean",
              "description": "Inline estimation of capacity of servers."
            },
            "capacity_estimation_ttfb_thresh": {
              "type": "integer",
              "description": "The maximum time-to-first-byte of a server. Allowed values are 1-5000. Special values are 0 - 'Automatic'."
            },
            "cloud_config_cksum": {
              "type": "string",
              "description": "Checksum of cloud configuration for Pool. Internally set by cloud connector."
            },
            "cloud_ref": {
              "type": "string",
              "description": "It is a reference to an object of type Cloud."
            },
            "conn_pool_properties": {
              "title": "ConnPoolProperties",
              "type": "object",
              "properties": {
                "upstream_connpool_conn_idle_tmo": {
                  "type": "integer",
                  "description": "Connection idle timeout. Field introduced in 18.2.1.",
                    "default": 60000
                },
                "upstream_connpool_conn_life_tmo": {
                  "type": "integer",
                  "description": "Connection life timeout. Field introduced in 18.2.1.",
                    "default": 600000
                },
                "upstream_connpool_conn_max_reuse": {
                  "type": "integer",
                  "description": "Maximum number of times a connection can be reused. Special values are 0- 'unlimited'. Field introduced in 18.2.1."
                },
                "upstream_connpool_server_max_cache": {
                  "type": "integer",
                  "description": "Maximum number of connections a server can cache. Special values are 0- 'unlimited'. Field introduced in 18.2.1."
                }
              }
            },
            "connection_ramp_duration": {
              "type": "integer",
              "description": "Duration for which new connections will be gradually ramped up to a server recently brought online.  Useful for LB algorithms that are least connection based. Allowed values are 1-300. Special values are 0 - 'Immediate'.",
              "default": 10
            },
            "created_by": {
              "type": "string",
              "description": "Creator name."
            },
            "default_server_port": {
              "type": "integer",
              "description": "Traffic sent to servers will use this destination server port unless overridden by the server's specific port attribute. The SSL checkbox enables Avi to server encryption. Allowed values are 1-65535.",
              "default": 80
            },
            "delete_server_on_dns_refresh": {
              "type": "boolean",
              "description": "Indicates whether existing IPs are disabled(false) or deleted(true) on dns hostname refreshDetail -- On a dns refresh, some IPs set on pool may no longer be returned by the resolver. These IPs are deleted from the pool when this knob is set to true. They are disabled, if the knob is set to false. Field introduced in 18.2.3.",
              "default": true
            },
            "description": {
              "type": "string",
              "description": "A description of the pool."
            },
            "domain_name": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Comma separated list of domain names which will be used to verify the common names or subject alternative names presented by server certificates. It is performed only when common name check host_check_enabled is enabled."
            },
            "east_west": {
              "type": "boolean",
              "description": "Inherited config from VirtualService."
            },
            "enable_http2": {
              "type": "boolean",
              "description": "Enable HTTP/2 for traffic from VirtualService to all backend servers in this pool. Field introduced in 20.1.1."
            },
            "enabled": {
              "type": "boolean",
              "description": "Enable or disable the pool.  Disabling will terminate all open connections and pause health monitors.",
              "default": true
            },
            "external_autoscale_groups": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Names of external auto-scale groups for pool servers. Currently available only for AWS and Azure. Field introduced in 17.1.2."
            },
            "fail_action": {
              "title": "FailAction",
              "required": [
                "type"
              ],
              "type": "object",
              "properties": {
                "backup_pool": {
                  "title": "FailActionBackupPool",
                  "required": [
                    "backup_pool_ref"
                  ],
                  "type": "object",
                  "properties": {
                    "backup_pool_ref": {
                      "type": "string",
                      "description": "Specifies the UUID of the Pool acting as backup pool. It is a reference to an object of type Pool."
                    }
                  }
                },
                "local_rsp": {
                  "title": "FailActionHTTPLocalResponse",
                  "type": "object",
                  "properties": {
                    "file": {
                      "title": "HTTPLocalFile",
                      "required": [
                        "content_type",
                        "file_content"
                      ],
                      "type": "object",
                      "properties": {
                        "content_type": {
                          "type": "string",
                          "description": "Mime-type of the content in the file."
                        },
                        "file_content": {
                          "type": "string",
                          "description": "File content to used in the local HTTP response body."
                        }
                      }
                    },
                    "status_code": {
                      "type": "string",
                      "description": "Enum options - FAIL_HTTP_STATUS_CODE_200, FAIL_HTTP_STATUS_CODE_503.",
                      "default": "FAIL_HTTP_STATUS_CODE_503"
                    }
                  }
                },
                "redirect": {
                  "title": "FailActionHTTPRedirect",
                  "required": [
                    "host"
                  ],
                  "type": "object",
                  "properties": {
                    "host": {
                      "type": "string",
                      "description": "host of FailActionHTTPRedirect."
                    },
                    "path": {
                      "type": "string",
                      "description": "path of FailActionHTTPRedirect."
                    },
                    "protocol": {
                      "type": "string",
                      "description": "Enum options - HTTP, HTTPS.",
                      "default": "HTTPS"
                    },
                    "query": {
                      "type": "string",
                      "description": "query of FailActionHTTPRedirect."
                    },
                    "status_code": {
                      "type": "string",
                      "description": "Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307.",
                      "default": "HTTP_REDIRECT_STATUS_CODE_302"
                    }
                  }
                },
                "type": {
                  "type": "string",
                  "description": "Enables a response to client when pool experiences a failure. By default TCP connection is closed. Enum options - FAIL_ACTION_HTTP_REDIRECT, FAIL_ACTION_HTTP_LOCAL_RSP, FAIL_ACTION_CLOSE_CONN, FAIL_ACTION_BACKUP_POOL.",
                  "example": "FAIL_ACTION_CLOSE_CONN"
                }
              }
            },
            "fewest_tasks_feedback_delay": {
              "type": "integer",
              "description": "Periodicity of feedback for fewest tasks server selection algorithm. Allowed values are 1-300.",
              "default": 10
            },
            "graceful_disable_timeout": {
              "type": "integer",
              "description": "Used to gracefully disable a server. Virtual service waits for the specified time before terminating the existing connections  to the servers that are disabled. Allowed values are 1-7200. Special values are 0 - 'Immediate', -1 - 'Infinite'.",
              "default": 1
            },
            "gslb_sp_enabled": {
              "type": "boolean",
              "description": "Indicates if the pool is a site-persistence pool. . Field introduced in 17.2.1."
            },
            "health_monitor_refs": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Verify server health by applying one or more health monitors.  Active monitors generate synthetic traffic from each Service Engine and mark a server up or down based on the response. The Passive monitor listens only to client to server communication. It raises or lowers the ratio of traffic destined to a server based on successful responses. It is a reference to an object of type HealthMonitor."
            },
            "host_check_enabled": {
              "type": "boolean",
              "description": "Enable common name check for server certificate. If enabled and no explicit domain name is specified, Avi will use the incoming host header to do the match."
            },
            "ignore_server_port": {
              "type": "boolean",
              "description": "Ignore the server port in building the load balancing state.Applicable only for consistent hash load balancing algorithm or Disable Port translation (use_service_port) use cases. Field introduced in 20.1.1."
            },
            "inline_health_monitor": {
              "type": "boolean",
              "description": "The Passive monitor will monitor client to server connections and requests and adjust traffic load to servers based on successful responses.  This may alter the expected behavior of the LB method, such as Round Robin.",
              "default": true
            },
            "ipaddrgroup_ref": {
              "type": "string",
              "description": "Use list of servers from Ip Address Group. It is a reference to an object of type IpAddrGroup."
            },
            "lb_algorithm": {
              "type": "string",
              "description": "The load balancing algorithm will pick a server within the pool's list of available servers. Enum options - LB_ALGORITHM_LEAST_CONNECTIONS, LB_ALGORITHM_ROUND_ROBIN, LB_ALGORITHM_FASTEST_RESPONSE, LB_ALGORITHM_CONSISTENT_HASH, LB_ALGORITHM_LEAST_LOAD, LB_ALGORITHM_FEWEST_SERVERS, LB_ALGORITHM_RANDOM, LB_ALGORITHM_FEWEST_TASKS, LB_ALGORITHM_NEAREST_SERVER, LB_ALGORITHM_CORE_AFFINITY, LB_ALGORITHM_TOPOLOGY.",
              "default": "LB_ALGORITHM_LEAST_CONNECTIONS"
            },
            "lb_algorithm_consistent_hash_hdr": {
              "type": "string",
              "description": "HTTP header name to be used for the hash key."
            },
            "lb_algorithm_core_nonaffinity": {
              "type": "integer",
              "description": "Degree of non-affinity for core affinity based server selection. Allowed values are 1-65535. Field introduced in 17.1.3.",
              "default": 2
            },
            "lb_algorithm_hash": {
              "type": "string",
              "description": "Criteria used as a key for determining the hash between the client and  server. Enum options - LB_ALGORITHM_CONSISTENT_HASH_SOURCE_IP_ADDRESS, LB_ALGORITHM_CONSISTENT_HASH_SOURCE_IP_ADDRESS_AND_PORT, LB_ALGORITHM_CONSISTENT_HASH_URI, LB_ALGORITHM_CONSISTENT_HASH_CUSTOM_HEADER, LB_ALGORITHM_CONSISTENT_HASH_CUSTOM_STRING, LB_ALGORITHM_CONSISTENT_HASH_CALLID.",
              "default": "LB_ALGORITHM_CONSISTENT_HASH_SOURCE_IP_ADDRESS"
            },
            "lookup_server_by_name": {
              "type": "boolean",
              "description": "Allow server lookup by name. Field introduced in 17.1.11,17.2.4."
            },
            "max_concurrent_connections_per_server": {
              "type": "integer",
              "description": "The maximum number of concurrent connections allowed to each server within the pool. NOTE  applied value will be no less than the number of service engines that the pool is placed on. If set to 0, no limit is applied."
            },
            "max_conn_rate_per_server": {
              "title": "RateProfile",
              "required": [
                "action"
              ],
              "type": "object",
              "properties": {
                "action": {
                  "title": "RateLimiterAction",
                  "type": "object",
                  "properties": {
                    "file": {
                      "title": "HTTPLocalFile",
                      "required": [
                        "content_type",
                        "file_content"
                      ],
                      "type": "object",
                      "properties": {
                        "content_type": {
                          "type": "string",
                          "description": "Mime-type of the content in the file."
                        },
                        "file_content": {
                          "type": "string",
                          "description": "File content to used in the local HTTP response body."
                        }
                      }
                    },
                    "redirect": {
                      "title": "HTTPRedirectAction",
                      "required": [
                        "protocol"
                      ],
                      "type": "object",
                      "properties": {
                        "host": {
                          "type": "object",
                          "description": ""
                        },
                        "keep_query": {
                          "type": "boolean",
                          "description": "Keep or drop the query of the incoming request URI in the redirected URI.",
                          "default": true
                        },
                        "path": {
                          "type": "object",
                          "description": ""
                        },
                        "port": {
                          "type": "integer",
                          "description": "Port to which redirect the request. Allowed values are 1-65535."
                        },
                        "protocol": {
                          "type": "string",
                          "description": "Protocol type. Enum options - HTTP, HTTPS."
                        },
                        "status_code": {
                          "type": "string",
                          "description": "HTTP redirect status code. Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307.",
                          "default": "HTTP_REDIRECT_STATUS_CODE_302"
                        }
                      }
                    },
                    "status_code": {
                      "type": "string",
                      "description": "HTTP status code for Local Response rate limit action. Enum options - HTTP_LOCAL_RESPONSE_STATUS_CODE_200, HTTP_LOCAL_RESPONSE_STATUS_CODE_204, HTTP_LOCAL_RESPONSE_STATUS_CODE_403, HTTP_LOCAL_RESPONSE_STATUS_CODE_404, HTTP_LOCAL_RESPONSE_STATUS_CODE_429, HTTP_LOCAL_RESPONSE_STATUS_CODE_501.",
                      "default": "HTTP_LOCAL_RESPONSE_STATUS_CODE_429"
                    },
                    "type": {
                      "type": "string",
                      "description": "Type of action to be enforced upon hitting the rate limit. Enum options - RL_ACTION_NONE, RL_ACTION_DROP_CONN, RL_ACTION_RESET_CONN, RL_ACTION_CLOSE_CONN, RL_ACTION_LOCAL_RSP, RL_ACTION_REDIRECT.",
                      "default": "RL_ACTION_NONE"
                    }
                  }
                },
                "burst_sz": {
                  "type": "integer",
                  "description": "Maximum number of connections or requests or packets to be let through instantaneously. Allowed values are 10-2500. Special values are 0- 'automatic'. Field deprecated in 18.2.9."
                },
                "count": {
                  "type": "integer",
                  "description": "Maximum number of connections or requests or packets. Allowed values are 1-1000000000. Special values are 0- 'unlimited'. Field deprecated in 18.2.9."
                },
                "explicit_tracking": {
                  "type": "boolean",
                  "description": "Explicitly tracks an attacker across rate periods."
                },
                "fine_grain": {
                  "type": "boolean",
                  "description": "Enable fine granularity."
                },
                "http_cookie": {
                  "type": "string",
                  "description": "HTTP cookie name. Field introduced in 17.1.1."
                },
                "http_header": {
                  "type": "string",
                  "description": "HTTP header name. Field introduced in 17.1.1."
                },
                "period": {
                  "type": "integer",
                  "description": "Time value in seconds to enforce rate count. Allowed values are 1-300. Field deprecated in 18.2.9."
                },
                "rate_limiter": {
                  "title": "RateLimiter",
                  "required": [
                    "count",
                    "period"
                  ],
                  "type": "object",
                  "properties": {
                    "burst_sz": {
                      "type": "integer",
                      "description": "Maximum number of connections, requests or packets to be let through instantaneously.  If this is less than count, it will have no effect. Allowed values are 0-1000000000. Field introduced in 18.2.9."
                    },
                    "count": {
                      "type": "integer",
                      "description": "Maximum number of connections, requests or packets permitted each period. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                            "example": 1000000000
                    },
                    "name": {
                      "type": "string",
                      "description": "Identifier for Rate Limit. Constructed according to context. Field introduced in 18.2.9."
                    },
                    "period": {
                      "type": "integer",
                      "description": "Time value in seconds to enforce rate count. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                            "example": 1
                    }
                  }
                }
              }
            },
            "min_health_monitors_up": {
              "type": "integer",
              "description": "Minimum number of health monitors in UP state to mark server UP. Field introduced in 18.2.1, 17.2.12."
            },
            "min_servers_up": {
              "type": "integer",
              "description": "Minimum number of servers in UP state for marking the pool UP. Field introduced in 18.2.1, 17.2.12."
            },
            "name": {
              "type": "string",
              "description": "The name of the pool."
            },
            "networks": {
              "type": "array",
              "items": {
                "title": "NetworkFilter",
                "required": [
                  "network_ref"
                ],
                "type": "object",
                "properties": {
                  "network_ref": {
                    "type": "string",
                    "description": "It is a reference to an object of type VIMgrNWRuntime."
                  },
                  "server_filter": {
                    "type": "string",
                    "description": "server_filter of NetworkFilter."
                  }
                }
              },
              "description": "(internal-use) Networks designated as containing servers for this pool.  The servers may be further narrowed down by a filter. This field is used internally by Avi, not editable by the user."
            },
            "nsx_securitygroup": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "A list of NSX Service Groups where the Servers for the Pool are created . Field introduced in 17.1.1."
            },
            "pki_profile_ref": {
              "type": "string",
              "description": "Avi will validate the SSL certificate present by a server against the selected PKI Profile. It is a reference to an object of type PKIProfile."
            },
            "placement_networks": {
              "type": "array",
              "items": {
                "title": "PlacementNetwork",
                "required": [
                  "network_ref",
                  "subnet"
                ],
                "type": "object",
                "properties": {
                  "network_ref": {
                    "type": "string",
                    "description": "It is a reference to an object of type Network."
                  },
                  "subnet": {
                    "title": "IpAddrPrefix",
                    "required": [
                      "ip_addr",
                      "mask"
                    ],
                    "type": "object",
                    "properties": {
                      "ip_addr": {
                        "title": "IpAddr",
                        "required": [
                          "addr",
                          "type"
                        ],
                        "type": "object",
                        "properties": {
                          "addr": {
                            "type": "string",
                            "description": "IP address."
                          },
                          "type": {
                            "type": "string",
                            "description": "Enum options - V4, DNS, V6."
                          }
                        }
                      },
                      "mask": {
                        "type": "integer",
                        "description": "Number of mask."
                      }
                    }
                  }
                }
              },
              "description": "Manually select the networks and subnets used to provide reachability to the pool's servers.  Specify the Subnet using the following syntax  10-1-1-0/24. Use static routes in VRF configuration when pool servers are not directly connected but routable from the service engine."
            },
            "prst_hdr_name": {
              "type": "string",
              "description": "Header name for custom header persistence. Field deprecated in 18.1.2."
            },
            "request_queue_depth": {
              "type": "integer",
              "description": "Minimum number of requests to be queued when pool is full.",
              "default": 128
            },
            "request_queue_enabled": {
              "type": "boolean",
              "description": "Enable request queue when pool is full."
            },
            "rewrite_host_header_to_server_name": {
              "type": "boolean",
              "description": "Rewrite incoming Host Header to server name of the server to which the request is proxied.  Enabling this feature rewrites Host Header for requests to all servers in the pool."
            },
            "rewrite_host_header_to_sni": {
              "type": "boolean",
              "description": "If SNI server name is specified, rewrite incoming host header to the SNI server name."
            },
            "routing_pool": {
              "type": "boolean",
              "description": "Enable to do routing when this pool is selected to send traffic. No servers present in routing pool. Field introduced in 20.1.1."
            },
            "server_auto_scale": {
              "type": "boolean",
              "description": "Server AutoScale. Not used anymore. Field deprecated in 18.1.2."
            },
            "server_count": {
              "type": "integer",
              "description": "Field deprecated in 18.2.1."
            },
            "server_name": {
              "type": "string",
              "description": "Fully qualified DNS hostname which will be used in the TLS SNI extension in server connections if SNI is enabled. If no value is specified, Avi will use the incoming host header instead."
            },
            "server_reselect": {
              "title": "HTTPServerReselect",
              "required": [
                "enabled"
              ],
              "type": "object",
              "properties": {
                "enabled": {
                  "type": "boolean",
                  "description": "Enable HTTP request reselect when server responds with specific response codes."
                },
                "num_retries": {
                  "type": "integer",
                  "description": "Number of times to retry an HTTP request when server responds with configured status codes.",
                    "default": 4
                },
                "retry_nonidempotent": {
                  "type": "boolean",
                  "description": "Allow retry of non-idempotent HTTP requests."
                },
                "retry_timeout": {
                  "type": "integer",
                  "description": "Timeout per retry attempt, for a given request. Value of 0 indicates default timeout. Allowed values are 0-3600000. Field introduced in 18.1.5,18.2.1."
                },
                "svr_resp_code": {
                  "title": "HTTPReselectRespCode",
                  "type": "object",
                  "properties": {
                    "codes": {
                      "type": "array",
                      "items": {
                        "type": "integer"
                      },
                      "description": "HTTP response code to be matched. Allowed values are 400-599."
                    },
                    "ranges": {
                      "type": "array",
                      "items": {
                        "title": "HTTPStatusRange",
                        "required": [
                          "begin",
                          "end"
                        ],
                        "type": "object",
                        "properties": {
                          "begin": {
                            "type": "integer",
                            "description": "Starting HTTP response status code."
                          },
                          "end": {
                            "type": "integer",
                            "description": "Ending HTTP response status code."
                          }
                        }
                      },
                      "description": "HTTP response code ranges to match."
                    },
                    "resp_code_block": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "Block of HTTP response codes to match for server reselect. Enum options - HTTP_RSP_4XX, HTTP_RSP_5XX."
                    }
                  }
                }
              }
            },
            "server_timeout": {
              "type": "integer",
              "description": "Server timeout value specifies the time within which a server connection needs to be established and a request-response exchange completes between AVI and the server. Value of 0 results in using default timeout of 60 minutes. Allowed values are 0-3600000. Field introduced in 18.1.5,18.2.1."
            },
            "servers": {
              "type": "array",
              "items": {
                "title": "Server",
                "required": [
                  "ip"
                ],
                "type": "object",
                "properties": {
                  "autoscaling_group_name": {
                    "type": "string",
                    "description": "Name of autoscaling group this server belongs to. Field introduced in 17.1.2."
                  },
                  "availability_zone": {
                    "type": "string",
                    "description": "Availability-zone of the server VM."
                  },
                  "description": {
                    "type": "string",
                    "description": "A description of the Server."
                  },
                  "discovered_network_ref": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "(internal-use) Discovered network for this server. This field is deprecated. It is a reference to an object of type Network. Field deprecated in 17.1.1."
                  },
                  "discovered_networks": {
                    "type": "array",
                    "items": {
                      "title": "DiscoveredNetwork",
                      "required": [
                        "network_ref"
                      ],
                      "type": "object",
                      "properties": {
                        "network_ref": {
                          "type": "string",
                          "description": "Discovered network for this IP. It is a reference to an object of type Network."
                        },
                        "subnet": {
                          "type": "array",
                          "items": {
                            "title": "IpAddrPrefix",
                            "required": [
                              "ip_addr",
                              "mask"
                            ],
                            "type": "object",
                            "properties": {
                              "ip_addr": {
                                "title": "IpAddr",
                                "required": [
                                  "addr",
                                  "type"
                                ],
                                "type": "object",
                                "properties": {
                                  "addr": {
                                    "type": "string",
                                    "description": "IP address."
                                  },
                                  "type": {
                                    "type": "string",
                                    "description": "Enum options - V4, DNS, V6."
                                  }
                                }
                              },
                              "mask": {
                                "type": "integer",
                                "description": "Number of mask."
                              }
                            }
                          },
                          "description": "Discovered subnet for this IP."
                        },
                        "subnet6": {
                          "type": "array",
                          "items": {
                            "title": "IpAddrPrefix",
                            "required": [
                              "ip_addr",
                              "mask"
                            ],
                            "type": "object",
                            "properties": {
                              "ip_addr": {
                                "title": "IpAddr",
                                "required": [
                                  "addr",
                                  "type"
                                ],
                                "type": "object",
                                "properties": {
                                  "addr": {
                                    "type": "string",
                                    "description": "IP address."
                                  },
                                  "type": {
                                    "type": "string",
                                    "description": "Enum options - V4, DNS, V6."
                                  }
                                }
                              },
                              "mask": {
                                "type": "integer",
                                "description": "Number of mask."
                              }
                            }
                          },
                          "description": "Discovered IPv6 subnet for this IP. Field introduced in 18.1.1."
                        }
                      }
                    },
                    "description": "(internal-use) Discovered networks providing reachability for server IP. This field is used internally by Avi, not editable by the user."
                  },
                  "discovered_subnet": {
                    "type": "array",
                    "items": {
                      "title": "IpAddrPrefix",
                      "required": [
                        "ip_addr",
                        "mask"
                      ],
                      "type": "object",
                      "properties": {
                        "ip_addr": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "mask": {
                          "type": "integer",
                          "description": "Number of mask."
                        }
                      }
                    },
                    "description": "(internal-use) Discovered subnet for this server. This field is deprecated. Field deprecated in 17.1.1."
                  },
                  "enabled": {
                    "type": "boolean",
                    "description": "Enable, Disable or Graceful Disable determine if new or existing connections to the server are allowed.",
                    "default": true
                  },
                  "external_orchestration_id": {
                    "type": "string",
                    "description": "UID of server in external orchestration systems."
                  },
                  "external_uuid": {
                    "type": "string",
                    "description": "UUID identifying VM in OpenStack and other external compute."
                  },
                  "hostname": {
                    "type": "string",
                    "description": "DNS resolvable name of the server.  May be used in place of the IP address."
                  },
                  "ip": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "location": {
                    "title": "GeoLocation",
                    "type": "object",
                    "properties": {
                      "latitude": {
                        "type": "number",
                        "description": "Latitude of the location. This is represented as degrees.minutes. The range is from -90.0 (south) to +90.0 (north). Allowed values are -90.0-+90.0. Field introduced in 17.1.1."
                      },
                      "longitude": {
                        "type": "number",
                        "description": "Longitude of the location. This is represented as degrees.minutes. The range is from -180.0 (west) to +180.0 (east). Allowed values are -180.0-+180.0. Field introduced in 17.1.1."
                      },
                      "name": {
                        "type": "string",
                        "description": "Location name in the format Country/State/City. Field introduced in 17.1.1."
                      },
                      "tag": {
                        "type": "string",
                        "description": "Location tag string - example  USEast. Field introduced in 17.1.1."
                      }
                    }
                  },
                  "mac_address": {
                    "type": "string",
                    "description": "MAC address of server."
                  },
                  "nw_ref": {
                    "type": "string",
                    "description": "(internal-use) This field is used internally by Avi, not editable by the user. It is a reference to an object of type VIMgrNWRuntime."
                  },
                  "port": {
                    "type": "integer",
                    "description": "Optionally specify the servers port number.  This will override the pool's default server port attribute. Allowed values are 1-65535. Special values are 0- 'use backend port in pool'."
                  },
                  "prst_hdr_val": {
                    "type": "string",
                    "description": "Header value for custom header persistence. ."
                  },
                  "ratio": {
                    "type": "integer",
                    "description": "Ratio of selecting eligible servers in the pool. Allowed values are 1-20.",
                        "default": 1
                  },
                  "resolve_server_by_dns": {
                    "type": "boolean",
                    "description": "Auto resolve server's IP using DNS name."
                  },
                  "rewrite_host_header": {
                    "type": "boolean",
                    "description": "Rewrite incoming Host Header to server name."
                  },
                  "server_node": {
                    "type": "string",
                    "description": "Hostname of the node where the server VM or container resides."
                  },
                  "static": {
                    "type": "boolean",
                    "description": "If statically learned."
                  },
                  "verify_network": {
                    "type": "boolean",
                    "description": "Verify server belongs to a discovered network or reachable via a discovered network. Verify reachable network isn't the OpenStack management network."
                  },
                  "vm_ref": {
                    "type": "string",
                    "description": "(internal-use) This field is used internally by Avi, not editable by the user. It is a reference to an object of type VIMgrVMRuntime."
                  }
                }
              },
              "description": "The pool directs load balanced traffic to this list of destination servers. The servers can be configured by IP address, name, network or via IP Address Group."
            },
            "service_metadata": {
              "type": "string",
              "description": "Metadata pertaining to the service provided by this Pool. In Openshift/Kubernetes environments, app metadata info is stored. Any user input to this field will be overwritten by Avi Vantage. Field introduced in 17.2.14,18.1.5,18.2.1."
            },
            "sni_enabled": {
              "type": "boolean",
              "description": "Enable TLS SNI for server connections. If disabled, Avi will not send the SNI extension as part of the handshake.",
              "default": true
            },
            "ssl_key_and_certificate_ref": {
              "type": "string",
              "description": "Service Engines will present a client SSL certificate to the server. It is a reference to an object of type SSLKeyAndCertificate."
            },
            "ssl_profile_ref": {
              "type": "string",
              "description": "When enabled, Avi re-encrypts traffic to the backend servers. The specific SSL profile defines which ciphers and SSL versions will be supported. It is a reference to an object of type SSLProfile."
            },
            "tenant_ref": {
              "type": "string",
              "description": "It is a reference to an object of type Tenant."
            },
            "tier1_lr": {
              "type": "string",
              "description": "This tier1_lr field should be set same as VirtualService associated for NSX-T. Field introduced in 20.1.1."
            },
            "url": {
              "type": "string",
              "description": "url"
            },
            "use_service_port": {
              "type": "boolean",
              "description": "Do not translate the client's destination port when sending the connection to the server.  The pool or servers specified service port will still be used for health monitoring."
            },
            "uuid": {
              "type": "string",
              "description": "UUID of the pool."
            },
            "vrf_ref": {
              "type": "string",
              "description": "Virtual Routing Context that the pool is bound to. This is used to provide the isolation of the set of networks the pool is attached to. The pool inherits the Virtual Routing Conext of the Virtual Service, and this field is used only internally, and is set by pb-transform. It is a reference to an object of type VrfContext."
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/poolByUuidPUT"
      },
      "task": true
    },
    {
      "name": "poolByUuidPATCH",
      "summary": "PoolByUuid_PATCH",
      "description": "PoolByUuid_PATCH",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "object name: string",
          "required": false,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "Pool object creation: {\"_last_modified\": \"string\", \"a_pool\": \"string\", \"ab_pool\": {\"pool_ref\": \"string\", \"ratio\": 123}, \"ab_priority\": 123, \"analytics_policy\": {\"enable_realtime_metrics\": \"boolean\"}, \"analytics_profile_ref\": \"string\", \"apic_epg_name\": \"string\", \"application_persistence_profile_ref\": \"string\", \"autoscale_launch_config_ref\": \"string\", \"autoscale_networks\": \"array\", \"autoscale_policy_ref\": \"string\", \"capacity_estimation\": \"boolean\", \"capacity_estimation_ttfb_thresh\": 123, \"cloud_config_cksum\": \"string\", \"cloud_ref\": \"string\", \"conn_pool_properties\": {\"upstream_connpool_conn_idle_tmo\": 123, \"upstream_connpool_conn_life_tmo\": 123, \"upstream_connpool_conn_max_reuse\": 123, \"upstream_connpool_server_max_cache\": 123}, \"connection_ramp_duration\": 123, \"created_by\": \"string\", \"default_server_port\": 123, \"delete_server_on_dns_refresh\": \"boolean\", \"description\": \"string\", \"domain_name\": \"array\", \"east_west\": \"boolean\", \"enable_http2\": \"boolean\", \"enabled\": \"boolean\", \"external_autoscale_groups\": \"array\", \"fail_action\": {\"backup_pool\": {\"backup_pool_ref\": \"string\"}, \"local_rsp\": {\"file\": {\"content_type\": \"string\", \"file_content\": \"string\"}, \"status_code\": \"string\"}, \"redirect\": {\"host\": \"string\", \"path\": \"string\", \"protocol\": \"string\", \"query\": \"string\", \"status_code\": \"string\"}, \"type\": \"string\"}, \"fewest_tasks_feedback_delay\": 123, \"graceful_disable_timeout\": 123, \"gslb_sp_enabled\": \"boolean\", \"health_monitor_refs\": \"array\", \"host_check_enabled\": \"boolean\", \"ignore_server_port\": \"boolean\", \"inline_health_monitor\": \"boolean\", \"ipaddrgroup_ref\": \"string\", \"lb_algorithm\": \"string\", \"lb_algorithm_consistent_hash_hdr\": \"string\", \"lb_algorithm_core_nonaffinity\": 123, \"lb_algorithm_hash\": \"string\", \"lookup_server_by_name\": \"boolean\", \"max_concurrent_connections_per_server\": 123, \"max_conn_rate_per_server\": {\"action\": {\"file\": {\"content_type\": \"string\", \"file_content\": \"string\"}, \"redirect\": {\"host\": \"object\", \"keep_query\": \"boolean\", \"path\": \"object\", \"port\": 123, \"protocol\": \"string\", \"status_code\": \"string\"}, \"status_code\": \"string\", \"type\": \"string\"}, \"burst_sz\": 123, \"count\": 123, \"explicit_tracking\": \"boolean\", \"fine_grain\": \"boolean\", \"http_cookie\": \"string\", \"http_header\": \"string\", \"period\": 123, \"rate_limiter\": {\"burst_sz\": 123, \"count\": 123, \"name\": \"string\", \"period\": 123}}, \"min_health_monitors_up\": 123, \"min_servers_up\": 123, \"name\": \"string\", \"networks\": [{\"network_ref\": \"string\", \"server_filter\": \"string\"}], \"nsx_securitygroup\": \"array\", \"pki_profile_ref\": \"string\", \"placement_networks\": [{\"network_ref\": \"string\", \"subnet\": {\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}}], \"prst_hdr_name\": \"string\", \"request_queue_depth\": 123, \"request_queue_enabled\": \"boolean\", \"rewrite_host_header_to_server_name\": \"boolean\", \"rewrite_host_header_to_sni\": \"boolean\", \"routing_pool\": \"boolean\", \"server_auto_scale\": \"boolean\", \"server_count\": 123, \"server_name\": \"string\", \"server_reselect\": {\"enabled\": \"boolean\", \"num_retries\": 123, \"retry_nonidempotent\": \"boolean\", \"retry_timeout\": 123, \"svr_resp_code\": {\"codes\": \"array\", \"ranges\": [{\"begin\": 123, \"end\": 123}], \"resp_code_block\": \"array\"}}, \"server_timeout\": 123, \"servers\": [{\"autoscaling_group_name\": \"string\", \"availability_zone\": \"string\", \"description\": \"string\", \"discovered_network_ref\": \"array\", \"discovered_networks\": [{\"network_ref\": \"string\", \"subnet\": [{\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}], \"subnet6\": [{\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}]}], \"discovered_subnet\": [{\"ip_addr\": {\"addr\": \"string\", \"type\": \"string\"}, \"mask\": 123}], \"enabled\": \"boolean\", \"external_orchestration_id\": \"string\", \"external_uuid\": \"string\", \"hostname\": \"string\", \"ip\": {\"addr\": \"string\", \"type\": \"string\"}, \"location\": {\"latitude\": 123, \"longitude\": 123, \"name\": \"string\", \"tag\": \"string\"}, \"mac_address\": \"string\", \"nw_ref\": \"string\", \"port\": 123, \"prst_hdr_val\": \"string\", \"ratio\": 123, \"resolve_server_by_dns\": \"boolean\", \"rewrite_host_header\": \"boolean\", \"server_node\": \"string\", \"static\": \"boolean\", \"verify_network\": \"boolean\", \"vm_ref\": \"string\"}], \"service_metadata\": \"string\", \"sni_enabled\": \"boolean\", \"ssl_key_and_certificate_ref\": \"string\", \"ssl_profile_ref\": \"string\", \"tenant_ref\": \"string\", \"tier1_lr\": \"string\", \"url\": \"string\", \"use_service_port\": \"boolean\", \"uuid\": \"string\", \"vrf_ref\": \"string\"}",
          "required": true,
          "schema": {
            "title": "Pool",
            "required": [
              "name"
            ],
            "type": "object",
            "properties": {
              "_last_modified": {
                "type": "string",
                "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
              },
              "a_pool": {
                "type": "string",
                "description": "Name of container cloud application that constitutes A pool in a A-B pool configuration, if different from VS app. Field deprecated in 18.1.2."
              },
              "ab_pool": {
                "title": "AbPool",
                "required": [
                  "pool_ref"
                ],
                "type": "object",
                "properties": {
                  "pool_ref": {
                    "type": "string",
                    "description": "Pool configured as B pool for A/B testing. It is a reference to an object of type Pool."
                  },
                  "ratio": {
                    "type": "integer",
                    "description": "Ratio of traffic diverted to the B pool, for A/B testing. Allowed values are 0-100."
                  }
                }
              },
              "ab_priority": {
                "type": "integer",
                "description": "Priority of this pool in a A-B pool pair. Internally used. Field deprecated in 18.1.2."
              },
              "analytics_policy": {
                "title": "PoolAnalyticsPolicy",
                "type": "object",
                "properties": {
                  "enable_realtime_metrics": {
                    "type": "boolean",
                    "description": "Enable real time metrics for server and pool metrics eg. l4_server.xxx, l7_server.xxx. Field introduced in 18.1.5, 18.2.1."
                  }
                }
              },
              "analytics_profile_ref": {
                "type": "string",
                "description": "Specifies settings related to analytics. It is a reference to an object of type AnalyticsProfile. Field introduced in 18.1.4,18.2.1."
              },
              "apic_epg_name": {
                "type": "string",
                "description": "Synchronize Cisco APIC EPG members with pool servers."
              },
              "application_persistence_profile_ref": {
                "type": "string",
                "description": "Persistence will ensure the same user sticks to the same server for a desired duration of time. It is a reference to an object of type ApplicationPersistenceProfile."
              },
              "autoscale_launch_config_ref": {
                "type": "string",
                "description": "If configured then Avi will trigger orchestration of pool server creation and deletion. It is only supported for container clouds like Mesos, Opensift, Kubernates, Docker etc. It is a reference to an object of type AutoScaleLaunchConfig."
              },
              "autoscale_networks": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Network Ids for the launch configuration."
              },
              "autoscale_policy_ref": {
                "type": "string",
                "description": "Reference to Server Autoscale Policy. It is a reference to an object of type ServerAutoScalePolicy."
              },
              "capacity_estimation": {
                "type": "boolean",
                "description": "Inline estimation of capacity of servers."
              },
              "capacity_estimation_ttfb_thresh": {
                "type": "integer",
                "description": "The maximum time-to-first-byte of a server. Allowed values are 1-5000. Special values are 0 - 'Automatic'."
              },
              "cloud_config_cksum": {
                "type": "string",
                "description": "Checksum of cloud configuration for Pool. Internally set by cloud connector."
              },
              "cloud_ref": {
                "type": "string",
                "description": "It is a reference to an object of type Cloud."
              },
              "conn_pool_properties": {
                "title": "ConnPoolProperties",
                "type": "object",
                "properties": {
                  "upstream_connpool_conn_idle_tmo": {
                    "type": "integer",
                    "description": "Connection idle timeout. Field introduced in 18.2.1.",
                        "default": 60000
                  },
                  "upstream_connpool_conn_life_tmo": {
                    "type": "integer",
                    "description": "Connection life timeout. Field introduced in 18.2.1.",
                        "default": 600000
                  },
                  "upstream_connpool_conn_max_reuse": {
                    "type": "integer",
                    "description": "Maximum number of times a connection can be reused. Special values are 0- 'unlimited'. Field introduced in 18.2.1."
                  },
                  "upstream_connpool_server_max_cache": {
                    "type": "integer",
                    "description": "Maximum number of connections a server can cache. Special values are 0- 'unlimited'. Field introduced in 18.2.1."
                  }
                }
              },
              "connection_ramp_duration": {
                "type": "integer",
                "description": "Duration for which new connections will be gradually ramped up to a server recently brought online.  Useful for LB algorithms that are least connection based. Allowed values are 1-300. Special values are 0 - 'Immediate'.",
                "default": 10
              },
              "created_by": {
                "type": "string",
                "description": "Creator name."
              },
              "default_server_port": {
                "type": "integer",
                "description": "Traffic sent to servers will use this destination server port unless overridden by the server's specific port attribute. The SSL checkbox enables Avi to server encryption. Allowed values are 1-65535.",
                "default": 80
              },
              "delete_server_on_dns_refresh": {
                "type": "boolean",
                "description": "Indicates whether existing IPs are disabled(false) or deleted(true) on dns hostname refreshDetail -- On a dns refresh, some IPs set on pool may no longer be returned by the resolver. These IPs are deleted from the pool when this knob is set to true. They are disabled, if the knob is set to false. Field introduced in 18.2.3.",
                "default": true
              },
              "description": {
                "type": "string",
                "description": "A description of the pool."
              },
              "domain_name": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Comma separated list of domain names which will be used to verify the common names or subject alternative names presented by server certificates. It is performed only when common name check host_check_enabled is enabled."
              },
              "east_west": {
                "type": "boolean",
                "description": "Inherited config from VirtualService."
              },
              "enable_http2": {
                "type": "boolean",
                "description": "Enable HTTP/2 for traffic from VirtualService to all backend servers in this pool. Field introduced in 20.1.1."
              },
              "enabled": {
                "type": "boolean",
                "description": "Enable or disable the pool.  Disabling will terminate all open connections and pause health monitors.",
                "default": true
              },
              "external_autoscale_groups": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Names of external auto-scale groups for pool servers. Currently available only for AWS and Azure. Field introduced in 17.1.2."
              },
              "fail_action": {
                "title": "FailAction",
                "required": [
                  "type"
                ],
                "type": "object",
                "properties": {
                  "backup_pool": {
                    "title": "FailActionBackupPool",
                    "required": [
                      "backup_pool_ref"
                    ],
                    "type": "object",
                    "properties": {
                      "backup_pool_ref": {
                        "type": "string",
                        "description": "Specifies the UUID of the Pool acting as backup pool. It is a reference to an object of type Pool."
                      }
                    }
                  },
                  "local_rsp": {
                    "title": "FailActionHTTPLocalResponse",
                    "type": "object",
                    "properties": {
                      "file": {
                        "title": "HTTPLocalFile",
                        "required": [
                          "content_type",
                          "file_content"
                        ],
                        "type": "object",
                        "properties": {
                          "content_type": {
                            "type": "string",
                            "description": "Mime-type of the content in the file."
                          },
                          "file_content": {
                            "type": "string",
                            "description": "File content to used in the local HTTP response body."
                          }
                        }
                      },
                      "status_code": {
                        "type": "string",
                        "description": "Enum options - FAIL_HTTP_STATUS_CODE_200, FAIL_HTTP_STATUS_CODE_503.",
                        "default": "FAIL_HTTP_STATUS_CODE_503"
                      }
                    }
                  },
                  "redirect": {
                    "title": "FailActionHTTPRedirect",
                    "required": [
                      "host"
                    ],
                    "type": "object",
                    "properties": {
                      "host": {
                        "type": "string",
                        "description": "host of FailActionHTTPRedirect."
                      },
                      "path": {
                        "type": "string",
                        "description": "path of FailActionHTTPRedirect."
                      },
                      "protocol": {
                        "type": "string",
                        "description": "Enum options - HTTP, HTTPS.",
                        "default": "HTTPS"
                      },
                      "query": {
                        "type": "string",
                        "description": "query of FailActionHTTPRedirect."
                      },
                      "status_code": {
                        "type": "string",
                        "description": "Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307.",
                        "default": "HTTP_REDIRECT_STATUS_CODE_302"
                      }
                    }
                  },
                  "type": {
                    "type": "string",
                    "description": "Enables a response to client when pool experiences a failure. By default TCP connection is closed. Enum options - FAIL_ACTION_HTTP_REDIRECT, FAIL_ACTION_HTTP_LOCAL_RSP, FAIL_ACTION_CLOSE_CONN, FAIL_ACTION_BACKUP_POOL.",
                    "example": "FAIL_ACTION_CLOSE_CONN"
                  }
                }
              },
              "fewest_tasks_feedback_delay": {
                "type": "integer",
                "description": "Periodicity of feedback for fewest tasks server selection algorithm. Allowed values are 1-300.",
                "default": 10
              },
              "graceful_disable_timeout": {
                "type": "integer",
                "description": "Used to gracefully disable a server. Virtual service waits for the specified time before terminating the existing connections  to the servers that are disabled. Allowed values are 1-7200. Special values are 0 - 'Immediate', -1 - 'Infinite'.",
                "default": 1
              },
              "gslb_sp_enabled": {
                "type": "boolean",
                "description": "Indicates if the pool is a site-persistence pool. . Field introduced in 17.2.1."
              },
              "health_monitor_refs": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Verify server health by applying one or more health monitors.  Active monitors generate synthetic traffic from each Service Engine and mark a server up or down based on the response. The Passive monitor listens only to client to server communication. It raises or lowers the ratio of traffic destined to a server based on successful responses. It is a reference to an object of type HealthMonitor."
              },
              "host_check_enabled": {
                "type": "boolean",
                "description": "Enable common name check for server certificate. If enabled and no explicit domain name is specified, Avi will use the incoming host header to do the match."
              },
              "ignore_server_port": {
                "type": "boolean",
                "description": "Ignore the server port in building the load balancing state.Applicable only for consistent hash load balancing algorithm or Disable Port translation (use_service_port) use cases. Field introduced in 20.1.1."
              },
              "inline_health_monitor": {
                "type": "boolean",
                "description": "The Passive monitor will monitor client to server connections and requests and adjust traffic load to servers based on successful responses.  This may alter the expected behavior of the LB method, such as Round Robin.",
                "default": true
              },
              "ipaddrgroup_ref": {
                "type": "string",
                "description": "Use list of servers from Ip Address Group. It is a reference to an object of type IpAddrGroup."
              },
              "lb_algorithm": {
                "type": "string",
                "description": "The load balancing algorithm will pick a server within the pool's list of available servers. Enum options - LB_ALGORITHM_LEAST_CONNECTIONS, LB_ALGORITHM_ROUND_ROBIN, LB_ALGORITHM_FASTEST_RESPONSE, LB_ALGORITHM_CONSISTENT_HASH, LB_ALGORITHM_LEAST_LOAD, LB_ALGORITHM_FEWEST_SERVERS, LB_ALGORITHM_RANDOM, LB_ALGORITHM_FEWEST_TASKS, LB_ALGORITHM_NEAREST_SERVER, LB_ALGORITHM_CORE_AFFINITY, LB_ALGORITHM_TOPOLOGY.",
                "default": "LB_ALGORITHM_LEAST_CONNECTIONS"
              },
              "lb_algorithm_consistent_hash_hdr": {
                "type": "string",
                "description": "HTTP header name to be used for the hash key."
              },
              "lb_algorithm_core_nonaffinity": {
                "type": "integer",
                "description": "Degree of non-affinity for core affinity based server selection. Allowed values are 1-65535. Field introduced in 17.1.3.",
                "default": 2
              },
              "lb_algorithm_hash": {
                "type": "string",
                "description": "Criteria used as a key for determining the hash between the client and  server. Enum options - LB_ALGORITHM_CONSISTENT_HASH_SOURCE_IP_ADDRESS, LB_ALGORITHM_CONSISTENT_HASH_SOURCE_IP_ADDRESS_AND_PORT, LB_ALGORITHM_CONSISTENT_HASH_URI, LB_ALGORITHM_CONSISTENT_HASH_CUSTOM_HEADER, LB_ALGORITHM_CONSISTENT_HASH_CUSTOM_STRING, LB_ALGORITHM_CONSISTENT_HASH_CALLID.",
                "default": "LB_ALGORITHM_CONSISTENT_HASH_SOURCE_IP_ADDRESS"
              },
              "lookup_server_by_name": {
                "type": "boolean",
                "description": "Allow server lookup by name. Field introduced in 17.1.11,17.2.4."
              },
              "max_concurrent_connections_per_server": {
                "type": "integer",
                "description": "The maximum number of concurrent connections allowed to each server within the pool. NOTE  applied value will be no less than the number of service engines that the pool is placed on. If set to 0, no limit is applied."
              },
              "max_conn_rate_per_server": {
                "title": "RateProfile",
                "required": [
                  "action"
                ],
                "type": "object",
                "properties": {
                  "action": {
                    "title": "RateLimiterAction",
                    "type": "object",
                    "properties": {
                      "file": {
                        "title": "HTTPLocalFile",
                        "required": [
                          "content_type",
                          "file_content"
                        ],
                        "type": "object",
                        "properties": {
                          "content_type": {
                            "type": "string",
                            "description": "Mime-type of the content in the file."
                          },
                          "file_content": {
                            "type": "string",
                            "description": "File content to used in the local HTTP response body."
                          }
                        }
                      },
                      "redirect": {
                        "title": "HTTPRedirectAction",
                        "required": [
                          "protocol"
                        ],
                        "type": "object",
                        "properties": {
                          "host": {
                            "type": "object",
                            "description": ""
                          },
                          "keep_query": {
                            "type": "boolean",
                            "description": "Keep or drop the query of the incoming request URI in the redirected URI.",
                            "default": true
                          },
                          "path": {
                            "type": "object",
                            "description": ""
                          },
                          "port": {
                            "type": "integer",
                            "description": "Port to which redirect the request. Allowed values are 1-65535."
                          },
                          "protocol": {
                            "type": "string",
                            "description": "Protocol type. Enum options - HTTP, HTTPS."
                          },
                          "status_code": {
                            "type": "string",
                            "description": "HTTP redirect status code. Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307.",
                            "default": "HTTP_REDIRECT_STATUS_CODE_302"
                          }
                        }
                      },
                      "status_code": {
                        "type": "string",
                        "description": "HTTP status code for Local Response rate limit action. Enum options - HTTP_LOCAL_RESPONSE_STATUS_CODE_200, HTTP_LOCAL_RESPONSE_STATUS_CODE_204, HTTP_LOCAL_RESPONSE_STATUS_CODE_403, HTTP_LOCAL_RESPONSE_STATUS_CODE_404, HTTP_LOCAL_RESPONSE_STATUS_CODE_429, HTTP_LOCAL_RESPONSE_STATUS_CODE_501.",
                        "default": "HTTP_LOCAL_RESPONSE_STATUS_CODE_429"
                      },
                      "type": {
                        "type": "string",
                        "description": "Type of action to be enforced upon hitting the rate limit. Enum options - RL_ACTION_NONE, RL_ACTION_DROP_CONN, RL_ACTION_RESET_CONN, RL_ACTION_CLOSE_CONN, RL_ACTION_LOCAL_RSP, RL_ACTION_REDIRECT.",
                        "default": "RL_ACTION_NONE"
                      }
                    }
                  },
                  "burst_sz": {
                    "type": "integer",
                    "description": "Maximum number of connections or requests or packets to be let through instantaneously. Allowed values are 10-2500. Special values are 0- 'automatic'. Field deprecated in 18.2.9."
                  },
                  "count": {
                    "type": "integer",
                    "description": "Maximum number of connections or requests or packets. Allowed values are 1-1000000000. Special values are 0- 'unlimited'. Field deprecated in 18.2.9."
                  },
                  "explicit_tracking": {
                    "type": "boolean",
                    "description": "Explicitly tracks an attacker across rate periods."
                  },
                  "fine_grain": {
                    "type": "boolean",
                    "description": "Enable fine granularity."
                  },
                  "http_cookie": {
                    "type": "string",
                    "description": "HTTP cookie name. Field introduced in 17.1.1."
                  },
                  "http_header": {
                    "type": "string",
                    "description": "HTTP header name. Field introduced in 17.1.1."
                  },
                  "period": {
                    "type": "integer",
                    "description": "Time value in seconds to enforce rate count. Allowed values are 1-300. Field deprecated in 18.2.9."
                  },
                  "rate_limiter": {
                    "title": "RateLimiter",
                    "required": [
                      "count",
                      "period"
                    ],
                    "type": "object",
                    "properties": {
                      "burst_sz": {
                        "type": "integer",
                        "description": "Maximum number of connections, requests or packets to be let through instantaneously.  If this is less than count, it will have no effect. Allowed values are 0-1000000000. Field introduced in 18.2.9."
                      },
                      "count": {
                        "type": "integer",
                        "description": "Maximum number of connections, requests or packets permitted each period. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                                "example": 1000000000
                      },
                      "name": {
                        "type": "string",
                        "description": "Identifier for Rate Limit. Constructed according to context. Field introduced in 18.2.9."
                      },
                      "period": {
                        "type": "integer",
                        "description": "Time value in seconds to enforce rate count. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                                "example": 1
                      }
                    }
                  }
                }
              },
              "min_health_monitors_up": {
                "type": "integer",
                "description": "Minimum number of health monitors in UP state to mark server UP. Field introduced in 18.2.1, 17.2.12."
              },
              "min_servers_up": {
                "type": "integer",
                "description": "Minimum number of servers in UP state for marking the pool UP. Field introduced in 18.2.1, 17.2.12."
              },
              "name": {
                "type": "string",
                "description": "The name of the pool."
              },
              "networks": {
                "type": "array",
                "items": {
                  "title": "NetworkFilter",
                  "required": [
                    "network_ref"
                  ],
                  "type": "object",
                  "properties": {
                    "network_ref": {
                      "type": "string",
                      "description": "It is a reference to an object of type VIMgrNWRuntime."
                    },
                    "server_filter": {
                      "type": "string",
                      "description": "server_filter of NetworkFilter."
                    }
                  }
                },
                "description": "(internal-use) Networks designated as containing servers for this pool.  The servers may be further narrowed down by a filter. This field is used internally by Avi, not editable by the user."
              },
              "nsx_securitygroup": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "A list of NSX Service Groups where the Servers for the Pool are created . Field introduced in 17.1.1."
              },
              "pki_profile_ref": {
                "type": "string",
                "description": "Avi will validate the SSL certificate present by a server against the selected PKI Profile. It is a reference to an object of type PKIProfile."
              },
              "placement_networks": {
                "type": "array",
                "items": {
                  "title": "PlacementNetwork",
                  "required": [
                    "network_ref",
                    "subnet"
                  ],
                  "type": "object",
                  "properties": {
                    "network_ref": {
                      "type": "string",
                      "description": "It is a reference to an object of type Network."
                    },
                    "subnet": {
                      "title": "IpAddrPrefix",
                      "required": [
                        "ip_addr",
                        "mask"
                      ],
                      "type": "object",
                      "properties": {
                        "ip_addr": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "mask": {
                          "type": "integer",
                          "description": "Number of mask."
                        }
                      }
                    }
                  }
                },
                "description": "Manually select the networks and subnets used to provide reachability to the pool's servers.  Specify the Subnet using the following syntax  10-1-1-0/24. Use static routes in VRF configuration when pool servers are not directly connected but routable from the service engine."
              },
              "prst_hdr_name": {
                "type": "string",
                "description": "Header name for custom header persistence. Field deprecated in 18.1.2."
              },
              "request_queue_depth": {
                "type": "integer",
                "description": "Minimum number of requests to be queued when pool is full.",
                "default": 128
              },
              "request_queue_enabled": {
                "type": "boolean",
                "description": "Enable request queue when pool is full."
              },
              "rewrite_host_header_to_server_name": {
                "type": "boolean",
                "description": "Rewrite incoming Host Header to server name of the server to which the request is proxied.  Enabling this feature rewrites Host Header for requests to all servers in the pool."
              },
              "rewrite_host_header_to_sni": {
                "type": "boolean",
                "description": "If SNI server name is specified, rewrite incoming host header to the SNI server name."
              },
              "routing_pool": {
                "type": "boolean",
                "description": "Enable to do routing when this pool is selected to send traffic. No servers present in routing pool. Field introduced in 20.1.1."
              },
              "server_auto_scale": {
                "type": "boolean",
                "description": "Server AutoScale. Not used anymore. Field deprecated in 18.1.2."
              },
              "server_count": {
                "type": "integer",
                "description": "Field deprecated in 18.2.1."
              },
              "server_name": {
                "type": "string",
                "description": "Fully qualified DNS hostname which will be used in the TLS SNI extension in server connections if SNI is enabled. If no value is specified, Avi will use the incoming host header instead."
              },
              "server_reselect": {
                "title": "HTTPServerReselect",
                "required": [
                  "enabled"
                ],
                "type": "object",
                "properties": {
                  "enabled": {
                    "type": "boolean",
                    "description": "Enable HTTP request reselect when server responds with specific response codes."
                  },
                  "num_retries": {
                    "type": "integer",
                    "description": "Number of times to retry an HTTP request when server responds with configured status codes.",
                        "default": 4
                  },
                  "retry_nonidempotent": {
                    "type": "boolean",
                    "description": "Allow retry of non-idempotent HTTP requests."
                  },
                  "retry_timeout": {
                    "type": "integer",
                    "description": "Timeout per retry attempt, for a given request. Value of 0 indicates default timeout. Allowed values are 0-3600000. Field introduced in 18.1.5,18.2.1."
                  },
                  "svr_resp_code": {
                    "title": "HTTPReselectRespCode",
                    "type": "object",
                    "properties": {
                      "codes": {
                        "type": "array",
                        "items": {
                          "type": "integer"
                        },
                        "description": "HTTP response code to be matched. Allowed values are 400-599."
                      },
                      "ranges": {
                        "type": "array",
                        "items": {
                          "title": "HTTPStatusRange",
                          "required": [
                            "begin",
                            "end"
                          ],
                          "type": "object",
                          "properties": {
                            "begin": {
                              "type": "integer",
                              "description": "Starting HTTP response status code."
                            },
                            "end": {
                              "type": "integer",
                              "description": "Ending HTTP response status code."
                            }
                          }
                        },
                        "description": "HTTP response code ranges to match."
                      },
                      "resp_code_block": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "description": "Block of HTTP response codes to match for server reselect. Enum options - HTTP_RSP_4XX, HTTP_RSP_5XX."
                      }
                    }
                  }
                }
              },
              "server_timeout": {
                "type": "integer",
                "description": "Server timeout value specifies the time within which a server connection needs to be established and a request-response exchange completes between AVI and the server. Value of 0 results in using default timeout of 60 minutes. Allowed values are 0-3600000. Field introduced in 18.1.5,18.2.1."
              },
              "servers": {
                "type": "array",
                "items": {
                  "title": "Server",
                  "required": [
                    "ip"
                  ],
                  "type": "object",
                  "properties": {
                    "autoscaling_group_name": {
                      "type": "string",
                      "description": "Name of autoscaling group this server belongs to. Field introduced in 17.1.2."
                    },
                    "availability_zone": {
                      "type": "string",
                      "description": "Availability-zone of the server VM."
                    },
                    "description": {
                      "type": "string",
                      "description": "A description of the Server."
                    },
                    "discovered_network_ref": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "(internal-use) Discovered network for this server. This field is deprecated. It is a reference to an object of type Network. Field deprecated in 17.1.1."
                    },
                    "discovered_networks": {
                      "type": "array",
                      "items": {
                        "title": "DiscoveredNetwork",
                        "required": [
                          "network_ref"
                        ],
                        "type": "object",
                        "properties": {
                          "network_ref": {
                            "type": "string",
                            "description": "Discovered network for this IP. It is a reference to an object of type Network."
                          },
                          "subnet": {
                            "type": "array",
                            "items": {
                              "title": "IpAddrPrefix",
                              "required": [
                                "ip_addr",
                                "mask"
                              ],
                              "type": "object",
                              "properties": {
                                "ip_addr": {
                                  "title": "IpAddr",
                                  "required": [
                                    "addr",
                                    "type"
                                  ],
                                  "type": "object",
                                  "properties": {
                                    "addr": {
                                      "type": "string",
                                      "description": "IP address."
                                    },
                                    "type": {
                                      "type": "string",
                                      "description": "Enum options - V4, DNS, V6."
                                    }
                                  }
                                },
                                "mask": {
                                  "type": "integer",
                                  "description": "Number of mask."
                                }
                              }
                            },
                            "description": "Discovered subnet for this IP."
                          },
                          "subnet6": {
                            "type": "array",
                            "items": {
                              "title": "IpAddrPrefix",
                              "required": [
                                "ip_addr",
                                "mask"
                              ],
                              "type": "object",
                              "properties": {
                                "ip_addr": {
                                  "title": "IpAddr",
                                  "required": [
                                    "addr",
                                    "type"
                                  ],
                                  "type": "object",
                                  "properties": {
                                    "addr": {
                                      "type": "string",
                                      "description": "IP address."
                                    },
                                    "type": {
                                      "type": "string",
                                      "description": "Enum options - V4, DNS, V6."
                                    }
                                  }
                                },
                                "mask": {
                                  "type": "integer",
                                  "description": "Number of mask."
                                }
                              }
                            },
                            "description": "Discovered IPv6 subnet for this IP. Field introduced in 18.1.1."
                          }
                        }
                      },
                      "description": "(internal-use) Discovered networks providing reachability for server IP. This field is used internally by Avi, not editable by the user."
                    },
                    "discovered_subnet": {
                      "type": "array",
                      "items": {
                        "title": "IpAddrPrefix",
                        "required": [
                          "ip_addr",
                          "mask"
                        ],
                        "type": "object",
                        "properties": {
                          "ip_addr": {
                            "title": "IpAddr",
                            "required": [
                              "addr",
                              "type"
                            ],
                            "type": "object",
                            "properties": {
                              "addr": {
                                "type": "string",
                                "description": "IP address."
                              },
                              "type": {
                                "type": "string",
                                "description": "Enum options - V4, DNS, V6."
                              }
                            }
                          },
                          "mask": {
                            "type": "integer",
                            "description": "Number of mask."
                          }
                        }
                      },
                      "description": "(internal-use) Discovered subnet for this server. This field is deprecated. Field deprecated in 17.1.1."
                    },
                    "enabled": {
                      "type": "boolean",
                      "description": "Enable, Disable or Graceful Disable determine if new or existing connections to the server are allowed.",
                      "default": true
                    },
                    "external_orchestration_id": {
                      "type": "string",
                      "description": "UID of server in external orchestration systems."
                    },
                    "external_uuid": {
                      "type": "string",
                      "description": "UUID identifying VM in OpenStack and other external compute."
                    },
                    "hostname": {
                      "type": "string",
                      "description": "DNS resolvable name of the server.  May be used in place of the IP address."
                    },
                    "ip": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "location": {
                      "title": "GeoLocation",
                      "type": "object",
                      "properties": {
                        "latitude": {
                          "type": "number",
                          "description": "Latitude of the location. This is represented as degrees.minutes. The range is from -90.0 (south) to +90.0 (north). Allowed values are -90.0-+90.0. Field introduced in 17.1.1."
                        },
                        "longitude": {
                          "type": "number",
                          "description": "Longitude of the location. This is represented as degrees.minutes. The range is from -180.0 (west) to +180.0 (east). Allowed values are -180.0-+180.0. Field introduced in 17.1.1."
                        },
                        "name": {
                          "type": "string",
                          "description": "Location name in the format Country/State/City. Field introduced in 17.1.1."
                        },
                        "tag": {
                          "type": "string",
                          "description": "Location tag string - example  USEast. Field introduced in 17.1.1."
                        }
                      }
                    },
                    "mac_address": {
                      "type": "string",
                      "description": "MAC address of server."
                    },
                    "nw_ref": {
                      "type": "string",
                      "description": "(internal-use) This field is used internally by Avi, not editable by the user. It is a reference to an object of type VIMgrNWRuntime."
                    },
                    "port": {
                      "type": "integer",
                      "description": "Optionally specify the servers port number.  This will override the pool's default server port attribute. Allowed values are 1-65535. Special values are 0- 'use backend port in pool'."
                    },
                    "prst_hdr_val": {
                      "type": "string",
                      "description": "Header value for custom header persistence. ."
                    },
                    "ratio": {
                      "type": "integer",
                      "description": "Ratio of selecting eligible servers in the pool. Allowed values are 1-20.",
                            "default": 1
                    },
                    "resolve_server_by_dns": {
                      "type": "boolean",
                      "description": "Auto resolve server's IP using DNS name."
                    },
                    "rewrite_host_header": {
                      "type": "boolean",
                      "description": "Rewrite incoming Host Header to server name."
                    },
                    "server_node": {
                      "type": "string",
                      "description": "Hostname of the node where the server VM or container resides."
                    },
                    "static": {
                      "type": "boolean",
                      "description": "If statically learned."
                    },
                    "verify_network": {
                      "type": "boolean",
                      "description": "Verify server belongs to a discovered network or reachable via a discovered network. Verify reachable network isn't the OpenStack management network."
                    },
                    "vm_ref": {
                      "type": "string",
                      "description": "(internal-use) This field is used internally by Avi, not editable by the user. It is a reference to an object of type VIMgrVMRuntime."
                    }
                  }
                },
                "description": "The pool directs load balanced traffic to this list of destination servers. The servers can be configured by IP address, name, network or via IP Address Group."
              },
              "service_metadata": {
                "type": "string",
                "description": "Metadata pertaining to the service provided by this Pool. In Openshift/Kubernetes environments, app metadata info is stored. Any user input to this field will be overwritten by Avi Vantage. Field introduced in 17.2.14,18.1.5,18.2.1."
              },
              "sni_enabled": {
                "type": "boolean",
                "description": "Enable TLS SNI for server connections. If disabled, Avi will not send the SNI extension as part of the handshake.",
                "default": true
              },
              "ssl_key_and_certificate_ref": {
                "type": "string",
                "description": "Service Engines will present a client SSL certificate to the server. It is a reference to an object of type SSLKeyAndCertificate."
              },
              "ssl_profile_ref": {
                "type": "string",
                "description": "When enabled, Avi re-encrypts traffic to the backend servers. The specific SSL profile defines which ciphers and SSL versions will be supported. It is a reference to an object of type SSLProfile."
              },
              "tenant_ref": {
                "type": "string",
                "description": "It is a reference to an object of type Tenant."
              },
              "tier1_lr": {
                "type": "string",
                "description": "This tier1_lr field should be set same as VirtualService associated for NSX-T. Field introduced in 20.1.1."
              },
              "url": {
                "type": "string",
                "description": "url"
              },
              "use_service_port": {
                "type": "boolean",
                "description": "Do not translate the client's destination port when sending the connection to the server.  The pool or servers specified service port will still be used for health monitoring."
              },
              "uuid": {
                "type": "string",
                "description": "UUID of the pool."
              },
              "vrf_ref": {
                "type": "string",
                "description": "Virtual Routing Context that the pool is bound to. This is used to provide the isolation of the set of networks the pool is attached to. The pool inherits the Virtual Routing Conext of the Virtual Service, and this field is used only internally, and is set by pb-transform. It is a reference to an object of type VrfContext."
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "Pool",
          "required": [
            "name"
          ],
          "type": "object",
          "properties": {
            "_last_modified": {
              "type": "string",
              "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
            },
            "a_pool": {
              "type": "string",
              "description": "Name of container cloud application that constitutes A pool in a A-B pool configuration, if different from VS app. Field deprecated in 18.1.2."
            },
            "ab_pool": {
              "title": "AbPool",
              "required": [
                "pool_ref"
              ],
              "type": "object",
              "properties": {
                "pool_ref": {
                  "type": "string",
                  "description": "Pool configured as B pool for A/B testing. It is a reference to an object of type Pool."
                },
                "ratio": {
                  "type": "integer",
                  "description": "Ratio of traffic diverted to the B pool, for A/B testing. Allowed values are 0-100."
                }
              }
            },
            "ab_priority": {
              "type": "integer",
              "description": "Priority of this pool in a A-B pool pair. Internally used. Field deprecated in 18.1.2."
            },
            "analytics_policy": {
              "title": "PoolAnalyticsPolicy",
              "type": "object",
              "properties": {
                "enable_realtime_metrics": {
                  "type": "boolean",
                  "description": "Enable real time metrics for server and pool metrics eg. l4_server.xxx, l7_server.xxx. Field introduced in 18.1.5, 18.2.1."
                }
              }
            },
            "analytics_profile_ref": {
              "type": "string",
              "description": "Specifies settings related to analytics. It is a reference to an object of type AnalyticsProfile. Field introduced in 18.1.4,18.2.1."
            },
            "apic_epg_name": {
              "type": "string",
              "description": "Synchronize Cisco APIC EPG members with pool servers."
            },
            "application_persistence_profile_ref": {
              "type": "string",
              "description": "Persistence will ensure the same user sticks to the same server for a desired duration of time. It is a reference to an object of type ApplicationPersistenceProfile."
            },
            "autoscale_launch_config_ref": {
              "type": "string",
              "description": "If configured then Avi will trigger orchestration of pool server creation and deletion. It is only supported for container clouds like Mesos, Opensift, Kubernates, Docker etc. It is a reference to an object of type AutoScaleLaunchConfig."
            },
            "autoscale_networks": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Network Ids for the launch configuration."
            },
            "autoscale_policy_ref": {
              "type": "string",
              "description": "Reference to Server Autoscale Policy. It is a reference to an object of type ServerAutoScalePolicy."
            },
            "capacity_estimation": {
              "type": "boolean",
              "description": "Inline estimation of capacity of servers."
            },
            "capacity_estimation_ttfb_thresh": {
              "type": "integer",
              "description": "The maximum time-to-first-byte of a server. Allowed values are 1-5000. Special values are 0 - 'Automatic'."
            },
            "cloud_config_cksum": {
              "type": "string",
              "description": "Checksum of cloud configuration for Pool. Internally set by cloud connector."
            },
            "cloud_ref": {
              "type": "string",
              "description": "It is a reference to an object of type Cloud."
            },
            "conn_pool_properties": {
              "title": "ConnPoolProperties",
              "type": "object",
              "properties": {
                "upstream_connpool_conn_idle_tmo": {
                  "type": "integer",
                  "description": "Connection idle timeout. Field introduced in 18.2.1.",
                    "default": 60000
                },
                "upstream_connpool_conn_life_tmo": {
                  "type": "integer",
                  "description": "Connection life timeout. Field introduced in 18.2.1.",
                    "default": 600000
                },
                "upstream_connpool_conn_max_reuse": {
                  "type": "integer",
                  "description": "Maximum number of times a connection can be reused. Special values are 0- 'unlimited'. Field introduced in 18.2.1."
                },
                "upstream_connpool_server_max_cache": {
                  "type": "integer",
                  "description": "Maximum number of connections a server can cache. Special values are 0- 'unlimited'. Field introduced in 18.2.1."
                }
              }
            },
            "connection_ramp_duration": {
              "type": "integer",
              "description": "Duration for which new connections will be gradually ramped up to a server recently brought online.  Useful for LB algorithms that are least connection based. Allowed values are 1-300. Special values are 0 - 'Immediate'.",
              "default": 10
            },
            "created_by": {
              "type": "string",
              "description": "Creator name."
            },
            "default_server_port": {
              "type": "integer",
              "description": "Traffic sent to servers will use this destination server port unless overridden by the server's specific port attribute. The SSL checkbox enables Avi to server encryption. Allowed values are 1-65535.",
              "default": 80
            },
            "delete_server_on_dns_refresh": {
              "type": "boolean",
              "description": "Indicates whether existing IPs are disabled(false) or deleted(true) on dns hostname refreshDetail -- On a dns refresh, some IPs set on pool may no longer be returned by the resolver. These IPs are deleted from the pool when this knob is set to true. They are disabled, if the knob is set to false. Field introduced in 18.2.3.",
              "default": true
            },
            "description": {
              "type": "string",
              "description": "A description of the pool."
            },
            "domain_name": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Comma separated list of domain names which will be used to verify the common names or subject alternative names presented by server certificates. It is performed only when common name check host_check_enabled is enabled."
            },
            "east_west": {
              "type": "boolean",
              "description": "Inherited config from VirtualService."
            },
            "enable_http2": {
              "type": "boolean",
              "description": "Enable HTTP/2 for traffic from VirtualService to all backend servers in this pool. Field introduced in 20.1.1."
            },
            "enabled": {
              "type": "boolean",
              "description": "Enable or disable the pool.  Disabling will terminate all open connections and pause health monitors.",
              "default": true
            },
            "external_autoscale_groups": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Names of external auto-scale groups for pool servers. Currently available only for AWS and Azure. Field introduced in 17.1.2."
            },
            "fail_action": {
              "title": "FailAction",
              "required": [
                "type"
              ],
              "type": "object",
              "properties": {
                "backup_pool": {
                  "title": "FailActionBackupPool",
                  "required": [
                    "backup_pool_ref"
                  ],
                  "type": "object",
                  "properties": {
                    "backup_pool_ref": {
                      "type": "string",
                      "description": "Specifies the UUID of the Pool acting as backup pool. It is a reference to an object of type Pool."
                    }
                  }
                },
                "local_rsp": {
                  "title": "FailActionHTTPLocalResponse",
                  "type": "object",
                  "properties": {
                    "file": {
                      "title": "HTTPLocalFile",
                      "required": [
                        "content_type",
                        "file_content"
                      ],
                      "type": "object",
                      "properties": {
                        "content_type": {
                          "type": "string",
                          "description": "Mime-type of the content in the file."
                        },
                        "file_content": {
                          "type": "string",
                          "description": "File content to used in the local HTTP response body."
                        }
                      }
                    },
                    "status_code": {
                      "type": "string",
                      "description": "Enum options - FAIL_HTTP_STATUS_CODE_200, FAIL_HTTP_STATUS_CODE_503.",
                      "default": "FAIL_HTTP_STATUS_CODE_503"
                    }
                  }
                },
                "redirect": {
                  "title": "FailActionHTTPRedirect",
                  "required": [
                    "host"
                  ],
                  "type": "object",
                  "properties": {
                    "host": {
                      "type": "string",
                      "description": "host of FailActionHTTPRedirect."
                    },
                    "path": {
                      "type": "string",
                      "description": "path of FailActionHTTPRedirect."
                    },
                    "protocol": {
                      "type": "string",
                      "description": "Enum options - HTTP, HTTPS.",
                      "default": "HTTPS"
                    },
                    "query": {
                      "type": "string",
                      "description": "query of FailActionHTTPRedirect."
                    },
                    "status_code": {
                      "type": "string",
                      "description": "Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307.",
                      "default": "HTTP_REDIRECT_STATUS_CODE_302"
                    }
                  }
                },
                "type": {
                  "type": "string",
                  "description": "Enables a response to client when pool experiences a failure. By default TCP connection is closed. Enum options - FAIL_ACTION_HTTP_REDIRECT, FAIL_ACTION_HTTP_LOCAL_RSP, FAIL_ACTION_CLOSE_CONN, FAIL_ACTION_BACKUP_POOL.",
                  "example": "FAIL_ACTION_CLOSE_CONN"
                }
              }
            },
            "fewest_tasks_feedback_delay": {
              "type": "integer",
              "description": "Periodicity of feedback for fewest tasks server selection algorithm. Allowed values are 1-300.",
              "default": 10
            },
            "graceful_disable_timeout": {
              "type": "integer",
              "description": "Used to gracefully disable a server. Virtual service waits for the specified time before terminating the existing connections  to the servers that are disabled. Allowed values are 1-7200. Special values are 0 - 'Immediate', -1 - 'Infinite'.",
              "default": 1
            },
            "gslb_sp_enabled": {
              "type": "boolean",
              "description": "Indicates if the pool is a site-persistence pool. . Field introduced in 17.2.1."
            },
            "health_monitor_refs": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Verify server health by applying one or more health monitors.  Active monitors generate synthetic traffic from each Service Engine and mark a server up or down based on the response. The Passive monitor listens only to client to server communication. It raises or lowers the ratio of traffic destined to a server based on successful responses. It is a reference to an object of type HealthMonitor."
            },
            "host_check_enabled": {
              "type": "boolean",
              "description": "Enable common name check for server certificate. If enabled and no explicit domain name is specified, Avi will use the incoming host header to do the match."
            },
            "ignore_server_port": {
              "type": "boolean",
              "description": "Ignore the server port in building the load balancing state.Applicable only for consistent hash load balancing algorithm or Disable Port translation (use_service_port) use cases. Field introduced in 20.1.1."
            },
            "inline_health_monitor": {
              "type": "boolean",
              "description": "The Passive monitor will monitor client to server connections and requests and adjust traffic load to servers based on successful responses.  This may alter the expected behavior of the LB method, such as Round Robin.",
              "default": true
            },
            "ipaddrgroup_ref": {
              "type": "string",
              "description": "Use list of servers from Ip Address Group. It is a reference to an object of type IpAddrGroup."
            },
            "lb_algorithm": {
              "type": "string",
              "description": "The load balancing algorithm will pick a server within the pool's list of available servers. Enum options - LB_ALGORITHM_LEAST_CONNECTIONS, LB_ALGORITHM_ROUND_ROBIN, LB_ALGORITHM_FASTEST_RESPONSE, LB_ALGORITHM_CONSISTENT_HASH, LB_ALGORITHM_LEAST_LOAD, LB_ALGORITHM_FEWEST_SERVERS, LB_ALGORITHM_RANDOM, LB_ALGORITHM_FEWEST_TASKS, LB_ALGORITHM_NEAREST_SERVER, LB_ALGORITHM_CORE_AFFINITY, LB_ALGORITHM_TOPOLOGY.",
              "default": "LB_ALGORITHM_LEAST_CONNECTIONS"
            },
            "lb_algorithm_consistent_hash_hdr": {
              "type": "string",
              "description": "HTTP header name to be used for the hash key."
            },
            "lb_algorithm_core_nonaffinity": {
              "type": "integer",
              "description": "Degree of non-affinity for core affinity based server selection. Allowed values are 1-65535. Field introduced in 17.1.3.",
              "default": 2
            },
            "lb_algorithm_hash": {
              "type": "string",
              "description": "Criteria used as a key for determining the hash between the client and  server. Enum options - LB_ALGORITHM_CONSISTENT_HASH_SOURCE_IP_ADDRESS, LB_ALGORITHM_CONSISTENT_HASH_SOURCE_IP_ADDRESS_AND_PORT, LB_ALGORITHM_CONSISTENT_HASH_URI, LB_ALGORITHM_CONSISTENT_HASH_CUSTOM_HEADER, LB_ALGORITHM_CONSISTENT_HASH_CUSTOM_STRING, LB_ALGORITHM_CONSISTENT_HASH_CALLID.",
              "default": "LB_ALGORITHM_CONSISTENT_HASH_SOURCE_IP_ADDRESS"
            },
            "lookup_server_by_name": {
              "type": "boolean",
              "description": "Allow server lookup by name. Field introduced in 17.1.11,17.2.4."
            },
            "max_concurrent_connections_per_server": {
              "type": "integer",
              "description": "The maximum number of concurrent connections allowed to each server within the pool. NOTE  applied value will be no less than the number of service engines that the pool is placed on. If set to 0, no limit is applied."
            },
            "max_conn_rate_per_server": {
              "title": "RateProfile",
              "required": [
                "action"
              ],
              "type": "object",
              "properties": {
                "action": {
                  "title": "RateLimiterAction",
                  "type": "object",
                  "properties": {
                    "file": {
                      "title": "HTTPLocalFile",
                      "required": [
                        "content_type",
                        "file_content"
                      ],
                      "type": "object",
                      "properties": {
                        "content_type": {
                          "type": "string",
                          "description": "Mime-type of the content in the file."
                        },
                        "file_content": {
                          "type": "string",
                          "description": "File content to used in the local HTTP response body."
                        }
                      }
                    },
                    "redirect": {
                      "title": "HTTPRedirectAction",
                      "required": [
                        "protocol"
                      ],
                      "type": "object",
                      "properties": {
                        "host": {
                          "type": "object",
                          "description": ""
                        },
                        "keep_query": {
                          "type": "boolean",
                          "description": "Keep or drop the query of the incoming request URI in the redirected URI.",
                          "default": true
                        },
                        "path": {
                          "type": "object",
                          "description": ""
                        },
                        "port": {
                          "type": "integer",
                          "description": "Port to which redirect the request. Allowed values are 1-65535."
                        },
                        "protocol": {
                          "type": "string",
                          "description": "Protocol type. Enum options - HTTP, HTTPS."
                        },
                        "status_code": {
                          "type": "string",
                          "description": "HTTP redirect status code. Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307.",
                          "default": "HTTP_REDIRECT_STATUS_CODE_302"
                        }
                      }
                    },
                    "status_code": {
                      "type": "string",
                      "description": "HTTP status code for Local Response rate limit action. Enum options - HTTP_LOCAL_RESPONSE_STATUS_CODE_200, HTTP_LOCAL_RESPONSE_STATUS_CODE_204, HTTP_LOCAL_RESPONSE_STATUS_CODE_403, HTTP_LOCAL_RESPONSE_STATUS_CODE_404, HTTP_LOCAL_RESPONSE_STATUS_CODE_429, HTTP_LOCAL_RESPONSE_STATUS_CODE_501.",
                      "default": "HTTP_LOCAL_RESPONSE_STATUS_CODE_429"
                    },
                    "type": {
                      "type": "string",
                      "description": "Type of action to be enforced upon hitting the rate limit. Enum options - RL_ACTION_NONE, RL_ACTION_DROP_CONN, RL_ACTION_RESET_CONN, RL_ACTION_CLOSE_CONN, RL_ACTION_LOCAL_RSP, RL_ACTION_REDIRECT.",
                      "default": "RL_ACTION_NONE"
                    }
                  }
                },
                "burst_sz": {
                  "type": "integer",
                  "description": "Maximum number of connections or requests or packets to be let through instantaneously. Allowed values are 10-2500. Special values are 0- 'automatic'. Field deprecated in 18.2.9."
                },
                "count": {
                  "type": "integer",
                  "description": "Maximum number of connections or requests or packets. Allowed values are 1-1000000000. Special values are 0- 'unlimited'. Field deprecated in 18.2.9."
                },
                "explicit_tracking": {
                  "type": "boolean",
                  "description": "Explicitly tracks an attacker across rate periods."
                },
                "fine_grain": {
                  "type": "boolean",
                  "description": "Enable fine granularity."
                },
                "http_cookie": {
                  "type": "string",
                  "description": "HTTP cookie name. Field introduced in 17.1.1."
                },
                "http_header": {
                  "type": "string",
                  "description": "HTTP header name. Field introduced in 17.1.1."
                },
                "period": {
                  "type": "integer",
                  "description": "Time value in seconds to enforce rate count. Allowed values are 1-300. Field deprecated in 18.2.9."
                },
                "rate_limiter": {
                  "title": "RateLimiter",
                  "required": [
                    "count",
                    "period"
                  ],
                  "type": "object",
                  "properties": {
                    "burst_sz": {
                      "type": "integer",
                      "description": "Maximum number of connections, requests or packets to be let through instantaneously.  If this is less than count, it will have no effect. Allowed values are 0-1000000000. Field introduced in 18.2.9."
                    },
                    "count": {
                      "type": "integer",
                      "description": "Maximum number of connections, requests or packets permitted each period. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                            "example": 1000000000
                    },
                    "name": {
                      "type": "string",
                      "description": "Identifier for Rate Limit. Constructed according to context. Field introduced in 18.2.9."
                    },
                    "period": {
                      "type": "integer",
                      "description": "Time value in seconds to enforce rate count. Allowed values are 1-1000000000. Field introduced in 18.2.9.",
                            "example": 1
                    }
                  }
                }
              }
            },
            "min_health_monitors_up": {
              "type": "integer",
              "description": "Minimum number of health monitors in UP state to mark server UP. Field introduced in 18.2.1, 17.2.12."
            },
            "min_servers_up": {
              "type": "integer",
              "description": "Minimum number of servers in UP state for marking the pool UP. Field introduced in 18.2.1, 17.2.12."
            },
            "name": {
              "type": "string",
              "description": "The name of the pool."
            },
            "networks": {
              "type": "array",
              "items": {
                "title": "NetworkFilter",
                "required": [
                  "network_ref"
                ],
                "type": "object",
                "properties": {
                  "network_ref": {
                    "type": "string",
                    "description": "It is a reference to an object of type VIMgrNWRuntime."
                  },
                  "server_filter": {
                    "type": "string",
                    "description": "server_filter of NetworkFilter."
                  }
                }
              },
              "description": "(internal-use) Networks designated as containing servers for this pool.  The servers may be further narrowed down by a filter. This field is used internally by Avi, not editable by the user."
            },
            "nsx_securitygroup": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "A list of NSX Service Groups where the Servers for the Pool are created . Field introduced in 17.1.1."
            },
            "pki_profile_ref": {
              "type": "string",
              "description": "Avi will validate the SSL certificate present by a server against the selected PKI Profile. It is a reference to an object of type PKIProfile."
            },
            "placement_networks": {
              "type": "array",
              "items": {
                "title": "PlacementNetwork",
                "required": [
                  "network_ref",
                  "subnet"
                ],
                "type": "object",
                "properties": {
                  "network_ref": {
                    "type": "string",
                    "description": "It is a reference to an object of type Network."
                  },
                  "subnet": {
                    "title": "IpAddrPrefix",
                    "required": [
                      "ip_addr",
                      "mask"
                    ],
                    "type": "object",
                    "properties": {
                      "ip_addr": {
                        "title": "IpAddr",
                        "required": [
                          "addr",
                          "type"
                        ],
                        "type": "object",
                        "properties": {
                          "addr": {
                            "type": "string",
                            "description": "IP address."
                          },
                          "type": {
                            "type": "string",
                            "description": "Enum options - V4, DNS, V6."
                          }
                        }
                      },
                      "mask": {
                        "type": "integer",
                        "description": "Number of mask."
                      }
                    }
                  }
                }
              },
              "description": "Manually select the networks and subnets used to provide reachability to the pool's servers.  Specify the Subnet using the following syntax  10-1-1-0/24. Use static routes in VRF configuration when pool servers are not directly connected but routable from the service engine."
            },
            "prst_hdr_name": {
              "type": "string",
              "description": "Header name for custom header persistence. Field deprecated in 18.1.2."
            },
            "request_queue_depth": {
              "type": "integer",
              "description": "Minimum number of requests to be queued when pool is full.",
              "default": 128
            },
            "request_queue_enabled": {
              "type": "boolean",
              "description": "Enable request queue when pool is full."
            },
            "rewrite_host_header_to_server_name": {
              "type": "boolean",
              "description": "Rewrite incoming Host Header to server name of the server to which the request is proxied.  Enabling this feature rewrites Host Header for requests to all servers in the pool."
            },
            "rewrite_host_header_to_sni": {
              "type": "boolean",
              "description": "If SNI server name is specified, rewrite incoming host header to the SNI server name."
            },
            "routing_pool": {
              "type": "boolean",
              "description": "Enable to do routing when this pool is selected to send traffic. No servers present in routing pool. Field introduced in 20.1.1."
            },
            "server_auto_scale": {
              "type": "boolean",
              "description": "Server AutoScale. Not used anymore. Field deprecated in 18.1.2."
            },
            "server_count": {
              "type": "integer",
              "description": "Field deprecated in 18.2.1."
            },
            "server_name": {
              "type": "string",
              "description": "Fully qualified DNS hostname which will be used in the TLS SNI extension in server connections if SNI is enabled. If no value is specified, Avi will use the incoming host header instead."
            },
            "server_reselect": {
              "title": "HTTPServerReselect",
              "required": [
                "enabled"
              ],
              "type": "object",
              "properties": {
                "enabled": {
                  "type": "boolean",
                  "description": "Enable HTTP request reselect when server responds with specific response codes."
                },
                "num_retries": {
                  "type": "integer",
                  "description": "Number of times to retry an HTTP request when server responds with configured status codes.",
                    "default": 4
                },
                "retry_nonidempotent": {
                  "type": "boolean",
                  "description": "Allow retry of non-idempotent HTTP requests."
                },
                "retry_timeout": {
                  "type": "integer",
                  "description": "Timeout per retry attempt, for a given request. Value of 0 indicates default timeout. Allowed values are 0-3600000. Field introduced in 18.1.5,18.2.1."
                },
                "svr_resp_code": {
                  "title": "HTTPReselectRespCode",
                  "type": "object",
                  "properties": {
                    "codes": {
                      "type": "array",
                      "items": {
                        "type": "integer"
                      },
                      "description": "HTTP response code to be matched. Allowed values are 400-599."
                    },
                    "ranges": {
                      "type": "array",
                      "items": {
                        "title": "HTTPStatusRange",
                        "required": [
                          "begin",
                          "end"
                        ],
                        "type": "object",
                        "properties": {
                          "begin": {
                            "type": "integer",
                            "description": "Starting HTTP response status code."
                          },
                          "end": {
                            "type": "integer",
                            "description": "Ending HTTP response status code."
                          }
                        }
                      },
                      "description": "HTTP response code ranges to match."
                    },
                    "resp_code_block": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "Block of HTTP response codes to match for server reselect. Enum options - HTTP_RSP_4XX, HTTP_RSP_5XX."
                    }
                  }
                }
              }
            },
            "server_timeout": {
              "type": "integer",
              "description": "Server timeout value specifies the time within which a server connection needs to be established and a request-response exchange completes between AVI and the server. Value of 0 results in using default timeout of 60 minutes. Allowed values are 0-3600000. Field introduced in 18.1.5,18.2.1."
            },
            "servers": {
              "type": "array",
              "items": {
                "title": "Server",
                "required": [
                  "ip"
                ],
                "type": "object",
                "properties": {
                  "autoscaling_group_name": {
                    "type": "string",
                    "description": "Name of autoscaling group this server belongs to. Field introduced in 17.1.2."
                  },
                  "availability_zone": {
                    "type": "string",
                    "description": "Availability-zone of the server VM."
                  },
                  "description": {
                    "type": "string",
                    "description": "A description of the Server."
                  },
                  "discovered_network_ref": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "(internal-use) Discovered network for this server. This field is deprecated. It is a reference to an object of type Network. Field deprecated in 17.1.1."
                  },
                  "discovered_networks": {
                    "type": "array",
                    "items": {
                      "title": "DiscoveredNetwork",
                      "required": [
                        "network_ref"
                      ],
                      "type": "object",
                      "properties": {
                        "network_ref": {
                          "type": "string",
                          "description": "Discovered network for this IP. It is a reference to an object of type Network."
                        },
                        "subnet": {
                          "type": "array",
                          "items": {
                            "title": "IpAddrPrefix",
                            "required": [
                              "ip_addr",
                              "mask"
                            ],
                            "type": "object",
                            "properties": {
                              "ip_addr": {
                                "title": "IpAddr",
                                "required": [
                                  "addr",
                                  "type"
                                ],
                                "type": "object",
                                "properties": {
                                  "addr": {
                                    "type": "string",
                                    "description": "IP address."
                                  },
                                  "type": {
                                    "type": "string",
                                    "description": "Enum options - V4, DNS, V6."
                                  }
                                }
                              },
                              "mask": {
                                "type": "integer",
                                "description": "Number of mask."
                              }
                            }
                          },
                          "description": "Discovered subnet for this IP."
                        },
                        "subnet6": {
                          "type": "array",
                          "items": {
                            "title": "IpAddrPrefix",
                            "required": [
                              "ip_addr",
                              "mask"
                            ],
                            "type": "object",
                            "properties": {
                              "ip_addr": {
                                "title": "IpAddr",
                                "required": [
                                  "addr",
                                  "type"
                                ],
                                "type": "object",
                                "properties": {
                                  "addr": {
                                    "type": "string",
                                    "description": "IP address."
                                  },
                                  "type": {
                                    "type": "string",
                                    "description": "Enum options - V4, DNS, V6."
                                  }
                                }
                              },
                              "mask": {
                                "type": "integer",
                                "description": "Number of mask."
                              }
                            }
                          },
                          "description": "Discovered IPv6 subnet for this IP. Field introduced in 18.1.1."
                        }
                      }
                    },
                    "description": "(internal-use) Discovered networks providing reachability for server IP. This field is used internally by Avi, not editable by the user."
                  },
                  "discovered_subnet": {
                    "type": "array",
                    "items": {
                      "title": "IpAddrPrefix",
                      "required": [
                        "ip_addr",
                        "mask"
                      ],
                      "type": "object",
                      "properties": {
                        "ip_addr": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "mask": {
                          "type": "integer",
                          "description": "Number of mask."
                        }
                      }
                    },
                    "description": "(internal-use) Discovered subnet for this server. This field is deprecated. Field deprecated in 17.1.1."
                  },
                  "enabled": {
                    "type": "boolean",
                    "description": "Enable, Disable or Graceful Disable determine if new or existing connections to the server are allowed.",
                    "default": true
                  },
                  "external_orchestration_id": {
                    "type": "string",
                    "description": "UID of server in external orchestration systems."
                  },
                  "external_uuid": {
                    "type": "string",
                    "description": "UUID identifying VM in OpenStack and other external compute."
                  },
                  "hostname": {
                    "type": "string",
                    "description": "DNS resolvable name of the server.  May be used in place of the IP address."
                  },
                  "ip": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "location": {
                    "title": "GeoLocation",
                    "type": "object",
                    "properties": {
                      "latitude": {
                        "type": "number",
                        "description": "Latitude of the location. This is represented as degrees.minutes. The range is from -90.0 (south) to +90.0 (north). Allowed values are -90.0-+90.0. Field introduced in 17.1.1."
                      },
                      "longitude": {
                        "type": "number",
                        "description": "Longitude of the location. This is represented as degrees.minutes. The range is from -180.0 (west) to +180.0 (east). Allowed values are -180.0-+180.0. Field introduced in 17.1.1."
                      },
                      "name": {
                        "type": "string",
                        "description": "Location name in the format Country/State/City. Field introduced in 17.1.1."
                      },
                      "tag": {
                        "type": "string",
                        "description": "Location tag string - example  USEast. Field introduced in 17.1.1."
                      }
                    }
                  },
                  "mac_address": {
                    "type": "string",
                    "description": "MAC address of server."
                  },
                  "nw_ref": {
                    "type": "string",
                    "description": "(internal-use) This field is used internally by Avi, not editable by the user. It is a reference to an object of type VIMgrNWRuntime."
                  },
                  "port": {
                    "type": "integer",
                    "description": "Optionally specify the servers port number.  This will override the pool's default server port attribute. Allowed values are 1-65535. Special values are 0- 'use backend port in pool'."
                  },
                  "prst_hdr_val": {
                    "type": "string",
                    "description": "Header value for custom header persistence. ."
                  },
                  "ratio": {
                    "type": "integer",
                    "description": "Ratio of selecting eligible servers in the pool. Allowed values are 1-20.",
                        "default": 1
                  },
                  "resolve_server_by_dns": {
                    "type": "boolean",
                    "description": "Auto resolve server's IP using DNS name."
                  },
                  "rewrite_host_header": {
                    "type": "boolean",
                    "description": "Rewrite incoming Host Header to server name."
                  },
                  "server_node": {
                    "type": "string",
                    "description": "Hostname of the node where the server VM or container resides."
                  },
                  "static": {
                    "type": "boolean",
                    "description": "If statically learned."
                  },
                  "verify_network": {
                    "type": "boolean",
                    "description": "Verify server belongs to a discovered network or reachable via a discovered network. Verify reachable network isn't the OpenStack management network."
                  },
                  "vm_ref": {
                    "type": "string",
                    "description": "(internal-use) This field is used internally by Avi, not editable by the user. It is a reference to an object of type VIMgrVMRuntime."
                  }
                }
              },
              "description": "The pool directs load balanced traffic to this list of destination servers. The servers can be configured by IP address, name, network or via IP Address Group."
            },
            "service_metadata": {
              "type": "string",
              "description": "Metadata pertaining to the service provided by this Pool. In Openshift/Kubernetes environments, app metadata info is stored. Any user input to this field will be overwritten by Avi Vantage. Field introduced in 17.2.14,18.1.5,18.2.1."
            },
            "sni_enabled": {
              "type": "boolean",
              "description": "Enable TLS SNI for server connections. If disabled, Avi will not send the SNI extension as part of the handshake.",
              "default": true
            },
            "ssl_key_and_certificate_ref": {
              "type": "string",
              "description": "Service Engines will present a client SSL certificate to the server. It is a reference to an object of type SSLKeyAndCertificate."
            },
            "ssl_profile_ref": {
              "type": "string",
              "description": "When enabled, Avi re-encrypts traffic to the backend servers. The specific SSL profile defines which ciphers and SSL versions will be supported. It is a reference to an object of type SSLProfile."
            },
            "tenant_ref": {
              "type": "string",
              "description": "It is a reference to an object of type Tenant."
            },
            "tier1_lr": {
              "type": "string",
              "description": "This tier1_lr field should be set same as VirtualService associated for NSX-T. Field introduced in 20.1.1."
            },
            "url": {
              "type": "string",
              "description": "url"
            },
            "use_service_port": {
              "type": "boolean",
              "description": "Do not translate the client's destination port when sending the connection to the server.  The pool or servers specified service port will still be used for health monitoring."
            },
            "uuid": {
              "type": "string",
              "description": "UUID of the pool."
            },
            "vrf_ref": {
              "type": "string",
              "description": "Virtual Routing Context that the pool is bound to. This is used to provide the isolation of the set of networks the pool is attached to. The pool inherits the Virtual Routing Conext of the Virtual Service, and this field is used only internally, and is set by pb-transform. It is a reference to an object of type VrfContext."
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/poolByUuidPATCH"
      },
      "task": true
    },
    {
      "name": "poolByUuidDELETE",
      "summary": "PoolByUuid_DELETE",
      "description": "PoolByUuid_DELETE",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "object name: string",
          "required": false,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/poolByUuidDELETE"
      },
      "task": true
    },
    {
      "name": "poolScaleoutByUuidPOST",
      "summary": "PoolScaleoutByUuid_POST",
      "description": "PoolScaleoutByUuid_POST",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "ServerScaleOutParams: {\"reason\": \"string\", \"uuid\": \"string\"}",
          "required": true,
          "schema": {
            "title": "ServerScaleOutParams",
            "type": "object",
            "properties": {
              "reason": {
                "type": "string",
                "description": "Reason for the manual scaleout."
              },
              "uuid": {
                "type": "string",
                "description": "Unique object identifier of the object."
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/poolScaleoutByUuidPOST"
      },
      "task": true
    },
    {
      "name": "poolScaleinByUuidPOST",
      "summary": "PoolScaleinByUuid_POST",
      "description": "PoolScaleinByUuid_POST",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "ServerScaleInParams: {\"reason\": \"string\", \"servers\": [{\"external_uuid\": \"string\", \"ip\": {\"addr\": \"string\", \"type\": \"string\"}, \"port\": 123}], \"uuid\": \"string\"}",
          "required": true,
          "schema": {
            "title": "ServerScaleInParams",
            "type": "object",
            "properties": {
              "reason": {
                "type": "string",
                "description": "Reason for the manual scalein."
              },
              "servers": {
                "type": "array",
                "items": {
                  "title": "ServerId",
                  "required": [
                    "ip",
                    "port"
                  ],
                  "type": "object",
                  "properties": {
                    "external_uuid": {
                      "type": "string",
                      "description": "This is the external cloud uuid of the Pool server."
                    },
                    "ip": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "port": {
                      "type": "integer",
                      "description": "Number of port."
                    }
                  }
                },
                "description": "List of server IDs that should be scaled in."
              },
              "uuid": {
                "type": "string",
                "description": "Unique object identifier of the object."
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/poolScaleinByUuidPOST"
      },
      "task": true
    },
    {
      "name": "poolClearByUuidPOST",
      "summary": "PoolClearByUuid_POST",
      "description": "PoolClearByUuid_POST",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "empty: object",
          "required": true,
          "schema": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/poolClearByUuidPOST"
      },
      "task": true
    },
    {
      "name": "poolRuntimeByUuidGET",
      "summary": "PoolRuntimeByUuid_GET",
      "description": "PoolRuntimeByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/poolRuntimeByUuidGET"
      },
      "task": true
    },
    {
      "name": "poolRuntimeServerByUuidGET",
      "summary": "PoolRuntimeServerByUuid_GET",
      "description": "PoolRuntimeServerByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/poolRuntimeServerByUuidGET"
      },
      "task": true
    },
    {
      "name": "poolRuntimeDetailByUuidGET",
      "summary": "PoolRuntimeDetailByUuid_GET",
      "description": "PoolRuntimeDetailByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/poolRuntimeDetailByUuidGET"
      },
      "task": true
    },
    {
      "name": "poolRuntimeServerDetailByUuidGET",
      "summary": "PoolRuntimeServerDetailByUuid_GET",
      "description": "PoolRuntimeServerDetailByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/poolRuntimeServerDetailByUuidGET"
      },
      "task": true
    },
    {
      "name": "poolRuntimeInternalByUuidGET",
      "summary": "PoolRuntimeInternalByUuid_GET",
      "description": "PoolRuntimeInternalByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/poolRuntimeInternalByUuidGET"
      },
      "task": true
    },
    {
      "name": "poolRuntimeServerInternalByUuidGET",
      "summary": "PoolRuntimeServerInternalByUuid_GET",
      "description": "PoolRuntimeServerInternalByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/poolRuntimeServerInternalByUuidGET"
      },
      "task": true
    },
    {
      "name": "poolRuntimeStatsClearByUuidPOST",
      "summary": "PoolRuntimeStatsClearByUuid_POST",
      "description": "PoolRuntimeStatsClearByUuid_POST",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "empty: object",
          "required": true,
          "schema": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/poolRuntimeStatsClearByUuidPOST"
      },
      "task": true
    },
    {
      "name": "poolRuntimeRequestQueueClearByUuidPOST",
      "summary": "PoolRuntimeRequestQueueClearByUuid_POST",
      "description": "PoolRuntimeRequestQueueClearByUuid_POST",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "empty: object",
          "required": true,
          "schema": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/poolRuntimeRequestQueueClearByUuidPOST"
      },
      "task": true
    },
    {
      "name": "poolRuntimeDebugByUuidGET",
      "summary": "PoolRuntimeDebugByUuid_GET",
      "description": "PoolRuntimeDebugByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/poolRuntimeDebugByUuidGET"
      },
      "task": true
    },
    {
      "name": "poolHmonByUuidGET",
      "summary": "PoolHmonByUuid_GET",
      "description": "PoolHmonByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/poolHmonByUuidGET"
      },
      "task": true
    },
    {
      "name": "poolRuntimeServerHmonstatByUuidGET",
      "summary": "PoolRuntimeServerHmonstatByUuid_GET",
      "description": "PoolRuntimeServerHmonstatByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/poolRuntimeServerHmonstatByUuidGET"
      },
      "task": true
    },
    {
      "name": "poolAlgoByUuidGET",
      "summary": "PoolAlgoByUuid_GET",
      "description": "PoolAlgoByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/poolAlgoByUuidGET"
      },
      "task": true
    },
    {
      "name": "poolPersistenceByUuidGET",
      "summary": "PoolPersistenceByUuid_GET",
      "description": "PoolPersistenceByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/poolPersistenceByUuidGET"
      },
      "task": true
    },
    {
      "name": "poolConnpoolByUuidGET",
      "summary": "PoolConnpoolByUuid_GET",
      "description": "PoolConnpoolByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/poolConnpoolByUuidGET"
      },
      "task": true
    },
    {
      "name": "poolConnpoolstatsClearByUuidPOST",
      "summary": "PoolConnpoolstatsClearByUuid_POST",
      "description": "PoolConnpoolstatsClearByUuid_POST",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "empty: object",
          "required": true,
          "schema": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/poolConnpoolstatsClearByUuidPOST"
      },
      "task": true
    },
    {
      "name": "poolHttpcacheByUuidGET",
      "summary": "PoolHttpcacheByUuid_GET",
      "description": "PoolHttpcacheByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/poolHttpcacheByUuidGET"
      },
      "task": true
    },
    {
      "name": "poolHttpcachestatsByUuidGET",
      "summary": "PoolHttpcachestatsByUuid_GET",
      "description": "PoolHttpcachestatsByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/poolHttpcachestatsByUuidGET"
      },
      "task": true
    },
    {
      "name": "poolHttpcachestatsDetailByUuidGET",
      "summary": "PoolHttpcachestatsDetailByUuid_GET",
      "description": "PoolHttpcachestatsDetailByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/poolHttpcachestatsDetailByUuidGET"
      },
      "task": true
    },
    {
      "name": "poolVsByUuidGET",
      "summary": "PoolVsByUuid_GET",
      "description": "PoolVsByUuid_GET",
      "input": [
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/poolVsByUuidGET"
      },
      "task": true
    },
    {
      "name": "poolgroupGET",
      "summary": "Poolgroup_GET",
      "description": "Poolgroup_GET",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "object name: string",
          "required": false,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "refersTo",
          "type": "string",
          "info": "Filter to request all objects that refers to another Avi resource. Its syntax is refers_to= : . Eg. get all virtual services referring to pool p1 will be refers_to=pool:p...(description truncated): string",
          "required": false,
          "schema": {
            "title": "refersTo",
            "type": "string"
          }
        },
        {
          "name": "referredBy",
          "type": "string",
          "info": "Filter to request all objects that are referred by another Avi resource. Its syntax is referred_by= : . Eg. get all pools referred_by virtual service vs1 - referred_by=vi...(description truncated): string",
          "required": false,
          "schema": {
            "title": "referredBy",
            "type": "string"
          }
        },
        {
          "name": "fields",
          "type": "string",
          "info": "List of fields to be returned for the resource. Some fields like name, URL, uuid etc. are always returned.: string",
          "required": false,
          "schema": {
            "title": "fields",
            "type": "string"
          }
        },
        {
          "name": "includeName",
          "type": "boolean",
          "info": "All the Avi REST reference URIs have a name suffix as URI#name. It is useful to get the referenced resource name without performing get on that object.: boolean",
          "required": false,
          "schema": {
            "title": "includeName",
            "type": "boolean"
          }
        },
        {
          "name": "skipDefault",
          "type": "boolean",
          "info": "Default values are not set.: boolean",
          "required": false,
          "schema": {
            "title": "skipDefault",
            "type": "boolean"
          }
        },
        {
          "name": "joinSubresources",
          "type": "string",
          "info": "It automatically returns additional dependent resources like runtime. Eg. join_subresources=runtime.: string",
          "required": false,
          "schema": {
            "title": "joinSubresources",
            "type": "string"
          }
        },
        {
          "name": "cloudUuid",
          "type": "string",
          "info": "Filter to get objects that belongs to a specific cloud using its uuid. Eg. cloud_uuid=cloud-xyz.: string",
          "required": false,
          "schema": {
            "title": "cloudUuid",
            "type": "string"
          }
        },
        {
          "name": "cloudRefName",
          "type": "string",
          "info": "Filter to get objects that belongs to a specific cloud usings its name. This uses cloud name rather than uuid. Eg. cloud_ref.name=Default-Cloud.: string",
          "required": false,
          "schema": {
            "title": "cloudRefName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "PoolGroupApiResponse",
          "required": [
            "count",
            "results"
          ],
          "type": "object",
          "properties": {
            "count": {
              "type": "integer"
            },
            "results": {
              "type": "array",
              "items": {
                "title": "PoolGroup",
                "required": [
                  "name"
                ],
                "type": "object",
                "properties": {
                  "_last_modified": {
                    "type": "string",
                    "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
                  },
                  "cloud_config_cksum": {
                    "type": "string",
                    "description": "Checksum of cloud configuration for PoolGroup. Internally set by cloud connector."
                  },
                  "cloud_ref": {
                    "type": "string",
                    "description": "It is a reference to an object of type Cloud."
                  },
                  "created_by": {
                    "type": "string",
                    "description": "Name of the user who created the object."
                  },
                  "deployment_policy_ref": {
                    "type": "string",
                    "description": "When setup autoscale manager will automatically promote new pools into production when deployment goals are met. It is a reference to an object of type PoolGroupDeploymentPolicy."
                  },
                  "description": {
                    "type": "string",
                    "description": "Description of Pool Group."
                  },
                  "enable_http2": {
                    "type": "boolean",
                    "description": "Enable HTTP/2 for traffic from VirtualService to all the backend servers in all the pools configured under this PoolGroup. Field introduced in 20.1.1."
                  },
                  "fail_action": {
                    "title": "FailAction",
                    "required": [
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "backup_pool": {
                        "title": "FailActionBackupPool",
                        "required": [
                          "backup_pool_ref"
                        ],
                        "type": "object",
                        "properties": {
                          "backup_pool_ref": {
                            "type": "string",
                            "description": "Specifies the UUID of the Pool acting as backup pool. It is a reference to an object of type Pool."
                          }
                        }
                      },
                      "local_rsp": {
                        "title": "FailActionHTTPLocalResponse",
                        "type": "object",
                        "properties": {
                          "file": {
                            "title": "HTTPLocalFile",
                            "required": [
                              "content_type",
                              "file_content"
                            ],
                            "type": "object",
                            "properties": {
                              "content_type": {
                                "type": "string",
                                "description": "Mime-type of the content in the file."
                              },
                              "file_content": {
                                "type": "string",
                                "description": "File content to used in the local HTTP response body."
                              }
                            }
                          },
                          "status_code": {
                            "type": "string",
                            "description": "Enum options - FAIL_HTTP_STATUS_CODE_200, FAIL_HTTP_STATUS_CODE_503.",
                            "default": "FAIL_HTTP_STATUS_CODE_503"
                          }
                        }
                      },
                      "redirect": {
                        "title": "FailActionHTTPRedirect",
                        "required": [
                          "host"
                        ],
                        "type": "object",
                        "properties": {
                          "host": {
                            "type": "string",
                            "description": "host of FailActionHTTPRedirect."
                          },
                          "path": {
                            "type": "string",
                            "description": "path of FailActionHTTPRedirect."
                          },
                          "protocol": {
                            "type": "string",
                            "description": "Enum options - HTTP, HTTPS.",
                            "default": "HTTPS"
                          },
                          "query": {
                            "type": "string",
                            "description": "query of FailActionHTTPRedirect."
                          },
                          "status_code": {
                            "type": "string",
                            "description": "Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307.",
                            "default": "HTTP_REDIRECT_STATUS_CODE_302"
                          }
                        }
                      },
                      "type": {
                        "type": "string",
                        "description": "Enables a response to client when pool experiences a failure. By default TCP connection is closed. Enum options - FAIL_ACTION_HTTP_REDIRECT, FAIL_ACTION_HTTP_LOCAL_RSP, FAIL_ACTION_CLOSE_CONN, FAIL_ACTION_BACKUP_POOL.",
                        "example": "FAIL_ACTION_CLOSE_CONN"
                      }
                    }
                  },
                  "implicit_priority_labels": {
                    "type": "boolean",
                    "description": "Whether an implicit set of priority labels is generated. Field introduced in 17.1.9,17.2.3."
                  },
                  "members": {
                    "type": "array",
                    "items": {
                      "title": "PoolGroupMember",
                      "required": [
                        "pool_ref"
                      ],
                      "type": "object",
                      "properties": {
                        "deployment_state": {
                          "type": "string",
                          "description": "Pool deployment state used with the PG deployment policy. Enum options - EVALUATION_IN_PROGRESS, IN_SERVICE, OUT_OF_SERVICE, EVALUATION_FAILED."
                        },
                        "pool_ref": {
                          "type": "string",
                          "description": "UUID of the pool. It is a reference to an object of type Pool."
                        },
                        "priority_label": {
                          "type": "string",
                          "description": "All pools with same label are treated similarly in a pool group. A pool with a higher priority is selected, as long as the pool is eligible or an explicit policy chooses a different pool."
                        },
                        "ratio": {
                          "type": "integer",
                          "description": "Ratio of selecting eligible pools in the pool group. . Allowed values are 1-1000. Special values are 0 - 'Do not select this pool for new connections'.",
                                    "default": 1
                        }
                      }
                    },
                    "description": "List of pool group members object of type PoolGroupMember."
                  },
                  "min_servers": {
                    "type": "integer",
                    "description": "The minimum number of servers to distribute traffic to. Allowed values are 1-65535. Special values are 0 - 'Disable'."
                  },
                  "name": {
                    "type": "string",
                    "description": "The name of the pool group."
                  },
                  "priority_labels_ref": {
                    "type": "string",
                    "description": "UUID of the priority labels. If not provided, pool group member priority label will be interpreted as a number with a larger number considered higher priority. It is a reference to an object of type PriorityLabels."
                  },
                  "service_metadata": {
                    "type": "string",
                    "description": "Metadata pertaining to the service provided by this PoolGroup. In Openshift/Kubernetes environments, app metadata info is stored. Any user input to this field will be overwritten by Avi Vantage. Field introduced in 17.2.14,18.1.5,18.2.1."
                  },
                  "tenant_ref": {
                    "type": "string",
                    "description": "It is a reference to an object of type Tenant."
                  },
                  "url": {
                    "type": "string",
                    "description": "url"
                  },
                  "uuid": {
                    "type": "string",
                    "description": "UUID of the pool group."
                  }
                }
              },
              "description": ""
            },
            "next": {
              "type": "string"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/poolgroupGET"
      },
      "task": true
    },
    {
      "name": "poolgroupPOST",
      "summary": "Poolgroup_POST",
      "description": "Poolgroup_POST",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "PoolGroup object creation: {\"_last_modified\": \"string\", \"cloud_config_cksum\": \"string\", \"cloud_ref\": \"string\", \"created_by\": \"string\", \"deployment_policy_ref\": \"string\", \"description\": \"string\", \"enable_http2\": \"boolean\", \"fail_action\": {\"backup_pool\": {\"backup_pool_ref\": \"string\"}, \"local_rsp\": {\"file\": {\"content_type\": \"string\", \"file_content\": \"string\"}, \"status_code\": \"string\"}, \"redirect\": {\"host\": \"string\", \"path\": \"string\", \"protocol\": \"string\", \"query\": \"string\", \"status_code\": \"string\"}, \"type\": \"string\"}, \"implicit_priority_labels\": \"boolean\", \"members\": [{\"deployment_state\": \"string\", \"pool_ref\": \"string\", \"priority_label\": \"string\", \"ratio\": 123}], \"min_servers\": 123, \"name\": \"string\", \"priority_labels_ref\": \"string\", \"service_metadata\": \"string\", \"tenant_ref\": \"string\", \"url\": \"string\", \"uuid\": \"string\"}",
          "required": true,
          "schema": {
            "title": "PoolGroup",
            "required": [
              "name"
            ],
            "type": "object",
            "properties": {
              "_last_modified": {
                "type": "string",
                "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
              },
              "cloud_config_cksum": {
                "type": "string",
                "description": "Checksum of cloud configuration for PoolGroup. Internally set by cloud connector."
              },
              "cloud_ref": {
                "type": "string",
                "description": "It is a reference to an object of type Cloud."
              },
              "created_by": {
                "type": "string",
                "description": "Name of the user who created the object."
              },
              "deployment_policy_ref": {
                "type": "string",
                "description": "When setup autoscale manager will automatically promote new pools into production when deployment goals are met. It is a reference to an object of type PoolGroupDeploymentPolicy."
              },
              "description": {
                "type": "string",
                "description": "Description of Pool Group."
              },
              "enable_http2": {
                "type": "boolean",
                "description": "Enable HTTP/2 for traffic from VirtualService to all the backend servers in all the pools configured under this PoolGroup. Field introduced in 20.1.1."
              },
              "fail_action": {
                "title": "FailAction",
                "required": [
                  "type"
                ],
                "type": "object",
                "properties": {
                  "backup_pool": {
                    "title": "FailActionBackupPool",
                    "required": [
                      "backup_pool_ref"
                    ],
                    "type": "object",
                    "properties": {
                      "backup_pool_ref": {
                        "type": "string",
                        "description": "Specifies the UUID of the Pool acting as backup pool. It is a reference to an object of type Pool."
                      }
                    }
                  },
                  "local_rsp": {
                    "title": "FailActionHTTPLocalResponse",
                    "type": "object",
                    "properties": {
                      "file": {
                        "title": "HTTPLocalFile",
                        "required": [
                          "content_type",
                          "file_content"
                        ],
                        "type": "object",
                        "properties": {
                          "content_type": {
                            "type": "string",
                            "description": "Mime-type of the content in the file."
                          },
                          "file_content": {
                            "type": "string",
                            "description": "File content to used in the local HTTP response body."
                          }
                        }
                      },
                      "status_code": {
                        "type": "string",
                        "description": "Enum options - FAIL_HTTP_STATUS_CODE_200, FAIL_HTTP_STATUS_CODE_503.",
                        "default": "FAIL_HTTP_STATUS_CODE_503"
                      }
                    }
                  },
                  "redirect": {
                    "title": "FailActionHTTPRedirect",
                    "required": [
                      "host"
                    ],
                    "type": "object",
                    "properties": {
                      "host": {
                        "type": "string",
                        "description": "host of FailActionHTTPRedirect."
                      },
                      "path": {
                        "type": "string",
                        "description": "path of FailActionHTTPRedirect."
                      },
                      "protocol": {
                        "type": "string",
                        "description": "Enum options - HTTP, HTTPS.",
                        "default": "HTTPS"
                      },
                      "query": {
                        "type": "string",
                        "description": "query of FailActionHTTPRedirect."
                      },
                      "status_code": {
                        "type": "string",
                        "description": "Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307.",
                        "default": "HTTP_REDIRECT_STATUS_CODE_302"
                      }
                    }
                  },
                  "type": {
                    "type": "string",
                    "description": "Enables a response to client when pool experiences a failure. By default TCP connection is closed. Enum options - FAIL_ACTION_HTTP_REDIRECT, FAIL_ACTION_HTTP_LOCAL_RSP, FAIL_ACTION_CLOSE_CONN, FAIL_ACTION_BACKUP_POOL.",
                    "example": "FAIL_ACTION_CLOSE_CONN"
                  }
                }
              },
              "implicit_priority_labels": {
                "type": "boolean",
                "description": "Whether an implicit set of priority labels is generated. Field introduced in 17.1.9,17.2.3."
              },
              "members": {
                "type": "array",
                "items": {
                  "title": "PoolGroupMember",
                  "required": [
                    "pool_ref"
                  ],
                  "type": "object",
                  "properties": {
                    "deployment_state": {
                      "type": "string",
                      "description": "Pool deployment state used with the PG deployment policy. Enum options - EVALUATION_IN_PROGRESS, IN_SERVICE, OUT_OF_SERVICE, EVALUATION_FAILED."
                    },
                    "pool_ref": {
                      "type": "string",
                      "description": "UUID of the pool. It is a reference to an object of type Pool."
                    },
                    "priority_label": {
                      "type": "string",
                      "description": "All pools with same label are treated similarly in a pool group. A pool with a higher priority is selected, as long as the pool is eligible or an explicit policy chooses a different pool."
                    },
                    "ratio": {
                      "type": "integer",
                      "description": "Ratio of selecting eligible pools in the pool group. . Allowed values are 1-1000. Special values are 0 - 'Do not select this pool for new connections'.",
                            "default": 1
                    }
                  }
                },
                "description": "List of pool group members object of type PoolGroupMember."
              },
              "min_servers": {
                "type": "integer",
                "description": "The minimum number of servers to distribute traffic to. Allowed values are 1-65535. Special values are 0 - 'Disable'."
              },
              "name": {
                "type": "string",
                "description": "The name of the pool group."
              },
              "priority_labels_ref": {
                "type": "string",
                "description": "UUID of the priority labels. If not provided, pool group member priority label will be interpreted as a number with a larger number considered higher priority. It is a reference to an object of type PriorityLabels."
              },
              "service_metadata": {
                "type": "string",
                "description": "Metadata pertaining to the service provided by this PoolGroup. In Openshift/Kubernetes environments, app metadata info is stored. Any user input to this field will be overwritten by Avi Vantage. Field introduced in 17.2.14,18.1.5,18.2.1."
              },
              "tenant_ref": {
                "type": "string",
                "description": "It is a reference to an object of type Tenant."
              },
              "url": {
                "type": "string",
                "description": "url"
              },
              "uuid": {
                "type": "string",
                "description": "UUID of the pool group."
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "PoolGroup",
          "required": [
            "name"
          ],
          "type": "object",
          "properties": {
            "_last_modified": {
              "type": "string",
              "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
            },
            "cloud_config_cksum": {
              "type": "string",
              "description": "Checksum of cloud configuration for PoolGroup. Internally set by cloud connector."
            },
            "cloud_ref": {
              "type": "string",
              "description": "It is a reference to an object of type Cloud."
            },
            "created_by": {
              "type": "string",
              "description": "Name of the user who created the object."
            },
            "deployment_policy_ref": {
              "type": "string",
              "description": "When setup autoscale manager will automatically promote new pools into production when deployment goals are met. It is a reference to an object of type PoolGroupDeploymentPolicy."
            },
            "description": {
              "type": "string",
              "description": "Description of Pool Group."
            },
            "enable_http2": {
              "type": "boolean",
              "description": "Enable HTTP/2 for traffic from VirtualService to all the backend servers in all the pools configured under this PoolGroup. Field introduced in 20.1.1."
            },
            "fail_action": {
              "title": "FailAction",
              "required": [
                "type"
              ],
              "type": "object",
              "properties": {
                "backup_pool": {
                  "title": "FailActionBackupPool",
                  "required": [
                    "backup_pool_ref"
                  ],
                  "type": "object",
                  "properties": {
                    "backup_pool_ref": {
                      "type": "string",
                      "description": "Specifies the UUID of the Pool acting as backup pool. It is a reference to an object of type Pool."
                    }
                  }
                },
                "local_rsp": {
                  "title": "FailActionHTTPLocalResponse",
                  "type": "object",
                  "properties": {
                    "file": {
                      "title": "HTTPLocalFile",
                      "required": [
                        "content_type",
                        "file_content"
                      ],
                      "type": "object",
                      "properties": {
                        "content_type": {
                          "type": "string",
                          "description": "Mime-type of the content in the file."
                        },
                        "file_content": {
                          "type": "string",
                          "description": "File content to used in the local HTTP response body."
                        }
                      }
                    },
                    "status_code": {
                      "type": "string",
                      "description": "Enum options - FAIL_HTTP_STATUS_CODE_200, FAIL_HTTP_STATUS_CODE_503.",
                      "default": "FAIL_HTTP_STATUS_CODE_503"
                    }
                  }
                },
                "redirect": {
                  "title": "FailActionHTTPRedirect",
                  "required": [
                    "host"
                  ],
                  "type": "object",
                  "properties": {
                    "host": {
                      "type": "string",
                      "description": "host of FailActionHTTPRedirect."
                    },
                    "path": {
                      "type": "string",
                      "description": "path of FailActionHTTPRedirect."
                    },
                    "protocol": {
                      "type": "string",
                      "description": "Enum options - HTTP, HTTPS.",
                      "default": "HTTPS"
                    },
                    "query": {
                      "type": "string",
                      "description": "query of FailActionHTTPRedirect."
                    },
                    "status_code": {
                      "type": "string",
                      "description": "Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307.",
                      "default": "HTTP_REDIRECT_STATUS_CODE_302"
                    }
                  }
                },
                "type": {
                  "type": "string",
                  "description": "Enables a response to client when pool experiences a failure. By default TCP connection is closed. Enum options - FAIL_ACTION_HTTP_REDIRECT, FAIL_ACTION_HTTP_LOCAL_RSP, FAIL_ACTION_CLOSE_CONN, FAIL_ACTION_BACKUP_POOL.",
                  "example": "FAIL_ACTION_CLOSE_CONN"
                }
              }
            },
            "implicit_priority_labels": {
              "type": "boolean",
              "description": "Whether an implicit set of priority labels is generated. Field introduced in 17.1.9,17.2.3."
            },
            "members": {
              "type": "array",
              "items": {
                "title": "PoolGroupMember",
                "required": [
                  "pool_ref"
                ],
                "type": "object",
                "properties": {
                  "deployment_state": {
                    "type": "string",
                    "description": "Pool deployment state used with the PG deployment policy. Enum options - EVALUATION_IN_PROGRESS, IN_SERVICE, OUT_OF_SERVICE, EVALUATION_FAILED."
                  },
                  "pool_ref": {
                    "type": "string",
                    "description": "UUID of the pool. It is a reference to an object of type Pool."
                  },
                  "priority_label": {
                    "type": "string",
                    "description": "All pools with same label are treated similarly in a pool group. A pool with a higher priority is selected, as long as the pool is eligible or an explicit policy chooses a different pool."
                  },
                  "ratio": {
                    "type": "integer",
                    "description": "Ratio of selecting eligible pools in the pool group. . Allowed values are 1-1000. Special values are 0 - 'Do not select this pool for new connections'.",
                        "default": 1
                  }
                }
              },
              "description": "List of pool group members object of type PoolGroupMember."
            },
            "min_servers": {
              "type": "integer",
              "description": "The minimum number of servers to distribute traffic to. Allowed values are 1-65535. Special values are 0 - 'Disable'."
            },
            "name": {
              "type": "string",
              "description": "The name of the pool group."
            },
            "priority_labels_ref": {
              "type": "string",
              "description": "UUID of the priority labels. If not provided, pool group member priority label will be interpreted as a number with a larger number considered higher priority. It is a reference to an object of type PriorityLabels."
            },
            "service_metadata": {
              "type": "string",
              "description": "Metadata pertaining to the service provided by this PoolGroup. In Openshift/Kubernetes environments, app metadata info is stored. Any user input to this field will be overwritten by Avi Vantage. Field introduced in 17.2.14,18.1.5,18.2.1."
            },
            "tenant_ref": {
              "type": "string",
              "description": "It is a reference to an object of type Tenant."
            },
            "url": {
              "type": "string",
              "description": "url"
            },
            "uuid": {
              "type": "string",
              "description": "UUID of the pool group."
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/poolgroupPOST"
      },
      "task": true
    },
    {
      "name": "poolgroupByUuidGET",
      "summary": "PoolgroupByUuid_GET",
      "description": "PoolgroupByUuid_GET",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "object name: string",
          "required": false,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "fields",
          "type": "string",
          "info": "List of fields to be returned for the resource. Some fields like name, URL, uuid etc. are always returned.: string",
          "required": false,
          "schema": {
            "title": "fields",
            "type": "string"
          }
        },
        {
          "name": "includeName",
          "type": "boolean",
          "info": "All the Avi REST reference URIs have a name suffix as URI#name. It is useful to get the referenced resource name without performing get on that object.: boolean",
          "required": false,
          "schema": {
            "title": "includeName",
            "type": "boolean"
          }
        },
        {
          "name": "skipDefault",
          "type": "boolean",
          "info": "Default values are not set.: boolean",
          "required": false,
          "schema": {
            "title": "skipDefault",
            "type": "boolean"
          }
        },
        {
          "name": "joinSubresources",
          "type": "string",
          "info": "It automatically returns additional dependent resources like runtime. Eg. join_subresources=runtime.: string",
          "required": false,
          "schema": {
            "title": "joinSubresources",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "PoolGroup",
          "required": [
            "name"
          ],
          "type": "object",
          "properties": {
            "_last_modified": {
              "type": "string",
              "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
            },
            "cloud_config_cksum": {
              "type": "string",
              "description": "Checksum of cloud configuration for PoolGroup. Internally set by cloud connector."
            },
            "cloud_ref": {
              "type": "string",
              "description": "It is a reference to an object of type Cloud."
            },
            "created_by": {
              "type": "string",
              "description": "Name of the user who created the object."
            },
            "deployment_policy_ref": {
              "type": "string",
              "description": "When setup autoscale manager will automatically promote new pools into production when deployment goals are met. It is a reference to an object of type PoolGroupDeploymentPolicy."
            },
            "description": {
              "type": "string",
              "description": "Description of Pool Group."
            },
            "enable_http2": {
              "type": "boolean",
              "description": "Enable HTTP/2 for traffic from VirtualService to all the backend servers in all the pools configured under this PoolGroup. Field introduced in 20.1.1."
            },
            "fail_action": {
              "title": "FailAction",
              "required": [
                "type"
              ],
              "type": "object",
              "properties": {
                "backup_pool": {
                  "title": "FailActionBackupPool",
                  "required": [
                    "backup_pool_ref"
                  ],
                  "type": "object",
                  "properties": {
                    "backup_pool_ref": {
                      "type": "string",
                      "description": "Specifies the UUID of the Pool acting as backup pool. It is a reference to an object of type Pool."
                    }
                  }
                },
                "local_rsp": {
                  "title": "FailActionHTTPLocalResponse",
                  "type": "object",
                  "properties": {
                    "file": {
                      "title": "HTTPLocalFile",
                      "required": [
                        "content_type",
                        "file_content"
                      ],
                      "type": "object",
                      "properties": {
                        "content_type": {
                          "type": "string",
                          "description": "Mime-type of the content in the file."
                        },
                        "file_content": {
                          "type": "string",
                          "description": "File content to used in the local HTTP response body."
                        }
                      }
                    },
                    "status_code": {
                      "type": "string",
                      "description": "Enum options - FAIL_HTTP_STATUS_CODE_200, FAIL_HTTP_STATUS_CODE_503.",
                      "default": "FAIL_HTTP_STATUS_CODE_503"
                    }
                  }
                },
                "redirect": {
                  "title": "FailActionHTTPRedirect",
                  "required": [
                    "host"
                  ],
                  "type": "object",
                  "properties": {
                    "host": {
                      "type": "string",
                      "description": "host of FailActionHTTPRedirect."
                    },
                    "path": {
                      "type": "string",
                      "description": "path of FailActionHTTPRedirect."
                    },
                    "protocol": {
                      "type": "string",
                      "description": "Enum options - HTTP, HTTPS.",
                      "default": "HTTPS"
                    },
                    "query": {
                      "type": "string",
                      "description": "query of FailActionHTTPRedirect."
                    },
                    "status_code": {
                      "type": "string",
                      "description": "Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307.",
                      "default": "HTTP_REDIRECT_STATUS_CODE_302"
                    }
                  }
                },
                "type": {
                  "type": "string",
                  "description": "Enables a response to client when pool experiences a failure. By default TCP connection is closed. Enum options - FAIL_ACTION_HTTP_REDIRECT, FAIL_ACTION_HTTP_LOCAL_RSP, FAIL_ACTION_CLOSE_CONN, FAIL_ACTION_BACKUP_POOL.",
                  "example": "FAIL_ACTION_CLOSE_CONN"
                }
              }
            },
            "implicit_priority_labels": {
              "type": "boolean",
              "description": "Whether an implicit set of priority labels is generated. Field introduced in 17.1.9,17.2.3."
            },
            "members": {
              "type": "array",
              "items": {
                "title": "PoolGroupMember",
                "required": [
                  "pool_ref"
                ],
                "type": "object",
                "properties": {
                  "deployment_state": {
                    "type": "string",
                    "description": "Pool deployment state used with the PG deployment policy. Enum options - EVALUATION_IN_PROGRESS, IN_SERVICE, OUT_OF_SERVICE, EVALUATION_FAILED."
                  },
                  "pool_ref": {
                    "type": "string",
                    "description": "UUID of the pool. It is a reference to an object of type Pool."
                  },
                  "priority_label": {
                    "type": "string",
                    "description": "All pools with same label are treated similarly in a pool group. A pool with a higher priority is selected, as long as the pool is eligible or an explicit policy chooses a different pool."
                  },
                  "ratio": {
                    "type": "integer",
                    "description": "Ratio of selecting eligible pools in the pool group. . Allowed values are 1-1000. Special values are 0 - 'Do not select this pool for new connections'.",
                        "default": 1
                  }
                }
              },
              "description": "List of pool group members object of type PoolGroupMember."
            },
            "min_servers": {
              "type": "integer",
              "description": "The minimum number of servers to distribute traffic to. Allowed values are 1-65535. Special values are 0 - 'Disable'."
            },
            "name": {
              "type": "string",
              "description": "The name of the pool group."
            },
            "priority_labels_ref": {
              "type": "string",
              "description": "UUID of the priority labels. If not provided, pool group member priority label will be interpreted as a number with a larger number considered higher priority. It is a reference to an object of type PriorityLabels."
            },
            "service_metadata": {
              "type": "string",
              "description": "Metadata pertaining to the service provided by this PoolGroup. In Openshift/Kubernetes environments, app metadata info is stored. Any user input to this field will be overwritten by Avi Vantage. Field introduced in 17.2.14,18.1.5,18.2.1."
            },
            "tenant_ref": {
              "type": "string",
              "description": "It is a reference to an object of type Tenant."
            },
            "url": {
              "type": "string",
              "description": "url"
            },
            "uuid": {
              "type": "string",
              "description": "UUID of the pool group."
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/poolgroupByUuidGET"
      },
      "task": true
    },
    {
      "name": "poolgroupByUuidPUT",
      "summary": "PoolgroupByUuid_PUT",
      "description": "PoolgroupByUuid_PUT",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "object name: string",
          "required": false,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "PoolGroup object creation: {\"_last_modified\": \"string\", \"cloud_config_cksum\": \"string\", \"cloud_ref\": \"string\", \"created_by\": \"string\", \"deployment_policy_ref\": \"string\", \"description\": \"string\", \"enable_http2\": \"boolean\", \"fail_action\": {\"backup_pool\": {\"backup_pool_ref\": \"string\"}, \"local_rsp\": {\"file\": {\"content_type\": \"string\", \"file_content\": \"string\"}, \"status_code\": \"string\"}, \"redirect\": {\"host\": \"string\", \"path\": \"string\", \"protocol\": \"string\", \"query\": \"string\", \"status_code\": \"string\"}, \"type\": \"string\"}, \"implicit_priority_labels\": \"boolean\", \"members\": [{\"deployment_state\": \"string\", \"pool_ref\": \"string\", \"priority_label\": \"string\", \"ratio\": 123}], \"min_servers\": 123, \"name\": \"string\", \"priority_labels_ref\": \"string\", \"service_metadata\": \"string\", \"tenant_ref\": \"string\", \"url\": \"string\", \"uuid\": \"string\"}",
          "required": true,
          "schema": {
            "title": "PoolGroup",
            "required": [
              "name"
            ],
            "type": "object",
            "properties": {
              "_last_modified": {
                "type": "string",
                "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
              },
              "cloud_config_cksum": {
                "type": "string",
                "description": "Checksum of cloud configuration for PoolGroup. Internally set by cloud connector."
              },
              "cloud_ref": {
                "type": "string",
                "description": "It is a reference to an object of type Cloud."
              },
              "created_by": {
                "type": "string",
                "description": "Name of the user who created the object."
              },
              "deployment_policy_ref": {
                "type": "string",
                "description": "When setup autoscale manager will automatically promote new pools into production when deployment goals are met. It is a reference to an object of type PoolGroupDeploymentPolicy."
              },
              "description": {
                "type": "string",
                "description": "Description of Pool Group."
              },
              "enable_http2": {
                "type": "boolean",
                "description": "Enable HTTP/2 for traffic from VirtualService to all the backend servers in all the pools configured under this PoolGroup. Field introduced in 20.1.1."
              },
              "fail_action": {
                "title": "FailAction",
                "required": [
                  "type"
                ],
                "type": "object",
                "properties": {
                  "backup_pool": {
                    "title": "FailActionBackupPool",
                    "required": [
                      "backup_pool_ref"
                    ],
                    "type": "object",
                    "properties": {
                      "backup_pool_ref": {
                        "type": "string",
                        "description": "Specifies the UUID of the Pool acting as backup pool. It is a reference to an object of type Pool."
                      }
                    }
                  },
                  "local_rsp": {
                    "title": "FailActionHTTPLocalResponse",
                    "type": "object",
                    "properties": {
                      "file": {
                        "title": "HTTPLocalFile",
                        "required": [
                          "content_type",
                          "file_content"
                        ],
                        "type": "object",
                        "properties": {
                          "content_type": {
                            "type": "string",
                            "description": "Mime-type of the content in the file."
                          },
                          "file_content": {
                            "type": "string",
                            "description": "File content to used in the local HTTP response body."
                          }
                        }
                      },
                      "status_code": {
                        "type": "string",
                        "description": "Enum options - FAIL_HTTP_STATUS_CODE_200, FAIL_HTTP_STATUS_CODE_503.",
                        "default": "FAIL_HTTP_STATUS_CODE_503"
                      }
                    }
                  },
                  "redirect": {
                    "title": "FailActionHTTPRedirect",
                    "required": [
                      "host"
                    ],
                    "type": "object",
                    "properties": {
                      "host": {
                        "type": "string",
                        "description": "host of FailActionHTTPRedirect."
                      },
                      "path": {
                        "type": "string",
                        "description": "path of FailActionHTTPRedirect."
                      },
                      "protocol": {
                        "type": "string",
                        "description": "Enum options - HTTP, HTTPS.",
                        "default": "HTTPS"
                      },
                      "query": {
                        "type": "string",
                        "description": "query of FailActionHTTPRedirect."
                      },
                      "status_code": {
                        "type": "string",
                        "description": "Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307.",
                        "default": "HTTP_REDIRECT_STATUS_CODE_302"
                      }
                    }
                  },
                  "type": {
                    "type": "string",
                    "description": "Enables a response to client when pool experiences a failure. By default TCP connection is closed. Enum options - FAIL_ACTION_HTTP_REDIRECT, FAIL_ACTION_HTTP_LOCAL_RSP, FAIL_ACTION_CLOSE_CONN, FAIL_ACTION_BACKUP_POOL.",
                    "example": "FAIL_ACTION_CLOSE_CONN"
                  }
                }
              },
              "implicit_priority_labels": {
                "type": "boolean",
                "description": "Whether an implicit set of priority labels is generated. Field introduced in 17.1.9,17.2.3."
              },
              "members": {
                "type": "array",
                "items": {
                  "title": "PoolGroupMember",
                  "required": [
                    "pool_ref"
                  ],
                  "type": "object",
                  "properties": {
                    "deployment_state": {
                      "type": "string",
                      "description": "Pool deployment state used with the PG deployment policy. Enum options - EVALUATION_IN_PROGRESS, IN_SERVICE, OUT_OF_SERVICE, EVALUATION_FAILED."
                    },
                    "pool_ref": {
                      "type": "string",
                      "description": "UUID of the pool. It is a reference to an object of type Pool."
                    },
                    "priority_label": {
                      "type": "string",
                      "description": "All pools with same label are treated similarly in a pool group. A pool with a higher priority is selected, as long as the pool is eligible or an explicit policy chooses a different pool."
                    },
                    "ratio": {
                      "type": "integer",
                      "description": "Ratio of selecting eligible pools in the pool group. . Allowed values are 1-1000. Special values are 0 - 'Do not select this pool for new connections'.",
                            "default": 1
                    }
                  }
                },
                "description": "List of pool group members object of type PoolGroupMember."
              },
              "min_servers": {
                "type": "integer",
                "description": "The minimum number of servers to distribute traffic to. Allowed values are 1-65535. Special values are 0 - 'Disable'."
              },
              "name": {
                "type": "string",
                "description": "The name of the pool group."
              },
              "priority_labels_ref": {
                "type": "string",
                "description": "UUID of the priority labels. If not provided, pool group member priority label will be interpreted as a number with a larger number considered higher priority. It is a reference to an object of type PriorityLabels."
              },
              "service_metadata": {
                "type": "string",
                "description": "Metadata pertaining to the service provided by this PoolGroup. In Openshift/Kubernetes environments, app metadata info is stored. Any user input to this field will be overwritten by Avi Vantage. Field introduced in 17.2.14,18.1.5,18.2.1."
              },
              "tenant_ref": {
                "type": "string",
                "description": "It is a reference to an object of type Tenant."
              },
              "url": {
                "type": "string",
                "description": "url"
              },
              "uuid": {
                "type": "string",
                "description": "UUID of the pool group."
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "PoolGroup",
          "required": [
            "name"
          ],
          "type": "object",
          "properties": {
            "_last_modified": {
              "type": "string",
              "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
            },
            "cloud_config_cksum": {
              "type": "string",
              "description": "Checksum of cloud configuration for PoolGroup. Internally set by cloud connector."
            },
            "cloud_ref": {
              "type": "string",
              "description": "It is a reference to an object of type Cloud."
            },
            "created_by": {
              "type": "string",
              "description": "Name of the user who created the object."
            },
            "deployment_policy_ref": {
              "type": "string",
              "description": "When setup autoscale manager will automatically promote new pools into production when deployment goals are met. It is a reference to an object of type PoolGroupDeploymentPolicy."
            },
            "description": {
              "type": "string",
              "description": "Description of Pool Group."
            },
            "enable_http2": {
              "type": "boolean",
              "description": "Enable HTTP/2 for traffic from VirtualService to all the backend servers in all the pools configured under this PoolGroup. Field introduced in 20.1.1."
            },
            "fail_action": {
              "title": "FailAction",
              "required": [
                "type"
              ],
              "type": "object",
              "properties": {
                "backup_pool": {
                  "title": "FailActionBackupPool",
                  "required": [
                    "backup_pool_ref"
                  ],
                  "type": "object",
                  "properties": {
                    "backup_pool_ref": {
                      "type": "string",
                      "description": "Specifies the UUID of the Pool acting as backup pool. It is a reference to an object of type Pool."
                    }
                  }
                },
                "local_rsp": {
                  "title": "FailActionHTTPLocalResponse",
                  "type": "object",
                  "properties": {
                    "file": {
                      "title": "HTTPLocalFile",
                      "required": [
                        "content_type",
                        "file_content"
                      ],
                      "type": "object",
                      "properties": {
                        "content_type": {
                          "type": "string",
                          "description": "Mime-type of the content in the file."
                        },
                        "file_content": {
                          "type": "string",
                          "description": "File content to used in the local HTTP response body."
                        }
                      }
                    },
                    "status_code": {
                      "type": "string",
                      "description": "Enum options - FAIL_HTTP_STATUS_CODE_200, FAIL_HTTP_STATUS_CODE_503.",
                      "default": "FAIL_HTTP_STATUS_CODE_503"
                    }
                  }
                },
                "redirect": {
                  "title": "FailActionHTTPRedirect",
                  "required": [
                    "host"
                  ],
                  "type": "object",
                  "properties": {
                    "host": {
                      "type": "string",
                      "description": "host of FailActionHTTPRedirect."
                    },
                    "path": {
                      "type": "string",
                      "description": "path of FailActionHTTPRedirect."
                    },
                    "protocol": {
                      "type": "string",
                      "description": "Enum options - HTTP, HTTPS.",
                      "default": "HTTPS"
                    },
                    "query": {
                      "type": "string",
                      "description": "query of FailActionHTTPRedirect."
                    },
                    "status_code": {
                      "type": "string",
                      "description": "Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307.",
                      "default": "HTTP_REDIRECT_STATUS_CODE_302"
                    }
                  }
                },
                "type": {
                  "type": "string",
                  "description": "Enables a response to client when pool experiences a failure. By default TCP connection is closed. Enum options - FAIL_ACTION_HTTP_REDIRECT, FAIL_ACTION_HTTP_LOCAL_RSP, FAIL_ACTION_CLOSE_CONN, FAIL_ACTION_BACKUP_POOL.",
                  "example": "FAIL_ACTION_CLOSE_CONN"
                }
              }
            },
            "implicit_priority_labels": {
              "type": "boolean",
              "description": "Whether an implicit set of priority labels is generated. Field introduced in 17.1.9,17.2.3."
            },
            "members": {
              "type": "array",
              "items": {
                "title": "PoolGroupMember",
                "required": [
                  "pool_ref"
                ],
                "type": "object",
                "properties": {
                  "deployment_state": {
                    "type": "string",
                    "description": "Pool deployment state used with the PG deployment policy. Enum options - EVALUATION_IN_PROGRESS, IN_SERVICE, OUT_OF_SERVICE, EVALUATION_FAILED."
                  },
                  "pool_ref": {
                    "type": "string",
                    "description": "UUID of the pool. It is a reference to an object of type Pool."
                  },
                  "priority_label": {
                    "type": "string",
                    "description": "All pools with same label are treated similarly in a pool group. A pool with a higher priority is selected, as long as the pool is eligible or an explicit policy chooses a different pool."
                  },
                  "ratio": {
                    "type": "integer",
                    "description": "Ratio of selecting eligible pools in the pool group. . Allowed values are 1-1000. Special values are 0 - 'Do not select this pool for new connections'.",
                        "default": 1
                  }
                }
              },
              "description": "List of pool group members object of type PoolGroupMember."
            },
            "min_servers": {
              "type": "integer",
              "description": "The minimum number of servers to distribute traffic to. Allowed values are 1-65535. Special values are 0 - 'Disable'."
            },
            "name": {
              "type": "string",
              "description": "The name of the pool group."
            },
            "priority_labels_ref": {
              "type": "string",
              "description": "UUID of the priority labels. If not provided, pool group member priority label will be interpreted as a number with a larger number considered higher priority. It is a reference to an object of type PriorityLabels."
            },
            "service_metadata": {
              "type": "string",
              "description": "Metadata pertaining to the service provided by this PoolGroup. In Openshift/Kubernetes environments, app metadata info is stored. Any user input to this field will be overwritten by Avi Vantage. Field introduced in 17.2.14,18.1.5,18.2.1."
            },
            "tenant_ref": {
              "type": "string",
              "description": "It is a reference to an object of type Tenant."
            },
            "url": {
              "type": "string",
              "description": "url"
            },
            "uuid": {
              "type": "string",
              "description": "UUID of the pool group."
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/poolgroupByUuidPUT"
      },
      "task": true
    },
    {
      "name": "poolgroupByUuidPATCH",
      "summary": "PoolgroupByUuid_PATCH",
      "description": "PoolgroupByUuid_PATCH",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "object name: string",
          "required": false,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "PoolGroup object creation: {\"_last_modified\": \"string\", \"cloud_config_cksum\": \"string\", \"cloud_ref\": \"string\", \"created_by\": \"string\", \"deployment_policy_ref\": \"string\", \"description\": \"string\", \"enable_http2\": \"boolean\", \"fail_action\": {\"backup_pool\": {\"backup_pool_ref\": \"string\"}, \"local_rsp\": {\"file\": {\"content_type\": \"string\", \"file_content\": \"string\"}, \"status_code\": \"string\"}, \"redirect\": {\"host\": \"string\", \"path\": \"string\", \"protocol\": \"string\", \"query\": \"string\", \"status_code\": \"string\"}, \"type\": \"string\"}, \"implicit_priority_labels\": \"boolean\", \"members\": [{\"deployment_state\": \"string\", \"pool_ref\": \"string\", \"priority_label\": \"string\", \"ratio\": 123}], \"min_servers\": 123, \"name\": \"string\", \"priority_labels_ref\": \"string\", \"service_metadata\": \"string\", \"tenant_ref\": \"string\", \"url\": \"string\", \"uuid\": \"string\"}",
          "required": true,
          "schema": {
            "title": "PoolGroup",
            "required": [
              "name"
            ],
            "type": "object",
            "properties": {
              "_last_modified": {
                "type": "string",
                "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
              },
              "cloud_config_cksum": {
                "type": "string",
                "description": "Checksum of cloud configuration for PoolGroup. Internally set by cloud connector."
              },
              "cloud_ref": {
                "type": "string",
                "description": "It is a reference to an object of type Cloud."
              },
              "created_by": {
                "type": "string",
                "description": "Name of the user who created the object."
              },
              "deployment_policy_ref": {
                "type": "string",
                "description": "When setup autoscale manager will automatically promote new pools into production when deployment goals are met. It is a reference to an object of type PoolGroupDeploymentPolicy."
              },
              "description": {
                "type": "string",
                "description": "Description of Pool Group."
              },
              "enable_http2": {
                "type": "boolean",
                "description": "Enable HTTP/2 for traffic from VirtualService to all the backend servers in all the pools configured under this PoolGroup. Field introduced in 20.1.1."
              },
              "fail_action": {
                "title": "FailAction",
                "required": [
                  "type"
                ],
                "type": "object",
                "properties": {
                  "backup_pool": {
                    "title": "FailActionBackupPool",
                    "required": [
                      "backup_pool_ref"
                    ],
                    "type": "object",
                    "properties": {
                      "backup_pool_ref": {
                        "type": "string",
                        "description": "Specifies the UUID of the Pool acting as backup pool. It is a reference to an object of type Pool."
                      }
                    }
                  },
                  "local_rsp": {
                    "title": "FailActionHTTPLocalResponse",
                    "type": "object",
                    "properties": {
                      "file": {
                        "title": "HTTPLocalFile",
                        "required": [
                          "content_type",
                          "file_content"
                        ],
                        "type": "object",
                        "properties": {
                          "content_type": {
                            "type": "string",
                            "description": "Mime-type of the content in the file."
                          },
                          "file_content": {
                            "type": "string",
                            "description": "File content to used in the local HTTP response body."
                          }
                        }
                      },
                      "status_code": {
                        "type": "string",
                        "description": "Enum options - FAIL_HTTP_STATUS_CODE_200, FAIL_HTTP_STATUS_CODE_503.",
                        "default": "FAIL_HTTP_STATUS_CODE_503"
                      }
                    }
                  },
                  "redirect": {
                    "title": "FailActionHTTPRedirect",
                    "required": [
                      "host"
                    ],
                    "type": "object",
                    "properties": {
                      "host": {
                        "type": "string",
                        "description": "host of FailActionHTTPRedirect."
                      },
                      "path": {
                        "type": "string",
                        "description": "path of FailActionHTTPRedirect."
                      },
                      "protocol": {
                        "type": "string",
                        "description": "Enum options - HTTP, HTTPS.",
                        "default": "HTTPS"
                      },
                      "query": {
                        "type": "string",
                        "description": "query of FailActionHTTPRedirect."
                      },
                      "status_code": {
                        "type": "string",
                        "description": "Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307.",
                        "default": "HTTP_REDIRECT_STATUS_CODE_302"
                      }
                    }
                  },
                  "type": {
                    "type": "string",
                    "description": "Enables a response to client when pool experiences a failure. By default TCP connection is closed. Enum options - FAIL_ACTION_HTTP_REDIRECT, FAIL_ACTION_HTTP_LOCAL_RSP, FAIL_ACTION_CLOSE_CONN, FAIL_ACTION_BACKUP_POOL.",
                    "example": "FAIL_ACTION_CLOSE_CONN"
                  }
                }
              },
              "implicit_priority_labels": {
                "type": "boolean",
                "description": "Whether an implicit set of priority labels is generated. Field introduced in 17.1.9,17.2.3."
              },
              "members": {
                "type": "array",
                "items": {
                  "title": "PoolGroupMember",
                  "required": [
                    "pool_ref"
                  ],
                  "type": "object",
                  "properties": {
                    "deployment_state": {
                      "type": "string",
                      "description": "Pool deployment state used with the PG deployment policy. Enum options - EVALUATION_IN_PROGRESS, IN_SERVICE, OUT_OF_SERVICE, EVALUATION_FAILED."
                    },
                    "pool_ref": {
                      "type": "string",
                      "description": "UUID of the pool. It is a reference to an object of type Pool."
                    },
                    "priority_label": {
                      "type": "string",
                      "description": "All pools with same label are treated similarly in a pool group. A pool with a higher priority is selected, as long as the pool is eligible or an explicit policy chooses a different pool."
                    },
                    "ratio": {
                      "type": "integer",
                      "description": "Ratio of selecting eligible pools in the pool group. . Allowed values are 1-1000. Special values are 0 - 'Do not select this pool for new connections'.",
                            "default": 1
                    }
                  }
                },
                "description": "List of pool group members object of type PoolGroupMember."
              },
              "min_servers": {
                "type": "integer",
                "description": "The minimum number of servers to distribute traffic to. Allowed values are 1-65535. Special values are 0 - 'Disable'."
              },
              "name": {
                "type": "string",
                "description": "The name of the pool group."
              },
              "priority_labels_ref": {
                "type": "string",
                "description": "UUID of the priority labels. If not provided, pool group member priority label will be interpreted as a number with a larger number considered higher priority. It is a reference to an object of type PriorityLabels."
              },
              "service_metadata": {
                "type": "string",
                "description": "Metadata pertaining to the service provided by this PoolGroup. In Openshift/Kubernetes environments, app metadata info is stored. Any user input to this field will be overwritten by Avi Vantage. Field introduced in 17.2.14,18.1.5,18.2.1."
              },
              "tenant_ref": {
                "type": "string",
                "description": "It is a reference to an object of type Tenant."
              },
              "url": {
                "type": "string",
                "description": "url"
              },
              "uuid": {
                "type": "string",
                "description": "UUID of the pool group."
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "PoolGroup",
          "required": [
            "name"
          ],
          "type": "object",
          "properties": {
            "_last_modified": {
              "type": "string",
              "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
            },
            "cloud_config_cksum": {
              "type": "string",
              "description": "Checksum of cloud configuration for PoolGroup. Internally set by cloud connector."
            },
            "cloud_ref": {
              "type": "string",
              "description": "It is a reference to an object of type Cloud."
            },
            "created_by": {
              "type": "string",
              "description": "Name of the user who created the object."
            },
            "deployment_policy_ref": {
              "type": "string",
              "description": "When setup autoscale manager will automatically promote new pools into production when deployment goals are met. It is a reference to an object of type PoolGroupDeploymentPolicy."
            },
            "description": {
              "type": "string",
              "description": "Description of Pool Group."
            },
            "enable_http2": {
              "type": "boolean",
              "description": "Enable HTTP/2 for traffic from VirtualService to all the backend servers in all the pools configured under this PoolGroup. Field introduced in 20.1.1."
            },
            "fail_action": {
              "title": "FailAction",
              "required": [
                "type"
              ],
              "type": "object",
              "properties": {
                "backup_pool": {
                  "title": "FailActionBackupPool",
                  "required": [
                    "backup_pool_ref"
                  ],
                  "type": "object",
                  "properties": {
                    "backup_pool_ref": {
                      "type": "string",
                      "description": "Specifies the UUID of the Pool acting as backup pool. It is a reference to an object of type Pool."
                    }
                  }
                },
                "local_rsp": {
                  "title": "FailActionHTTPLocalResponse",
                  "type": "object",
                  "properties": {
                    "file": {
                      "title": "HTTPLocalFile",
                      "required": [
                        "content_type",
                        "file_content"
                      ],
                      "type": "object",
                      "properties": {
                        "content_type": {
                          "type": "string",
                          "description": "Mime-type of the content in the file."
                        },
                        "file_content": {
                          "type": "string",
                          "description": "File content to used in the local HTTP response body."
                        }
                      }
                    },
                    "status_code": {
                      "type": "string",
                      "description": "Enum options - FAIL_HTTP_STATUS_CODE_200, FAIL_HTTP_STATUS_CODE_503.",
                      "default": "FAIL_HTTP_STATUS_CODE_503"
                    }
                  }
                },
                "redirect": {
                  "title": "FailActionHTTPRedirect",
                  "required": [
                    "host"
                  ],
                  "type": "object",
                  "properties": {
                    "host": {
                      "type": "string",
                      "description": "host of FailActionHTTPRedirect."
                    },
                    "path": {
                      "type": "string",
                      "description": "path of FailActionHTTPRedirect."
                    },
                    "protocol": {
                      "type": "string",
                      "description": "Enum options - HTTP, HTTPS.",
                      "default": "HTTPS"
                    },
                    "query": {
                      "type": "string",
                      "description": "query of FailActionHTTPRedirect."
                    },
                    "status_code": {
                      "type": "string",
                      "description": "Enum options - HTTP_REDIRECT_STATUS_CODE_301, HTTP_REDIRECT_STATUS_CODE_302, HTTP_REDIRECT_STATUS_CODE_307.",
                      "default": "HTTP_REDIRECT_STATUS_CODE_302"
                    }
                  }
                },
                "type": {
                  "type": "string",
                  "description": "Enables a response to client when pool experiences a failure. By default TCP connection is closed. Enum options - FAIL_ACTION_HTTP_REDIRECT, FAIL_ACTION_HTTP_LOCAL_RSP, FAIL_ACTION_CLOSE_CONN, FAIL_ACTION_BACKUP_POOL.",
                  "example": "FAIL_ACTION_CLOSE_CONN"
                }
              }
            },
            "implicit_priority_labels": {
              "type": "boolean",
              "description": "Whether an implicit set of priority labels is generated. Field introduced in 17.1.9,17.2.3."
            },
            "members": {
              "type": "array",
              "items": {
                "title": "PoolGroupMember",
                "required": [
                  "pool_ref"
                ],
                "type": "object",
                "properties": {
                  "deployment_state": {
                    "type": "string",
                    "description": "Pool deployment state used with the PG deployment policy. Enum options - EVALUATION_IN_PROGRESS, IN_SERVICE, OUT_OF_SERVICE, EVALUATION_FAILED."
                  },
                  "pool_ref": {
                    "type": "string",
                    "description": "UUID of the pool. It is a reference to an object of type Pool."
                  },
                  "priority_label": {
                    "type": "string",
                    "description": "All pools with same label are treated similarly in a pool group. A pool with a higher priority is selected, as long as the pool is eligible or an explicit policy chooses a different pool."
                  },
                  "ratio": {
                    "type": "integer",
                    "description": "Ratio of selecting eligible pools in the pool group. . Allowed values are 1-1000. Special values are 0 - 'Do not select this pool for new connections'.",
                        "default": 1
                  }
                }
              },
              "description": "List of pool group members object of type PoolGroupMember."
            },
            "min_servers": {
              "type": "integer",
              "description": "The minimum number of servers to distribute traffic to. Allowed values are 1-65535. Special values are 0 - 'Disable'."
            },
            "name": {
              "type": "string",
              "description": "The name of the pool group."
            },
            "priority_labels_ref": {
              "type": "string",
              "description": "UUID of the priority labels. If not provided, pool group member priority label will be interpreted as a number with a larger number considered higher priority. It is a reference to an object of type PriorityLabels."
            },
            "service_metadata": {
              "type": "string",
              "description": "Metadata pertaining to the service provided by this PoolGroup. In Openshift/Kubernetes environments, app metadata info is stored. Any user input to this field will be overwritten by Avi Vantage. Field introduced in 17.2.14,18.1.5,18.2.1."
            },
            "tenant_ref": {
              "type": "string",
              "description": "It is a reference to an object of type Tenant."
            },
            "url": {
              "type": "string",
              "description": "url"
            },
            "uuid": {
              "type": "string",
              "description": "UUID of the pool group."
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/poolgroupByUuidPATCH"
      },
      "task": true
    },
    {
      "name": "poolgroupByUuidDELETE",
      "summary": "PoolgroupByUuid_DELETE",
      "description": "PoolgroupByUuid_DELETE",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "object name: string",
          "required": false,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/poolgroupByUuidDELETE"
      },
      "task": true
    },
    {
      "name": "vsvipGET",
      "summary": "Vsvip_GET",
      "description": "Vsvip_GET",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "object name: string",
          "required": false,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "refersTo",
          "type": "string",
          "info": "Filter to request all objects that refers to another Avi resource. Its syntax is refers_to= : . Eg. get all virtual services referring to pool p1 will be refers_to=pool:p...(description truncated): string",
          "required": false,
          "schema": {
            "title": "refersTo",
            "type": "string"
          }
        },
        {
          "name": "referredBy",
          "type": "string",
          "info": "Filter to request all objects that are referred by another Avi resource. Its syntax is referred_by= : . Eg. get all pools referred_by virtual service vs1 - referred_by=vi...(description truncated): string",
          "required": false,
          "schema": {
            "title": "referredBy",
            "type": "string"
          }
        },
        {
          "name": "fields",
          "type": "string",
          "info": "List of fields to be returned for the resource. Some fields like name, URL, uuid etc. are always returned.: string",
          "required": false,
          "schema": {
            "title": "fields",
            "type": "string"
          }
        },
        {
          "name": "includeName",
          "type": "boolean",
          "info": "All the Avi REST reference URIs have a name suffix as URI#name. It is useful to get the referenced resource name without performing get on that object.: boolean",
          "required": false,
          "schema": {
            "title": "includeName",
            "type": "boolean"
          }
        },
        {
          "name": "skipDefault",
          "type": "boolean",
          "info": "Default values are not set.: boolean",
          "required": false,
          "schema": {
            "title": "skipDefault",
            "type": "boolean"
          }
        },
        {
          "name": "joinSubresources",
          "type": "string",
          "info": "It automatically returns additional dependent resources like runtime. Eg. join_subresources=runtime.: string",
          "required": false,
          "schema": {
            "title": "joinSubresources",
            "type": "string"
          }
        },
        {
          "name": "cloudUuid",
          "type": "string",
          "info": "Filter to get objects that belongs to a specific cloud using its uuid. Eg. cloud_uuid=cloud-xyz.: string",
          "required": false,
          "schema": {
            "title": "cloudUuid",
            "type": "string"
          }
        },
        {
          "name": "cloudRefName",
          "type": "string",
          "info": "Filter to get objects that belongs to a specific cloud usings its name. This uses cloud name rather than uuid. Eg. cloud_ref.name=Default-Cloud.: string",
          "required": false,
          "schema": {
            "title": "cloudRefName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "VsVipApiResponse",
          "required": [
            "count",
            "results"
          ],
          "type": "object",
          "properties": {
            "count": {
              "type": "integer"
            },
            "results": {
              "type": "array",
              "items": {
                "title": "VsVip",
                "required": [
                  "name"
                ],
                "type": "object",
                "properties": {
                  "_last_modified": {
                    "type": "string",
                    "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
                  },
                  "cloud_ref": {
                    "type": "string",
                    "description": "It is a reference to an object of type Cloud. Field introduced in 17.1.1."
                  },
                  "dns_info": {
                    "type": "array",
                    "items": {
                      "title": "DnsInfo",
                      "type": "object",
                      "properties": {
                        "algorithm": {
                          "type": "string",
                          "description": "Specifies the algorithm to pick the IP address(es) to be returned, when multiple entries are configured. This does not apply if num_records_in_response is 0. Default is consistent hash. Enum options - DNS_RECORD_RESPONSE_ROUND_ROBIN, DNS_RECORD_RESPONSE_CONSISTENT_HASH. Field introduced in 17.1.1.",
                          "default": "DNS_RECORD_RESPONSE_CONSISTENT_HASH"
                        },
                        "cname": {
                          "title": "DnsCnameRdata",
                          "required": [
                            "cname"
                          ],
                          "type": "object",
                          "properties": {
                            "cname": {
                              "type": "string",
                              "description": "Canonical name."
                            }
                          }
                        },
                        "fqdn": {
                          "type": "string",
                          "description": "Fully qualified domain name."
                        },
                        "metadata": {
                          "type": "string",
                          "description": "Any metadata associated with this record. Field introduced in 17.2.2."
                        },
                        "num_records_in_response": {
                          "type": "integer",
                          "description": "Specifies the number of records returned for this FQDN. Enter 0 to return all records. Default is 0. Allowed values are 0-20. Special values are 0- 'Return all records'. Field introduced in 17.1.1.",
                                    "default": 1
                        },
                        "ttl": {
                          "type": "integer",
                          "description": "Time to live for fqdn record. Default value is chosen from DNS profile for this cloud if no value provided."
                        },
                        "type": {
                          "type": "string",
                          "description": "DNS record type. Enum options - DNS_RECORD_OTHER, DNS_RECORD_A, DNS_RECORD_NS, DNS_RECORD_CNAME, DNS_RECORD_SOA, DNS_RECORD_PTR, DNS_RECORD_HINFO, DNS_RECORD_MX, DNS_RECORD_TXT, DNS_RECORD_RP, DNS_RECORD_DNSKEY, DNS_RECORD_AAAA, DNS_RECORD_SRV, DNS_RECORD_OPT, DNS_RECORD_RRSIG, DNS_RECORD_AXFR, DNS_RECORD_ANY.",
                          "default": "DNS_RECORD_A"
                        }
                      }
                    },
                    "description": "Service discovery specific data including fully qualified domain name, type and Time-To-Live of the DNS record. Field introduced in 17.1.1."
                  },
                  "east_west_placement": {
                    "type": "boolean",
                    "description": "Force placement on all Service Engines in the Service Engine Group (Container clouds only). Field introduced in 17.1.1."
                  },
                  "name": {
                    "type": "string",
                    "description": "Name for the VsVip object. Field introduced in 17.1.1."
                  },
                  "tenant_ref": {
                    "type": "string",
                    "description": "It is a reference to an object of type Tenant. Field introduced in 17.1.1."
                  },
                  "tier1_lr": {
                    "type": "string",
                    "description": "This sets the placement scope of virtualservice to given tier1 logical router in Nsx-t. Field introduced in 20.1.1."
                  },
                  "url": {
                    "type": "string",
                    "description": "url"
                  },
                  "use_standard_alb": {
                    "type": "boolean",
                    "description": "This overrides the cloud level default and needs to match the SE Group value in which it will be used if the SE Group use_standard_alb value is set. This is only used when FIP is used for VS on Azure Cloud. Field introduced in 18.2.3."
                  },
                  "uuid": {
                    "type": "string",
                    "description": "UUID of the VsVip object. Field introduced in 17.1.1."
                  },
                  "vip": {
                    "type": "array",
                    "items": {
                      "title": "Vip",
                      "required": [
                        "vip_id"
                      ],
                      "type": "object",
                      "properties": {
                        "auto_allocate_floating_ip": {
                          "type": "boolean",
                          "description": "Auto-allocate floating/elastic IP from the Cloud infrastructure. Field introduced in 17.1.1."
                        },
                        "auto_allocate_ip": {
                          "type": "boolean",
                          "description": "Auto-allocate VIP from the provided subnet. Field introduced in 17.1.1."
                        },
                        "auto_allocate_ip_type": {
                          "type": "string",
                          "description": "Specifies whether to auto-allocate only a V4 address, only a V6 address, or one of each type. Enum options - V4_ONLY, V6_ONLY, V4_V6. Field introduced in 18.1.1.",
                          "default": "V4_ONLY"
                        },
                        "availability_zone": {
                          "type": "string",
                          "description": "Availability-zone to place the Virtual Service. Field introduced in 17.1.1."
                        },
                        "avi_allocated_fip": {
                          "type": "boolean",
                          "description": "(internal-use) FIP allocated by Avi in the Cloud infrastructure. Field introduced in 17.1.1."
                        },
                        "avi_allocated_vip": {
                          "type": "boolean",
                          "description": "(internal-use) VIP allocated by Avi in the Cloud infrastructure. Field introduced in 17.1.1."
                        },
                        "discovered_networks": {
                          "type": "array",
                          "items": {
                            "title": "DiscoveredNetwork",
                            "required": [
                              "network_ref"
                            ],
                            "type": "object",
                            "properties": {
                              "network_ref": {
                                "type": "string",
                                "description": "Discovered network for this IP. It is a reference to an object of type Network."
                              },
                              "subnet": {
                                "type": "array",
                                "items": {
                                  "title": "IpAddrPrefix",
                                  "required": [
                                    "ip_addr",
                                    "mask"
                                  ],
                                  "type": "object",
                                  "properties": {
                                    "ip_addr": {
                                      "type": "object",
                                      "description": ""
                                    },
                                    "mask": {
                                      "type": "integer",
                                      "description": "Number of mask."
                                    }
                                  }
                                },
                                "description": "Discovered subnet for this IP."
                              },
                              "subnet6": {
                                "type": "array",
                                "items": {
                                  "title": "IpAddrPrefix",
                                  "required": [
                                    "ip_addr",
                                    "mask"
                                  ],
                                  "type": "object",
                                  "properties": {
                                    "ip_addr": {
                                      "type": "object",
                                      "description": ""
                                    },
                                    "mask": {
                                      "type": "integer",
                                      "description": "Number of mask."
                                    }
                                  }
                                },
                                "description": "Discovered IPv6 subnet for this IP. Field introduced in 18.1.1."
                              }
                            }
                          },
                          "description": "Discovered networks providing reachability for client facing Vip IP. Field introduced in 17.1.1."
                        },
                        "enabled": {
                          "type": "boolean",
                          "description": "Enable or disable the Vip. Field introduced in 17.1.1.",
                          "default": true
                        },
                        "floating_ip": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "floating_ip6": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "floating_subnet6_uuid": {
                          "type": "string",
                          "description": "If auto_allocate_floating_ip is True and more than one floating-ip subnets exist, then the subnet for the floating IPv6 address allocation. Field introduced in 18.1.1."
                        },
                        "floating_subnet_uuid": {
                          "type": "string",
                          "description": "If auto_allocate_floating_ip is True and more than one floating-ip subnets exist, then the subnet for the floating IP address allocation. Field introduced in 17.1.1."
                        },
                        "ip6_address": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "ip_address": {
                          "title": "IpAddr",
                          "required": [
                            "addr",
                            "type"
                          ],
                          "type": "object",
                          "properties": {
                            "addr": {
                              "type": "string",
                              "description": "IP address."
                            },
                            "type": {
                              "type": "string",
                              "description": "Enum options - V4, DNS, V6."
                            }
                          }
                        },
                        "ipam_network_subnet": {
                          "title": "IPNetworkSubnet",
                          "type": "object",
                          "properties": {
                            "network_ref": {
                              "type": "string",
                              "description": "Network for VirtualService IP allocation with Vantage as the IPAM provider. Network should be created before this is configured. It is a reference to an object of type Network."
                            },
                            "subnet": {
                              "title": "IpAddrPrefix",
                              "required": [
                                "ip_addr",
                                "mask"
                              ],
                              "type": "object",
                              "properties": {
                                "ip_addr": {
                                  "type": "object",
                                  "description": ""
                                },
                                "mask": {
                                  "type": "integer",
                                  "description": "Number of mask."
                                }
                              }
                            },
                            "subnet6": {
                              "title": "IpAddrPrefix",
                              "required": [
                                "ip_addr",
                                "mask"
                              ],
                              "type": "object",
                              "properties": {
                                "ip_addr": {
                                  "type": "object",
                                  "description": ""
                                },
                                "mask": {
                                  "type": "integer",
                                  "description": "Number of mask."
                                }
                              }
                            },
                            "subnet6_uuid": {
                              "type": "string",
                              "description": "Subnet UUID or Name or Prefix for VirtualService IPv6 allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed. Field introduced in 18.1.1."
                            },
                            "subnet_uuid": {
                              "type": "string",
                              "description": "Subnet UUID or Name or Prefix for VirtualService IP allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed."
                            }
                          }
                        },
                        "network_ref": {
                          "type": "string",
                          "description": "Manually override the network on which the Vip is placed. It is a reference to an object of type Network. Field introduced in 17.1.1."
                        },
                        "placement_networks": {
                          "type": "array",
                          "items": {
                            "title": "VipPlacementNetwork",
                            "type": "object",
                            "properties": {
                              "network_ref": {
                                "type": "string",
                                "description": "Network to use for vip placement. It is a reference to an object of type Network. Field introduced in 18.2.5."
                              },
                              "subnet": {
                                "title": "IpAddrPrefix",
                                "required": [
                                  "ip_addr",
                                  "mask"
                                ],
                                "type": "object",
                                "properties": {
                                  "ip_addr": {
                                    "type": "object",
                                    "description": ""
                                  },
                                  "mask": {
                                    "type": "integer",
                                    "description": "Number of mask."
                                  }
                                }
                              },
                              "subnet6": {
                                "title": "IpAddrPrefix",
                                "required": [
                                  "ip_addr",
                                  "mask"
                                ],
                                "type": "object",
                                "properties": {
                                  "ip_addr": {
                                    "type": "object",
                                    "description": ""
                                  },
                                  "mask": {
                                    "type": "integer",
                                    "description": "Number of mask."
                                  }
                                }
                              }
                            }
                          },
                          "description": "Placement networks/subnets to use for vip placement. Field introduced in 18.2.5."
                        },
                        "port_uuid": {
                          "type": "string",
                          "description": "(internal-use) Network port assigned to the Vip IP address. Field introduced in 17.1.1."
                        },
                        "prefix_length": {
                          "type": "integer",
                          "description": "Mask applied for the Vip, non-default mask supported only for wildcard Vip. Allowed values are 0-32. Field introduced in 20.1.1.",
                                    "default": 32
                        },
                        "subnet": {
                          "title": "IpAddrPrefix",
                          "required": [
                            "ip_addr",
                            "mask"
                          ],
                          "type": "object",
                          "properties": {
                            "ip_addr": {
                              "type": "object",
                              "description": ""
                            },
                            "mask": {
                              "type": "integer",
                              "description": "Number of mask."
                            }
                          }
                        },
                        "subnet6": {
                          "title": "IpAddrPrefix",
                          "required": [
                            "ip_addr",
                            "mask"
                          ],
                          "type": "object",
                          "properties": {
                            "ip_addr": {
                              "type": "object",
                              "description": ""
                            },
                            "mask": {
                              "type": "integer",
                              "description": "Number of mask."
                            }
                          }
                        },
                        "subnet6_uuid": {
                          "type": "string",
                          "description": "If auto_allocate_ip is True, then the subnet for the Vip IPv6 address allocation. This field is applicable only if the VirtualService belongs to an Openstack or AWS cloud, in which case it is mandatory, if auto_allocate is selected. Field introduced in 18.1.1."
                        },
                        "subnet_uuid": {
                          "type": "string",
                          "description": "If auto_allocate_ip is True, then the subnet for the Vip IP address allocation. This field is applicable only if the VirtualService belongs to an Openstack or AWS cloud, in which case it is mandatory, if auto_allocate is selected. Field introduced in 17.1.1."
                        },
                        "vip_id": {
                          "type": "string",
                          "description": "Unique ID associated with the vip. Field introduced in 17.1.1."
                        }
                      }
                    },
                    "description": "List of Virtual Service IPs and other shareable entities. Field introduced in 17.1.1."
                  },
                  "vrf_context_ref": {
                    "type": "string",
                    "description": "Virtual Routing Context that the Virtual Service is bound to. This is used to provide the isolation of the set of networks the application is attached to. It is a reference to an object of type VrfContext. Field introduced in 17.1.1."
                  },
                  "vsvip_cloud_config_cksum": {
                    "type": "string",
                    "description": "Checksum of cloud configuration for VsVip. Internally set by cloud connector. Field introduced in 17.2.9, 18.1.2."
                  }
                }
              },
              "description": ""
            },
            "next": {
              "type": "string"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/vsvipGET"
      },
      "task": true
    },
    {
      "name": "vsvipPOST",
      "summary": "Vsvip_POST",
      "description": "Vsvip_POST",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "VsVip object creation: {\"_last_modified\": \"string\", \"cloud_ref\": \"string\", \"dns_info\": [{\"algorithm\": \"string\", \"cname\": {\"cname\": \"string\"}, \"fqdn\": \"string\", \"metadata\": \"string\", \"num_records_in_response\": 123, \"ttl\": 123, \"type\": \"string\"}], \"east_west_placement\": \"boolean\", \"name\": \"string\", \"tenant_ref\": \"string\", \"tier1_lr\": \"string\", \"url\": \"string\", \"use_standard_alb\": \"boolean\", \"uuid\": \"string\", \"vip\": [{\"auto_allocate_floating_ip\": \"boolean\", \"auto_allocate_ip\": \"boolean\", \"auto_allocate_ip_type\": \"string\", \"availability_zone\": \"string\", \"avi_allocated_fip\": \"boolean\", \"avi_allocated_vip\": \"boolean\", \"discovered_networks\": [{\"network_ref\": \"string\", \"subnet\": [{\"ip_addr\": \"object\", \"mask\": 123}], \"subnet6\": [{\"ip_addr\": \"object\", \"mask\": 123}]}], \"enabled\": \"boolean\", \"floating_ip\": {\"addr\": \"string\", \"type\": \"string\"}, \"floating_ip6\": {\"addr\": \"string\", \"type\": \"string\"}, \"floating_subnet6_uuid\": \"string\", \"floating_subnet_uuid\": \"string\", \"ip6_address\": {\"addr\": \"string\", \"type\": \"string\"}, \"ip_address\": {\"addr\": \"string\", \"type\": \"string\"}, \"ipam_network_subnet\": {\"network_ref\": \"string\", \"subnet\": {\"ip_addr\": \"object\", \"mask\": 123}, \"subnet6\": {\"ip_addr\": \"object\", \"mask\": 123}, \"subnet6_uuid\": \"string\", \"subnet_uuid\": \"string\"}, \"network_ref\": \"string\", \"placement_networks\": [{\"network_ref\": \"string\", \"subnet\": {\"ip_addr\": \"object\", \"mask\": 123}, \"subnet6\": {\"ip_addr\": \"object\", \"mask\": 123}}], \"port_uuid\": \"string\", \"prefix_length\": 123, \"subnet\": {\"ip_addr\": \"object\", \"mask\": 123}, \"subnet6\": {\"ip_addr\": \"object\", \"mask\": 123}, \"subnet6_uuid\": \"string\", \"subnet_uuid\": \"string\", \"vip_id\": \"string\"}], \"vrf_context_ref\": \"string\", \"vsvip_cloud_config_cksum\": \"string\"}",
          "required": true,
          "schema": {
            "title": "VsVip",
            "required": [
              "name"
            ],
            "type": "object",
            "properties": {
              "_last_modified": {
                "type": "string",
                "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
              },
              "cloud_ref": {
                "type": "string",
                "description": "It is a reference to an object of type Cloud. Field introduced in 17.1.1."
              },
              "dns_info": {
                "type": "array",
                "items": {
                  "title": "DnsInfo",
                  "type": "object",
                  "properties": {
                    "algorithm": {
                      "type": "string",
                      "description": "Specifies the algorithm to pick the IP address(es) to be returned, when multiple entries are configured. This does not apply if num_records_in_response is 0. Default is consistent hash. Enum options - DNS_RECORD_RESPONSE_ROUND_ROBIN, DNS_RECORD_RESPONSE_CONSISTENT_HASH. Field introduced in 17.1.1.",
                      "default": "DNS_RECORD_RESPONSE_CONSISTENT_HASH"
                    },
                    "cname": {
                      "title": "DnsCnameRdata",
                      "required": [
                        "cname"
                      ],
                      "type": "object",
                      "properties": {
                        "cname": {
                          "type": "string",
                          "description": "Canonical name."
                        }
                      }
                    },
                    "fqdn": {
                      "type": "string",
                      "description": "Fully qualified domain name."
                    },
                    "metadata": {
                      "type": "string",
                      "description": "Any metadata associated with this record. Field introduced in 17.2.2."
                    },
                    "num_records_in_response": {
                      "type": "integer",
                      "description": "Specifies the number of records returned for this FQDN. Enter 0 to return all records. Default is 0. Allowed values are 0-20. Special values are 0- 'Return all records'. Field introduced in 17.1.1.",
                            "default": 1
                    },
                    "ttl": {
                      "type": "integer",
                      "description": "Time to live for fqdn record. Default value is chosen from DNS profile for this cloud if no value provided."
                    },
                    "type": {
                      "type": "string",
                      "description": "DNS record type. Enum options - DNS_RECORD_OTHER, DNS_RECORD_A, DNS_RECORD_NS, DNS_RECORD_CNAME, DNS_RECORD_SOA, DNS_RECORD_PTR, DNS_RECORD_HINFO, DNS_RECORD_MX, DNS_RECORD_TXT, DNS_RECORD_RP, DNS_RECORD_DNSKEY, DNS_RECORD_AAAA, DNS_RECORD_SRV, DNS_RECORD_OPT, DNS_RECORD_RRSIG, DNS_RECORD_AXFR, DNS_RECORD_ANY.",
                      "default": "DNS_RECORD_A"
                    }
                  }
                },
                "description": "Service discovery specific data including fully qualified domain name, type and Time-To-Live of the DNS record. Field introduced in 17.1.1."
              },
              "east_west_placement": {
                "type": "boolean",
                "description": "Force placement on all Service Engines in the Service Engine Group (Container clouds only). Field introduced in 17.1.1."
              },
              "name": {
                "type": "string",
                "description": "Name for the VsVip object. Field introduced in 17.1.1."
              },
              "tenant_ref": {
                "type": "string",
                "description": "It is a reference to an object of type Tenant. Field introduced in 17.1.1."
              },
              "tier1_lr": {
                "type": "string",
                "description": "This sets the placement scope of virtualservice to given tier1 logical router in Nsx-t. Field introduced in 20.1.1."
              },
              "url": {
                "type": "string",
                "description": "url"
              },
              "use_standard_alb": {
                "type": "boolean",
                "description": "This overrides the cloud level default and needs to match the SE Group value in which it will be used if the SE Group use_standard_alb value is set. This is only used when FIP is used for VS on Azure Cloud. Field introduced in 18.2.3."
              },
              "uuid": {
                "type": "string",
                "description": "UUID of the VsVip object. Field introduced in 17.1.1."
              },
              "vip": {
                "type": "array",
                "items": {
                  "title": "Vip",
                  "required": [
                    "vip_id"
                  ],
                  "type": "object",
                  "properties": {
                    "auto_allocate_floating_ip": {
                      "type": "boolean",
                      "description": "Auto-allocate floating/elastic IP from the Cloud infrastructure. Field introduced in 17.1.1."
                    },
                    "auto_allocate_ip": {
                      "type": "boolean",
                      "description": "Auto-allocate VIP from the provided subnet. Field introduced in 17.1.1."
                    },
                    "auto_allocate_ip_type": {
                      "type": "string",
                      "description": "Specifies whether to auto-allocate only a V4 address, only a V6 address, or one of each type. Enum options - V4_ONLY, V6_ONLY, V4_V6. Field introduced in 18.1.1.",
                      "default": "V4_ONLY"
                    },
                    "availability_zone": {
                      "type": "string",
                      "description": "Availability-zone to place the Virtual Service. Field introduced in 17.1.1."
                    },
                    "avi_allocated_fip": {
                      "type": "boolean",
                      "description": "(internal-use) FIP allocated by Avi in the Cloud infrastructure. Field introduced in 17.1.1."
                    },
                    "avi_allocated_vip": {
                      "type": "boolean",
                      "description": "(internal-use) VIP allocated by Avi in the Cloud infrastructure. Field introduced in 17.1.1."
                    },
                    "discovered_networks": {
                      "type": "array",
                      "items": {
                        "title": "DiscoveredNetwork",
                        "required": [
                          "network_ref"
                        ],
                        "type": "object",
                        "properties": {
                          "network_ref": {
                            "type": "string",
                            "description": "Discovered network for this IP. It is a reference to an object of type Network."
                          },
                          "subnet": {
                            "type": "array",
                            "items": {
                              "title": "IpAddrPrefix",
                              "required": [
                                "ip_addr",
                                "mask"
                              ],
                              "type": "object",
                              "properties": {
                                "ip_addr": {
                                  "type": "object",
                                  "description": ""
                                },
                                "mask": {
                                  "type": "integer",
                                  "description": "Number of mask."
                                }
                              }
                            },
                            "description": "Discovered subnet for this IP."
                          },
                          "subnet6": {
                            "type": "array",
                            "items": {
                              "title": "IpAddrPrefix",
                              "required": [
                                "ip_addr",
                                "mask"
                              ],
                              "type": "object",
                              "properties": {
                                "ip_addr": {
                                  "type": "object",
                                  "description": ""
                                },
                                "mask": {
                                  "type": "integer",
                                  "description": "Number of mask."
                                }
                              }
                            },
                            "description": "Discovered IPv6 subnet for this IP. Field introduced in 18.1.1."
                          }
                        }
                      },
                      "description": "Discovered networks providing reachability for client facing Vip IP. Field introduced in 17.1.1."
                    },
                    "enabled": {
                      "type": "boolean",
                      "description": "Enable or disable the Vip. Field introduced in 17.1.1.",
                      "default": true
                    },
                    "floating_ip": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "floating_ip6": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "floating_subnet6_uuid": {
                      "type": "string",
                      "description": "If auto_allocate_floating_ip is True and more than one floating-ip subnets exist, then the subnet for the floating IPv6 address allocation. Field introduced in 18.1.1."
                    },
                    "floating_subnet_uuid": {
                      "type": "string",
                      "description": "If auto_allocate_floating_ip is True and more than one floating-ip subnets exist, then the subnet for the floating IP address allocation. Field introduced in 17.1.1."
                    },
                    "ip6_address": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "ip_address": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "ipam_network_subnet": {
                      "title": "IPNetworkSubnet",
                      "type": "object",
                      "properties": {
                        "network_ref": {
                          "type": "string",
                          "description": "Network for VirtualService IP allocation with Vantage as the IPAM provider. Network should be created before this is configured. It is a reference to an object of type Network."
                        },
                        "subnet": {
                          "title": "IpAddrPrefix",
                          "required": [
                            "ip_addr",
                            "mask"
                          ],
                          "type": "object",
                          "properties": {
                            "ip_addr": {
                              "type": "object",
                              "description": ""
                            },
                            "mask": {
                              "type": "integer",
                              "description": "Number of mask."
                            }
                          }
                        },
                        "subnet6": {
                          "title": "IpAddrPrefix",
                          "required": [
                            "ip_addr",
                            "mask"
                          ],
                          "type": "object",
                          "properties": {
                            "ip_addr": {
                              "type": "object",
                              "description": ""
                            },
                            "mask": {
                              "type": "integer",
                              "description": "Number of mask."
                            }
                          }
                        },
                        "subnet6_uuid": {
                          "type": "string",
                          "description": "Subnet UUID or Name or Prefix for VirtualService IPv6 allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed. Field introduced in 18.1.1."
                        },
                        "subnet_uuid": {
                          "type": "string",
                          "description": "Subnet UUID or Name or Prefix for VirtualService IP allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed."
                        }
                      }
                    },
                    "network_ref": {
                      "type": "string",
                      "description": "Manually override the network on which the Vip is placed. It is a reference to an object of type Network. Field introduced in 17.1.1."
                    },
                    "placement_networks": {
                      "type": "array",
                      "items": {
                        "title": "VipPlacementNetwork",
                        "type": "object",
                        "properties": {
                          "network_ref": {
                            "type": "string",
                            "description": "Network to use for vip placement. It is a reference to an object of type Network. Field introduced in 18.2.5."
                          },
                          "subnet": {
                            "title": "IpAddrPrefix",
                            "required": [
                              "ip_addr",
                              "mask"
                            ],
                            "type": "object",
                            "properties": {
                              "ip_addr": {
                                "type": "object",
                                "description": ""
                              },
                              "mask": {
                                "type": "integer",
                                "description": "Number of mask."
                              }
                            }
                          },
                          "subnet6": {
                            "title": "IpAddrPrefix",
                            "required": [
                              "ip_addr",
                              "mask"
                            ],
                            "type": "object",
                            "properties": {
                              "ip_addr": {
                                "type": "object",
                                "description": ""
                              },
                              "mask": {
                                "type": "integer",
                                "description": "Number of mask."
                              }
                            }
                          }
                        }
                      },
                      "description": "Placement networks/subnets to use for vip placement. Field introduced in 18.2.5."
                    },
                    "port_uuid": {
                      "type": "string",
                      "description": "(internal-use) Network port assigned to the Vip IP address. Field introduced in 17.1.1."
                    },
                    "prefix_length": {
                      "type": "integer",
                      "description": "Mask applied for the Vip, non-default mask supported only for wildcard Vip. Allowed values are 0-32. Field introduced in 20.1.1.",
                            "default": 32
                    },
                    "subnet": {
                      "title": "IpAddrPrefix",
                      "required": [
                        "ip_addr",
                        "mask"
                      ],
                      "type": "object",
                      "properties": {
                        "ip_addr": {
                          "type": "object",
                          "description": ""
                        },
                        "mask": {
                          "type": "integer",
                          "description": "Number of mask."
                        }
                      }
                    },
                    "subnet6": {
                      "title": "IpAddrPrefix",
                      "required": [
                        "ip_addr",
                        "mask"
                      ],
                      "type": "object",
                      "properties": {
                        "ip_addr": {
                          "type": "object",
                          "description": ""
                        },
                        "mask": {
                          "type": "integer",
                          "description": "Number of mask."
                        }
                      }
                    },
                    "subnet6_uuid": {
                      "type": "string",
                      "description": "If auto_allocate_ip is True, then the subnet for the Vip IPv6 address allocation. This field is applicable only if the VirtualService belongs to an Openstack or AWS cloud, in which case it is mandatory, if auto_allocate is selected. Field introduced in 18.1.1."
                    },
                    "subnet_uuid": {
                      "type": "string",
                      "description": "If auto_allocate_ip is True, then the subnet for the Vip IP address allocation. This field is applicable only if the VirtualService belongs to an Openstack or AWS cloud, in which case it is mandatory, if auto_allocate is selected. Field introduced in 17.1.1."
                    },
                    "vip_id": {
                      "type": "string",
                      "description": "Unique ID associated with the vip. Field introduced in 17.1.1."
                    }
                  }
                },
                "description": "List of Virtual Service IPs and other shareable entities. Field introduced in 17.1.1."
              },
              "vrf_context_ref": {
                "type": "string",
                "description": "Virtual Routing Context that the Virtual Service is bound to. This is used to provide the isolation of the set of networks the application is attached to. It is a reference to an object of type VrfContext. Field introduced in 17.1.1."
              },
              "vsvip_cloud_config_cksum": {
                "type": "string",
                "description": "Checksum of cloud configuration for VsVip. Internally set by cloud connector. Field introduced in 17.2.9, 18.1.2."
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "VsVip",
          "required": [
            "name"
          ],
          "type": "object",
          "properties": {
            "_last_modified": {
              "type": "string",
              "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
            },
            "cloud_ref": {
              "type": "string",
              "description": "It is a reference to an object of type Cloud. Field introduced in 17.1.1."
            },
            "dns_info": {
              "type": "array",
              "items": {
                "title": "DnsInfo",
                "type": "object",
                "properties": {
                  "algorithm": {
                    "type": "string",
                    "description": "Specifies the algorithm to pick the IP address(es) to be returned, when multiple entries are configured. This does not apply if num_records_in_response is 0. Default is consistent hash. Enum options - DNS_RECORD_RESPONSE_ROUND_ROBIN, DNS_RECORD_RESPONSE_CONSISTENT_HASH. Field introduced in 17.1.1.",
                    "default": "DNS_RECORD_RESPONSE_CONSISTENT_HASH"
                  },
                  "cname": {
                    "title": "DnsCnameRdata",
                    "required": [
                      "cname"
                    ],
                    "type": "object",
                    "properties": {
                      "cname": {
                        "type": "string",
                        "description": "Canonical name."
                      }
                    }
                  },
                  "fqdn": {
                    "type": "string",
                    "description": "Fully qualified domain name."
                  },
                  "metadata": {
                    "type": "string",
                    "description": "Any metadata associated with this record. Field introduced in 17.2.2."
                  },
                  "num_records_in_response": {
                    "type": "integer",
                    "description": "Specifies the number of records returned for this FQDN. Enter 0 to return all records. Default is 0. Allowed values are 0-20. Special values are 0- 'Return all records'. Field introduced in 17.1.1.",
                        "default": 1
                  },
                  "ttl": {
                    "type": "integer",
                    "description": "Time to live for fqdn record. Default value is chosen from DNS profile for this cloud if no value provided."
                  },
                  "type": {
                    "type": "string",
                    "description": "DNS record type. Enum options - DNS_RECORD_OTHER, DNS_RECORD_A, DNS_RECORD_NS, DNS_RECORD_CNAME, DNS_RECORD_SOA, DNS_RECORD_PTR, DNS_RECORD_HINFO, DNS_RECORD_MX, DNS_RECORD_TXT, DNS_RECORD_RP, DNS_RECORD_DNSKEY, DNS_RECORD_AAAA, DNS_RECORD_SRV, DNS_RECORD_OPT, DNS_RECORD_RRSIG, DNS_RECORD_AXFR, DNS_RECORD_ANY.",
                    "default": "DNS_RECORD_A"
                  }
                }
              },
              "description": "Service discovery specific data including fully qualified domain name, type and Time-To-Live of the DNS record. Field introduced in 17.1.1."
            },
            "east_west_placement": {
              "type": "boolean",
              "description": "Force placement on all Service Engines in the Service Engine Group (Container clouds only). Field introduced in 17.1.1."
            },
            "name": {
              "type": "string",
              "description": "Name for the VsVip object. Field introduced in 17.1.1."
            },
            "tenant_ref": {
              "type": "string",
              "description": "It is a reference to an object of type Tenant. Field introduced in 17.1.1."
            },
            "tier1_lr": {
              "type": "string",
              "description": "This sets the placement scope of virtualservice to given tier1 logical router in Nsx-t. Field introduced in 20.1.1."
            },
            "url": {
              "type": "string",
              "description": "url"
            },
            "use_standard_alb": {
              "type": "boolean",
              "description": "This overrides the cloud level default and needs to match the SE Group value in which it will be used if the SE Group use_standard_alb value is set. This is only used when FIP is used for VS on Azure Cloud. Field introduced in 18.2.3."
            },
            "uuid": {
              "type": "string",
              "description": "UUID of the VsVip object. Field introduced in 17.1.1."
            },
            "vip": {
              "type": "array",
              "items": {
                "title": "Vip",
                "required": [
                  "vip_id"
                ],
                "type": "object",
                "properties": {
                  "auto_allocate_floating_ip": {
                    "type": "boolean",
                    "description": "Auto-allocate floating/elastic IP from the Cloud infrastructure. Field introduced in 17.1.1."
                  },
                  "auto_allocate_ip": {
                    "type": "boolean",
                    "description": "Auto-allocate VIP from the provided subnet. Field introduced in 17.1.1."
                  },
                  "auto_allocate_ip_type": {
                    "type": "string",
                    "description": "Specifies whether to auto-allocate only a V4 address, only a V6 address, or one of each type. Enum options - V4_ONLY, V6_ONLY, V4_V6. Field introduced in 18.1.1.",
                    "default": "V4_ONLY"
                  },
                  "availability_zone": {
                    "type": "string",
                    "description": "Availability-zone to place the Virtual Service. Field introduced in 17.1.1."
                  },
                  "avi_allocated_fip": {
                    "type": "boolean",
                    "description": "(internal-use) FIP allocated by Avi in the Cloud infrastructure. Field introduced in 17.1.1."
                  },
                  "avi_allocated_vip": {
                    "type": "boolean",
                    "description": "(internal-use) VIP allocated by Avi in the Cloud infrastructure. Field introduced in 17.1.1."
                  },
                  "discovered_networks": {
                    "type": "array",
                    "items": {
                      "title": "DiscoveredNetwork",
                      "required": [
                        "network_ref"
                      ],
                      "type": "object",
                      "properties": {
                        "network_ref": {
                          "type": "string",
                          "description": "Discovered network for this IP. It is a reference to an object of type Network."
                        },
                        "subnet": {
                          "type": "array",
                          "items": {
                            "title": "IpAddrPrefix",
                            "required": [
                              "ip_addr",
                              "mask"
                            ],
                            "type": "object",
                            "properties": {
                              "ip_addr": {
                                "type": "object",
                                "description": ""
                              },
                              "mask": {
                                "type": "integer",
                                "description": "Number of mask."
                              }
                            }
                          },
                          "description": "Discovered subnet for this IP."
                        },
                        "subnet6": {
                          "type": "array",
                          "items": {
                            "title": "IpAddrPrefix",
                            "required": [
                              "ip_addr",
                              "mask"
                            ],
                            "type": "object",
                            "properties": {
                              "ip_addr": {
                                "type": "object",
                                "description": ""
                              },
                              "mask": {
                                "type": "integer",
                                "description": "Number of mask."
                              }
                            }
                          },
                          "description": "Discovered IPv6 subnet for this IP. Field introduced in 18.1.1."
                        }
                      }
                    },
                    "description": "Discovered networks providing reachability for client facing Vip IP. Field introduced in 17.1.1."
                  },
                  "enabled": {
                    "type": "boolean",
                    "description": "Enable or disable the Vip. Field introduced in 17.1.1.",
                    "default": true
                  },
                  "floating_ip": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "floating_ip6": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "floating_subnet6_uuid": {
                    "type": "string",
                    "description": "If auto_allocate_floating_ip is True and more than one floating-ip subnets exist, then the subnet for the floating IPv6 address allocation. Field introduced in 18.1.1."
                  },
                  "floating_subnet_uuid": {
                    "type": "string",
                    "description": "If auto_allocate_floating_ip is True and more than one floating-ip subnets exist, then the subnet for the floating IP address allocation. Field introduced in 17.1.1."
                  },
                  "ip6_address": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "ip_address": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "ipam_network_subnet": {
                    "title": "IPNetworkSubnet",
                    "type": "object",
                    "properties": {
                      "network_ref": {
                        "type": "string",
                        "description": "Network for VirtualService IP allocation with Vantage as the IPAM provider. Network should be created before this is configured. It is a reference to an object of type Network."
                      },
                      "subnet": {
                        "title": "IpAddrPrefix",
                        "required": [
                          "ip_addr",
                          "mask"
                        ],
                        "type": "object",
                        "properties": {
                          "ip_addr": {
                            "type": "object",
                            "description": ""
                          },
                          "mask": {
                            "type": "integer",
                            "description": "Number of mask."
                          }
                        }
                      },
                      "subnet6": {
                        "title": "IpAddrPrefix",
                        "required": [
                          "ip_addr",
                          "mask"
                        ],
                        "type": "object",
                        "properties": {
                          "ip_addr": {
                            "type": "object",
                            "description": ""
                          },
                          "mask": {
                            "type": "integer",
                            "description": "Number of mask."
                          }
                        }
                      },
                      "subnet6_uuid": {
                        "type": "string",
                        "description": "Subnet UUID or Name or Prefix for VirtualService IPv6 allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed. Field introduced in 18.1.1."
                      },
                      "subnet_uuid": {
                        "type": "string",
                        "description": "Subnet UUID or Name or Prefix for VirtualService IP allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed."
                      }
                    }
                  },
                  "network_ref": {
                    "type": "string",
                    "description": "Manually override the network on which the Vip is placed. It is a reference to an object of type Network. Field introduced in 17.1.1."
                  },
                  "placement_networks": {
                    "type": "array",
                    "items": {
                      "title": "VipPlacementNetwork",
                      "type": "object",
                      "properties": {
                        "network_ref": {
                          "type": "string",
                          "description": "Network to use for vip placement. It is a reference to an object of type Network. Field introduced in 18.2.5."
                        },
                        "subnet": {
                          "title": "IpAddrPrefix",
                          "required": [
                            "ip_addr",
                            "mask"
                          ],
                          "type": "object",
                          "properties": {
                            "ip_addr": {
                              "type": "object",
                              "description": ""
                            },
                            "mask": {
                              "type": "integer",
                              "description": "Number of mask."
                            }
                          }
                        },
                        "subnet6": {
                          "title": "IpAddrPrefix",
                          "required": [
                            "ip_addr",
                            "mask"
                          ],
                          "type": "object",
                          "properties": {
                            "ip_addr": {
                              "type": "object",
                              "description": ""
                            },
                            "mask": {
                              "type": "integer",
                              "description": "Number of mask."
                            }
                          }
                        }
                      }
                    },
                    "description": "Placement networks/subnets to use for vip placement. Field introduced in 18.2.5."
                  },
                  "port_uuid": {
                    "type": "string",
                    "description": "(internal-use) Network port assigned to the Vip IP address. Field introduced in 17.1.1."
                  },
                  "prefix_length": {
                    "type": "integer",
                    "description": "Mask applied for the Vip, non-default mask supported only for wildcard Vip. Allowed values are 0-32. Field introduced in 20.1.1.",
                        "default": 32
                  },
                  "subnet": {
                    "title": "IpAddrPrefix",
                    "required": [
                      "ip_addr",
                      "mask"
                    ],
                    "type": "object",
                    "properties": {
                      "ip_addr": {
                        "type": "object",
                        "description": ""
                      },
                      "mask": {
                        "type": "integer",
                        "description": "Number of mask."
                      }
                    }
                  },
                  "subnet6": {
                    "title": "IpAddrPrefix",
                    "required": [
                      "ip_addr",
                      "mask"
                    ],
                    "type": "object",
                    "properties": {
                      "ip_addr": {
                        "type": "object",
                        "description": ""
                      },
                      "mask": {
                        "type": "integer",
                        "description": "Number of mask."
                      }
                    }
                  },
                  "subnet6_uuid": {
                    "type": "string",
                    "description": "If auto_allocate_ip is True, then the subnet for the Vip IPv6 address allocation. This field is applicable only if the VirtualService belongs to an Openstack or AWS cloud, in which case it is mandatory, if auto_allocate is selected. Field introduced in 18.1.1."
                  },
                  "subnet_uuid": {
                    "type": "string",
                    "description": "If auto_allocate_ip is True, then the subnet for the Vip IP address allocation. This field is applicable only if the VirtualService belongs to an Openstack or AWS cloud, in which case it is mandatory, if auto_allocate is selected. Field introduced in 17.1.1."
                  },
                  "vip_id": {
                    "type": "string",
                    "description": "Unique ID associated with the vip. Field introduced in 17.1.1."
                  }
                }
              },
              "description": "List of Virtual Service IPs and other shareable entities. Field introduced in 17.1.1."
            },
            "vrf_context_ref": {
              "type": "string",
              "description": "Virtual Routing Context that the Virtual Service is bound to. This is used to provide the isolation of the set of networks the application is attached to. It is a reference to an object of type VrfContext. Field introduced in 17.1.1."
            },
            "vsvip_cloud_config_cksum": {
              "type": "string",
              "description": "Checksum of cloud configuration for VsVip. Internally set by cloud connector. Field introduced in 17.2.9, 18.1.2."
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/vsvipPOST"
      },
      "task": true
    },
    {
      "name": "vsvipByUuidGET",
      "summary": "VsvipByUuid_GET",
      "description": "VsvipByUuid_GET",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "object name: string",
          "required": false,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "fields",
          "type": "string",
          "info": "List of fields to be returned for the resource. Some fields like name, URL, uuid etc. are always returned.: string",
          "required": false,
          "schema": {
            "title": "fields",
            "type": "string"
          }
        },
        {
          "name": "includeName",
          "type": "boolean",
          "info": "All the Avi REST reference URIs have a name suffix as URI#name. It is useful to get the referenced resource name without performing get on that object.: boolean",
          "required": false,
          "schema": {
            "title": "includeName",
            "type": "boolean"
          }
        },
        {
          "name": "skipDefault",
          "type": "boolean",
          "info": "Default values are not set.: boolean",
          "required": false,
          "schema": {
            "title": "skipDefault",
            "type": "boolean"
          }
        },
        {
          "name": "joinSubresources",
          "type": "string",
          "info": "It automatically returns additional dependent resources like runtime. Eg. join_subresources=runtime.: string",
          "required": false,
          "schema": {
            "title": "joinSubresources",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "VsVip",
          "required": [
            "name"
          ],
          "type": "object",
          "properties": {
            "_last_modified": {
              "type": "string",
              "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
            },
            "cloud_ref": {
              "type": "string",
              "description": "It is a reference to an object of type Cloud. Field introduced in 17.1.1."
            },
            "dns_info": {
              "type": "array",
              "items": {
                "title": "DnsInfo",
                "type": "object",
                "properties": {
                  "algorithm": {
                    "type": "string",
                    "description": "Specifies the algorithm to pick the IP address(es) to be returned, when multiple entries are configured. This does not apply if num_records_in_response is 0. Default is consistent hash. Enum options - DNS_RECORD_RESPONSE_ROUND_ROBIN, DNS_RECORD_RESPONSE_CONSISTENT_HASH. Field introduced in 17.1.1.",
                    "default": "DNS_RECORD_RESPONSE_CONSISTENT_HASH"
                  },
                  "cname": {
                    "title": "DnsCnameRdata",
                    "required": [
                      "cname"
                    ],
                    "type": "object",
                    "properties": {
                      "cname": {
                        "type": "string",
                        "description": "Canonical name."
                      }
                    }
                  },
                  "fqdn": {
                    "type": "string",
                    "description": "Fully qualified domain name."
                  },
                  "metadata": {
                    "type": "string",
                    "description": "Any metadata associated with this record. Field introduced in 17.2.2."
                  },
                  "num_records_in_response": {
                    "type": "integer",
                    "description": "Specifies the number of records returned for this FQDN. Enter 0 to return all records. Default is 0. Allowed values are 0-20. Special values are 0- 'Return all records'. Field introduced in 17.1.1.",
                        "default": 1
                  },
                  "ttl": {
                    "type": "integer",
                    "description": "Time to live for fqdn record. Default value is chosen from DNS profile for this cloud if no value provided."
                  },
                  "type": {
                    "type": "string",
                    "description": "DNS record type. Enum options - DNS_RECORD_OTHER, DNS_RECORD_A, DNS_RECORD_NS, DNS_RECORD_CNAME, DNS_RECORD_SOA, DNS_RECORD_PTR, DNS_RECORD_HINFO, DNS_RECORD_MX, DNS_RECORD_TXT, DNS_RECORD_RP, DNS_RECORD_DNSKEY, DNS_RECORD_AAAA, DNS_RECORD_SRV, DNS_RECORD_OPT, DNS_RECORD_RRSIG, DNS_RECORD_AXFR, DNS_RECORD_ANY.",
                    "default": "DNS_RECORD_A"
                  }
                }
              },
              "description": "Service discovery specific data including fully qualified domain name, type and Time-To-Live of the DNS record. Field introduced in 17.1.1."
            },
            "east_west_placement": {
              "type": "boolean",
              "description": "Force placement on all Service Engines in the Service Engine Group (Container clouds only). Field introduced in 17.1.1."
            },
            "name": {
              "type": "string",
              "description": "Name for the VsVip object. Field introduced in 17.1.1."
            },
            "tenant_ref": {
              "type": "string",
              "description": "It is a reference to an object of type Tenant. Field introduced in 17.1.1."
            },
            "tier1_lr": {
              "type": "string",
              "description": "This sets the placement scope of virtualservice to given tier1 logical router in Nsx-t. Field introduced in 20.1.1."
            },
            "url": {
              "type": "string",
              "description": "url"
            },
            "use_standard_alb": {
              "type": "boolean",
              "description": "This overrides the cloud level default and needs to match the SE Group value in which it will be used if the SE Group use_standard_alb value is set. This is only used when FIP is used for VS on Azure Cloud. Field introduced in 18.2.3."
            },
            "uuid": {
              "type": "string",
              "description": "UUID of the VsVip object. Field introduced in 17.1.1."
            },
            "vip": {
              "type": "array",
              "items": {
                "title": "Vip",
                "required": [
                  "vip_id"
                ],
                "type": "object",
                "properties": {
                  "auto_allocate_floating_ip": {
                    "type": "boolean",
                    "description": "Auto-allocate floating/elastic IP from the Cloud infrastructure. Field introduced in 17.1.1."
                  },
                  "auto_allocate_ip": {
                    "type": "boolean",
                    "description": "Auto-allocate VIP from the provided subnet. Field introduced in 17.1.1."
                  },
                  "auto_allocate_ip_type": {
                    "type": "string",
                    "description": "Specifies whether to auto-allocate only a V4 address, only a V6 address, or one of each type. Enum options - V4_ONLY, V6_ONLY, V4_V6. Field introduced in 18.1.1.",
                    "default": "V4_ONLY"
                  },
                  "availability_zone": {
                    "type": "string",
                    "description": "Availability-zone to place the Virtual Service. Field introduced in 17.1.1."
                  },
                  "avi_allocated_fip": {
                    "type": "boolean",
                    "description": "(internal-use) FIP allocated by Avi in the Cloud infrastructure. Field introduced in 17.1.1."
                  },
                  "avi_allocated_vip": {
                    "type": "boolean",
                    "description": "(internal-use) VIP allocated by Avi in the Cloud infrastructure. Field introduced in 17.1.1."
                  },
                  "discovered_networks": {
                    "type": "array",
                    "items": {
                      "title": "DiscoveredNetwork",
                      "required": [
                        "network_ref"
                      ],
                      "type": "object",
                      "properties": {
                        "network_ref": {
                          "type": "string",
                          "description": "Discovered network for this IP. It is a reference to an object of type Network."
                        },
                        "subnet": {
                          "type": "array",
                          "items": {
                            "title": "IpAddrPrefix",
                            "required": [
                              "ip_addr",
                              "mask"
                            ],
                            "type": "object",
                            "properties": {
                              "ip_addr": {
                                "type": "object",
                                "description": ""
                              },
                              "mask": {
                                "type": "integer",
                                "description": "Number of mask."
                              }
                            }
                          },
                          "description": "Discovered subnet for this IP."
                        },
                        "subnet6": {
                          "type": "array",
                          "items": {
                            "title": "IpAddrPrefix",
                            "required": [
                              "ip_addr",
                              "mask"
                            ],
                            "type": "object",
                            "properties": {
                              "ip_addr": {
                                "type": "object",
                                "description": ""
                              },
                              "mask": {
                                "type": "integer",
                                "description": "Number of mask."
                              }
                            }
                          },
                          "description": "Discovered IPv6 subnet for this IP. Field introduced in 18.1.1."
                        }
                      }
                    },
                    "description": "Discovered networks providing reachability for client facing Vip IP. Field introduced in 17.1.1."
                  },
                  "enabled": {
                    "type": "boolean",
                    "description": "Enable or disable the Vip. Field introduced in 17.1.1.",
                    "default": true
                  },
                  "floating_ip": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "floating_ip6": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "floating_subnet6_uuid": {
                    "type": "string",
                    "description": "If auto_allocate_floating_ip is True and more than one floating-ip subnets exist, then the subnet for the floating IPv6 address allocation. Field introduced in 18.1.1."
                  },
                  "floating_subnet_uuid": {
                    "type": "string",
                    "description": "If auto_allocate_floating_ip is True and more than one floating-ip subnets exist, then the subnet for the floating IP address allocation. Field introduced in 17.1.1."
                  },
                  "ip6_address": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "ip_address": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "ipam_network_subnet": {
                    "title": "IPNetworkSubnet",
                    "type": "object",
                    "properties": {
                      "network_ref": {
                        "type": "string",
                        "description": "Network for VirtualService IP allocation with Vantage as the IPAM provider. Network should be created before this is configured. It is a reference to an object of type Network."
                      },
                      "subnet": {
                        "title": "IpAddrPrefix",
                        "required": [
                          "ip_addr",
                          "mask"
                        ],
                        "type": "object",
                        "properties": {
                          "ip_addr": {
                            "type": "object",
                            "description": ""
                          },
                          "mask": {
                            "type": "integer",
                            "description": "Number of mask."
                          }
                        }
                      },
                      "subnet6": {
                        "title": "IpAddrPrefix",
                        "required": [
                          "ip_addr",
                          "mask"
                        ],
                        "type": "object",
                        "properties": {
                          "ip_addr": {
                            "type": "object",
                            "description": ""
                          },
                          "mask": {
                            "type": "integer",
                            "description": "Number of mask."
                          }
                        }
                      },
                      "subnet6_uuid": {
                        "type": "string",
                        "description": "Subnet UUID or Name or Prefix for VirtualService IPv6 allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed. Field introduced in 18.1.1."
                      },
                      "subnet_uuid": {
                        "type": "string",
                        "description": "Subnet UUID or Name or Prefix for VirtualService IP allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed."
                      }
                    }
                  },
                  "network_ref": {
                    "type": "string",
                    "description": "Manually override the network on which the Vip is placed. It is a reference to an object of type Network. Field introduced in 17.1.1."
                  },
                  "placement_networks": {
                    "type": "array",
                    "items": {
                      "title": "VipPlacementNetwork",
                      "type": "object",
                      "properties": {
                        "network_ref": {
                          "type": "string",
                          "description": "Network to use for vip placement. It is a reference to an object of type Network. Field introduced in 18.2.5."
                        },
                        "subnet": {
                          "title": "IpAddrPrefix",
                          "required": [
                            "ip_addr",
                            "mask"
                          ],
                          "type": "object",
                          "properties": {
                            "ip_addr": {
                              "type": "object",
                              "description": ""
                            },
                            "mask": {
                              "type": "integer",
                              "description": "Number of mask."
                            }
                          }
                        },
                        "subnet6": {
                          "title": "IpAddrPrefix",
                          "required": [
                            "ip_addr",
                            "mask"
                          ],
                          "type": "object",
                          "properties": {
                            "ip_addr": {
                              "type": "object",
                              "description": ""
                            },
                            "mask": {
                              "type": "integer",
                              "description": "Number of mask."
                            }
                          }
                        }
                      }
                    },
                    "description": "Placement networks/subnets to use for vip placement. Field introduced in 18.2.5."
                  },
                  "port_uuid": {
                    "type": "string",
                    "description": "(internal-use) Network port assigned to the Vip IP address. Field introduced in 17.1.1."
                  },
                  "prefix_length": {
                    "type": "integer",
                    "description": "Mask applied for the Vip, non-default mask supported only for wildcard Vip. Allowed values are 0-32. Field introduced in 20.1.1.",
                        "default": 32
                  },
                  "subnet": {
                    "title": "IpAddrPrefix",
                    "required": [
                      "ip_addr",
                      "mask"
                    ],
                    "type": "object",
                    "properties": {
                      "ip_addr": {
                        "type": "object",
                        "description": ""
                      },
                      "mask": {
                        "type": "integer",
                        "description": "Number of mask."
                      }
                    }
                  },
                  "subnet6": {
                    "title": "IpAddrPrefix",
                    "required": [
                      "ip_addr",
                      "mask"
                    ],
                    "type": "object",
                    "properties": {
                      "ip_addr": {
                        "type": "object",
                        "description": ""
                      },
                      "mask": {
                        "type": "integer",
                        "description": "Number of mask."
                      }
                    }
                  },
                  "subnet6_uuid": {
                    "type": "string",
                    "description": "If auto_allocate_ip is True, then the subnet for the Vip IPv6 address allocation. This field is applicable only if the VirtualService belongs to an Openstack or AWS cloud, in which case it is mandatory, if auto_allocate is selected. Field introduced in 18.1.1."
                  },
                  "subnet_uuid": {
                    "type": "string",
                    "description": "If auto_allocate_ip is True, then the subnet for the Vip IP address allocation. This field is applicable only if the VirtualService belongs to an Openstack or AWS cloud, in which case it is mandatory, if auto_allocate is selected. Field introduced in 17.1.1."
                  },
                  "vip_id": {
                    "type": "string",
                    "description": "Unique ID associated with the vip. Field introduced in 17.1.1."
                  }
                }
              },
              "description": "List of Virtual Service IPs and other shareable entities. Field introduced in 17.1.1."
            },
            "vrf_context_ref": {
              "type": "string",
              "description": "Virtual Routing Context that the Virtual Service is bound to. This is used to provide the isolation of the set of networks the application is attached to. It is a reference to an object of type VrfContext. Field introduced in 17.1.1."
            },
            "vsvip_cloud_config_cksum": {
              "type": "string",
              "description": "Checksum of cloud configuration for VsVip. Internally set by cloud connector. Field introduced in 17.2.9, 18.1.2."
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/vsvipByUuidGET"
      },
      "task": true
    },
    {
      "name": "vsvipByUuidPUT",
      "summary": "VsvipByUuid_PUT",
      "description": "VsvipByUuid_PUT",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "object name: string",
          "required": false,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "VsVip object creation: {\"_last_modified\": \"string\", \"cloud_ref\": \"string\", \"dns_info\": [{\"algorithm\": \"string\", \"cname\": {\"cname\": \"string\"}, \"fqdn\": \"string\", \"metadata\": \"string\", \"num_records_in_response\": 123, \"ttl\": 123, \"type\": \"string\"}], \"east_west_placement\": \"boolean\", \"name\": \"string\", \"tenant_ref\": \"string\", \"tier1_lr\": \"string\", \"url\": \"string\", \"use_standard_alb\": \"boolean\", \"uuid\": \"string\", \"vip\": [{\"auto_allocate_floating_ip\": \"boolean\", \"auto_allocate_ip\": \"boolean\", \"auto_allocate_ip_type\": \"string\", \"availability_zone\": \"string\", \"avi_allocated_fip\": \"boolean\", \"avi_allocated_vip\": \"boolean\", \"discovered_networks\": [{\"network_ref\": \"string\", \"subnet\": [{\"ip_addr\": \"object\", \"mask\": 123}], \"subnet6\": [{\"ip_addr\": \"object\", \"mask\": 123}]}], \"enabled\": \"boolean\", \"floating_ip\": {\"addr\": \"string\", \"type\": \"string\"}, \"floating_ip6\": {\"addr\": \"string\", \"type\": \"string\"}, \"floating_subnet6_uuid\": \"string\", \"floating_subnet_uuid\": \"string\", \"ip6_address\": {\"addr\": \"string\", \"type\": \"string\"}, \"ip_address\": {\"addr\": \"string\", \"type\": \"string\"}, \"ipam_network_subnet\": {\"network_ref\": \"string\", \"subnet\": {\"ip_addr\": \"object\", \"mask\": 123}, \"subnet6\": {\"ip_addr\": \"object\", \"mask\": 123}, \"subnet6_uuid\": \"string\", \"subnet_uuid\": \"string\"}, \"network_ref\": \"string\", \"placement_networks\": [{\"network_ref\": \"string\", \"subnet\": {\"ip_addr\": \"object\", \"mask\": 123}, \"subnet6\": {\"ip_addr\": \"object\", \"mask\": 123}}], \"port_uuid\": \"string\", \"prefix_length\": 123, \"subnet\": {\"ip_addr\": \"object\", \"mask\": 123}, \"subnet6\": {\"ip_addr\": \"object\", \"mask\": 123}, \"subnet6_uuid\": \"string\", \"subnet_uuid\": \"string\", \"vip_id\": \"string\"}], \"vrf_context_ref\": \"string\", \"vsvip_cloud_config_cksum\": \"string\"}",
          "required": true,
          "schema": {
            "title": "VsVip",
            "required": [
              "name"
            ],
            "type": "object",
            "properties": {
              "_last_modified": {
                "type": "string",
                "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
              },
              "cloud_ref": {
                "type": "string",
                "description": "It is a reference to an object of type Cloud. Field introduced in 17.1.1."
              },
              "dns_info": {
                "type": "array",
                "items": {
                  "title": "DnsInfo",
                  "type": "object",
                  "properties": {
                    "algorithm": {
                      "type": "string",
                      "description": "Specifies the algorithm to pick the IP address(es) to be returned, when multiple entries are configured. This does not apply if num_records_in_response is 0. Default is consistent hash. Enum options - DNS_RECORD_RESPONSE_ROUND_ROBIN, DNS_RECORD_RESPONSE_CONSISTENT_HASH. Field introduced in 17.1.1.",
                      "default": "DNS_RECORD_RESPONSE_CONSISTENT_HASH"
                    },
                    "cname": {
                      "title": "DnsCnameRdata",
                      "required": [
                        "cname"
                      ],
                      "type": "object",
                      "properties": {
                        "cname": {
                          "type": "string",
                          "description": "Canonical name."
                        }
                      }
                    },
                    "fqdn": {
                      "type": "string",
                      "description": "Fully qualified domain name."
                    },
                    "metadata": {
                      "type": "string",
                      "description": "Any metadata associated with this record. Field introduced in 17.2.2."
                    },
                    "num_records_in_response": {
                      "type": "integer",
                      "description": "Specifies the number of records returned for this FQDN. Enter 0 to return all records. Default is 0. Allowed values are 0-20. Special values are 0- 'Return all records'. Field introduced in 17.1.1.",
                            "default": 1
                    },
                    "ttl": {
                      "type": "integer",
                      "description": "Time to live for fqdn record. Default value is chosen from DNS profile for this cloud if no value provided."
                    },
                    "type": {
                      "type": "string",
                      "description": "DNS record type. Enum options - DNS_RECORD_OTHER, DNS_RECORD_A, DNS_RECORD_NS, DNS_RECORD_CNAME, DNS_RECORD_SOA, DNS_RECORD_PTR, DNS_RECORD_HINFO, DNS_RECORD_MX, DNS_RECORD_TXT, DNS_RECORD_RP, DNS_RECORD_DNSKEY, DNS_RECORD_AAAA, DNS_RECORD_SRV, DNS_RECORD_OPT, DNS_RECORD_RRSIG, DNS_RECORD_AXFR, DNS_RECORD_ANY.",
                      "default": "DNS_RECORD_A"
                    }
                  }
                },
                "description": "Service discovery specific data including fully qualified domain name, type and Time-To-Live of the DNS record. Field introduced in 17.1.1."
              },
              "east_west_placement": {
                "type": "boolean",
                "description": "Force placement on all Service Engines in the Service Engine Group (Container clouds only). Field introduced in 17.1.1."
              },
              "name": {
                "type": "string",
                "description": "Name for the VsVip object. Field introduced in 17.1.1."
              },
              "tenant_ref": {
                "type": "string",
                "description": "It is a reference to an object of type Tenant. Field introduced in 17.1.1."
              },
              "tier1_lr": {
                "type": "string",
                "description": "This sets the placement scope of virtualservice to given tier1 logical router in Nsx-t. Field introduced in 20.1.1."
              },
              "url": {
                "type": "string",
                "description": "url"
              },
              "use_standard_alb": {
                "type": "boolean",
                "description": "This overrides the cloud level default and needs to match the SE Group value in which it will be used if the SE Group use_standard_alb value is set. This is only used when FIP is used for VS on Azure Cloud. Field introduced in 18.2.3."
              },
              "uuid": {
                "type": "string",
                "description": "UUID of the VsVip object. Field introduced in 17.1.1."
              },
              "vip": {
                "type": "array",
                "items": {
                  "title": "Vip",
                  "required": [
                    "vip_id"
                  ],
                  "type": "object",
                  "properties": {
                    "auto_allocate_floating_ip": {
                      "type": "boolean",
                      "description": "Auto-allocate floating/elastic IP from the Cloud infrastructure. Field introduced in 17.1.1."
                    },
                    "auto_allocate_ip": {
                      "type": "boolean",
                      "description": "Auto-allocate VIP from the provided subnet. Field introduced in 17.1.1."
                    },
                    "auto_allocate_ip_type": {
                      "type": "string",
                      "description": "Specifies whether to auto-allocate only a V4 address, only a V6 address, or one of each type. Enum options - V4_ONLY, V6_ONLY, V4_V6. Field introduced in 18.1.1.",
                      "default": "V4_ONLY"
                    },
                    "availability_zone": {
                      "type": "string",
                      "description": "Availability-zone to place the Virtual Service. Field introduced in 17.1.1."
                    },
                    "avi_allocated_fip": {
                      "type": "boolean",
                      "description": "(internal-use) FIP allocated by Avi in the Cloud infrastructure. Field introduced in 17.1.1."
                    },
                    "avi_allocated_vip": {
                      "type": "boolean",
                      "description": "(internal-use) VIP allocated by Avi in the Cloud infrastructure. Field introduced in 17.1.1."
                    },
                    "discovered_networks": {
                      "type": "array",
                      "items": {
                        "title": "DiscoveredNetwork",
                        "required": [
                          "network_ref"
                        ],
                        "type": "object",
                        "properties": {
                          "network_ref": {
                            "type": "string",
                            "description": "Discovered network for this IP. It is a reference to an object of type Network."
                          },
                          "subnet": {
                            "type": "array",
                            "items": {
                              "title": "IpAddrPrefix",
                              "required": [
                                "ip_addr",
                                "mask"
                              ],
                              "type": "object",
                              "properties": {
                                "ip_addr": {
                                  "type": "object",
                                  "description": ""
                                },
                                "mask": {
                                  "type": "integer",
                                  "description": "Number of mask."
                                }
                              }
                            },
                            "description": "Discovered subnet for this IP."
                          },
                          "subnet6": {
                            "type": "array",
                            "items": {
                              "title": "IpAddrPrefix",
                              "required": [
                                "ip_addr",
                                "mask"
                              ],
                              "type": "object",
                              "properties": {
                                "ip_addr": {
                                  "type": "object",
                                  "description": ""
                                },
                                "mask": {
                                  "type": "integer",
                                  "description": "Number of mask."
                                }
                              }
                            },
                            "description": "Discovered IPv6 subnet for this IP. Field introduced in 18.1.1."
                          }
                        }
                      },
                      "description": "Discovered networks providing reachability for client facing Vip IP. Field introduced in 17.1.1."
                    },
                    "enabled": {
                      "type": "boolean",
                      "description": "Enable or disable the Vip. Field introduced in 17.1.1.",
                      "default": true
                    },
                    "floating_ip": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "floating_ip6": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "floating_subnet6_uuid": {
                      "type": "string",
                      "description": "If auto_allocate_floating_ip is True and more than one floating-ip subnets exist, then the subnet for the floating IPv6 address allocation. Field introduced in 18.1.1."
                    },
                    "floating_subnet_uuid": {
                      "type": "string",
                      "description": "If auto_allocate_floating_ip is True and more than one floating-ip subnets exist, then the subnet for the floating IP address allocation. Field introduced in 17.1.1."
                    },
                    "ip6_address": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "ip_address": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "ipam_network_subnet": {
                      "title": "IPNetworkSubnet",
                      "type": "object",
                      "properties": {
                        "network_ref": {
                          "type": "string",
                          "description": "Network for VirtualService IP allocation with Vantage as the IPAM provider. Network should be created before this is configured. It is a reference to an object of type Network."
                        },
                        "subnet": {
                          "title": "IpAddrPrefix",
                          "required": [
                            "ip_addr",
                            "mask"
                          ],
                          "type": "object",
                          "properties": {
                            "ip_addr": {
                              "type": "object",
                              "description": ""
                            },
                            "mask": {
                              "type": "integer",
                              "description": "Number of mask."
                            }
                          }
                        },
                        "subnet6": {
                          "title": "IpAddrPrefix",
                          "required": [
                            "ip_addr",
                            "mask"
                          ],
                          "type": "object",
                          "properties": {
                            "ip_addr": {
                              "type": "object",
                              "description": ""
                            },
                            "mask": {
                              "type": "integer",
                              "description": "Number of mask."
                            }
                          }
                        },
                        "subnet6_uuid": {
                          "type": "string",
                          "description": "Subnet UUID or Name or Prefix for VirtualService IPv6 allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed. Field introduced in 18.1.1."
                        },
                        "subnet_uuid": {
                          "type": "string",
                          "description": "Subnet UUID or Name or Prefix for VirtualService IP allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed."
                        }
                      }
                    },
                    "network_ref": {
                      "type": "string",
                      "description": "Manually override the network on which the Vip is placed. It is a reference to an object of type Network. Field introduced in 17.1.1."
                    },
                    "placement_networks": {
                      "type": "array",
                      "items": {
                        "title": "VipPlacementNetwork",
                        "type": "object",
                        "properties": {
                          "network_ref": {
                            "type": "string",
                            "description": "Network to use for vip placement. It is a reference to an object of type Network. Field introduced in 18.2.5."
                          },
                          "subnet": {
                            "title": "IpAddrPrefix",
                            "required": [
                              "ip_addr",
                              "mask"
                            ],
                            "type": "object",
                            "properties": {
                              "ip_addr": {
                                "type": "object",
                                "description": ""
                              },
                              "mask": {
                                "type": "integer",
                                "description": "Number of mask."
                              }
                            }
                          },
                          "subnet6": {
                            "title": "IpAddrPrefix",
                            "required": [
                              "ip_addr",
                              "mask"
                            ],
                            "type": "object",
                            "properties": {
                              "ip_addr": {
                                "type": "object",
                                "description": ""
                              },
                              "mask": {
                                "type": "integer",
                                "description": "Number of mask."
                              }
                            }
                          }
                        }
                      },
                      "description": "Placement networks/subnets to use for vip placement. Field introduced in 18.2.5."
                    },
                    "port_uuid": {
                      "type": "string",
                      "description": "(internal-use) Network port assigned to the Vip IP address. Field introduced in 17.1.1."
                    },
                    "prefix_length": {
                      "type": "integer",
                      "description": "Mask applied for the Vip, non-default mask supported only for wildcard Vip. Allowed values are 0-32. Field introduced in 20.1.1.",
                            "default": 32
                    },
                    "subnet": {
                      "title": "IpAddrPrefix",
                      "required": [
                        "ip_addr",
                        "mask"
                      ],
                      "type": "object",
                      "properties": {
                        "ip_addr": {
                          "type": "object",
                          "description": ""
                        },
                        "mask": {
                          "type": "integer",
                          "description": "Number of mask."
                        }
                      }
                    },
                    "subnet6": {
                      "title": "IpAddrPrefix",
                      "required": [
                        "ip_addr",
                        "mask"
                      ],
                      "type": "object",
                      "properties": {
                        "ip_addr": {
                          "type": "object",
                          "description": ""
                        },
                        "mask": {
                          "type": "integer",
                          "description": "Number of mask."
                        }
                      }
                    },
                    "subnet6_uuid": {
                      "type": "string",
                      "description": "If auto_allocate_ip is True, then the subnet for the Vip IPv6 address allocation. This field is applicable only if the VirtualService belongs to an Openstack or AWS cloud, in which case it is mandatory, if auto_allocate is selected. Field introduced in 18.1.1."
                    },
                    "subnet_uuid": {
                      "type": "string",
                      "description": "If auto_allocate_ip is True, then the subnet for the Vip IP address allocation. This field is applicable only if the VirtualService belongs to an Openstack or AWS cloud, in which case it is mandatory, if auto_allocate is selected. Field introduced in 17.1.1."
                    },
                    "vip_id": {
                      "type": "string",
                      "description": "Unique ID associated with the vip. Field introduced in 17.1.1."
                    }
                  }
                },
                "description": "List of Virtual Service IPs and other shareable entities. Field introduced in 17.1.1."
              },
              "vrf_context_ref": {
                "type": "string",
                "description": "Virtual Routing Context that the Virtual Service is bound to. This is used to provide the isolation of the set of networks the application is attached to. It is a reference to an object of type VrfContext. Field introduced in 17.1.1."
              },
              "vsvip_cloud_config_cksum": {
                "type": "string",
                "description": "Checksum of cloud configuration for VsVip. Internally set by cloud connector. Field introduced in 17.2.9, 18.1.2."
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "VsVip",
          "required": [
            "name"
          ],
          "type": "object",
          "properties": {
            "_last_modified": {
              "type": "string",
              "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
            },
            "cloud_ref": {
              "type": "string",
              "description": "It is a reference to an object of type Cloud. Field introduced in 17.1.1."
            },
            "dns_info": {
              "type": "array",
              "items": {
                "title": "DnsInfo",
                "type": "object",
                "properties": {
                  "algorithm": {
                    "type": "string",
                    "description": "Specifies the algorithm to pick the IP address(es) to be returned, when multiple entries are configured. This does not apply if num_records_in_response is 0. Default is consistent hash. Enum options - DNS_RECORD_RESPONSE_ROUND_ROBIN, DNS_RECORD_RESPONSE_CONSISTENT_HASH. Field introduced in 17.1.1.",
                    "default": "DNS_RECORD_RESPONSE_CONSISTENT_HASH"
                  },
                  "cname": {
                    "title": "DnsCnameRdata",
                    "required": [
                      "cname"
                    ],
                    "type": "object",
                    "properties": {
                      "cname": {
                        "type": "string",
                        "description": "Canonical name."
                      }
                    }
                  },
                  "fqdn": {
                    "type": "string",
                    "description": "Fully qualified domain name."
                  },
                  "metadata": {
                    "type": "string",
                    "description": "Any metadata associated with this record. Field introduced in 17.2.2."
                  },
                  "num_records_in_response": {
                    "type": "integer",
                    "description": "Specifies the number of records returned for this FQDN. Enter 0 to return all records. Default is 0. Allowed values are 0-20. Special values are 0- 'Return all records'. Field introduced in 17.1.1.",
                        "default": 1
                  },
                  "ttl": {
                    "type": "integer",
                    "description": "Time to live for fqdn record. Default value is chosen from DNS profile for this cloud if no value provided."
                  },
                  "type": {
                    "type": "string",
                    "description": "DNS record type. Enum options - DNS_RECORD_OTHER, DNS_RECORD_A, DNS_RECORD_NS, DNS_RECORD_CNAME, DNS_RECORD_SOA, DNS_RECORD_PTR, DNS_RECORD_HINFO, DNS_RECORD_MX, DNS_RECORD_TXT, DNS_RECORD_RP, DNS_RECORD_DNSKEY, DNS_RECORD_AAAA, DNS_RECORD_SRV, DNS_RECORD_OPT, DNS_RECORD_RRSIG, DNS_RECORD_AXFR, DNS_RECORD_ANY.",
                    "default": "DNS_RECORD_A"
                  }
                }
              },
              "description": "Service discovery specific data including fully qualified domain name, type and Time-To-Live of the DNS record. Field introduced in 17.1.1."
            },
            "east_west_placement": {
              "type": "boolean",
              "description": "Force placement on all Service Engines in the Service Engine Group (Container clouds only). Field introduced in 17.1.1."
            },
            "name": {
              "type": "string",
              "description": "Name for the VsVip object. Field introduced in 17.1.1."
            },
            "tenant_ref": {
              "type": "string",
              "description": "It is a reference to an object of type Tenant. Field introduced in 17.1.1."
            },
            "tier1_lr": {
              "type": "string",
              "description": "This sets the placement scope of virtualservice to given tier1 logical router in Nsx-t. Field introduced in 20.1.1."
            },
            "url": {
              "type": "string",
              "description": "url"
            },
            "use_standard_alb": {
              "type": "boolean",
              "description": "This overrides the cloud level default and needs to match the SE Group value in which it will be used if the SE Group use_standard_alb value is set. This is only used when FIP is used for VS on Azure Cloud. Field introduced in 18.2.3."
            },
            "uuid": {
              "type": "string",
              "description": "UUID of the VsVip object. Field introduced in 17.1.1."
            },
            "vip": {
              "type": "array",
              "items": {
                "title": "Vip",
                "required": [
                  "vip_id"
                ],
                "type": "object",
                "properties": {
                  "auto_allocate_floating_ip": {
                    "type": "boolean",
                    "description": "Auto-allocate floating/elastic IP from the Cloud infrastructure. Field introduced in 17.1.1."
                  },
                  "auto_allocate_ip": {
                    "type": "boolean",
                    "description": "Auto-allocate VIP from the provided subnet. Field introduced in 17.1.1."
                  },
                  "auto_allocate_ip_type": {
                    "type": "string",
                    "description": "Specifies whether to auto-allocate only a V4 address, only a V6 address, or one of each type. Enum options - V4_ONLY, V6_ONLY, V4_V6. Field introduced in 18.1.1.",
                    "default": "V4_ONLY"
                  },
                  "availability_zone": {
                    "type": "string",
                    "description": "Availability-zone to place the Virtual Service. Field introduced in 17.1.1."
                  },
                  "avi_allocated_fip": {
                    "type": "boolean",
                    "description": "(internal-use) FIP allocated by Avi in the Cloud infrastructure. Field introduced in 17.1.1."
                  },
                  "avi_allocated_vip": {
                    "type": "boolean",
                    "description": "(internal-use) VIP allocated by Avi in the Cloud infrastructure. Field introduced in 17.1.1."
                  },
                  "discovered_networks": {
                    "type": "array",
                    "items": {
                      "title": "DiscoveredNetwork",
                      "required": [
                        "network_ref"
                      ],
                      "type": "object",
                      "properties": {
                        "network_ref": {
                          "type": "string",
                          "description": "Discovered network for this IP. It is a reference to an object of type Network."
                        },
                        "subnet": {
                          "type": "array",
                          "items": {
                            "title": "IpAddrPrefix",
                            "required": [
                              "ip_addr",
                              "mask"
                            ],
                            "type": "object",
                            "properties": {
                              "ip_addr": {
                                "type": "object",
                                "description": ""
                              },
                              "mask": {
                                "type": "integer",
                                "description": "Number of mask."
                              }
                            }
                          },
                          "description": "Discovered subnet for this IP."
                        },
                        "subnet6": {
                          "type": "array",
                          "items": {
                            "title": "IpAddrPrefix",
                            "required": [
                              "ip_addr",
                              "mask"
                            ],
                            "type": "object",
                            "properties": {
                              "ip_addr": {
                                "type": "object",
                                "description": ""
                              },
                              "mask": {
                                "type": "integer",
                                "description": "Number of mask."
                              }
                            }
                          },
                          "description": "Discovered IPv6 subnet for this IP. Field introduced in 18.1.1."
                        }
                      }
                    },
                    "description": "Discovered networks providing reachability for client facing Vip IP. Field introduced in 17.1.1."
                  },
                  "enabled": {
                    "type": "boolean",
                    "description": "Enable or disable the Vip. Field introduced in 17.1.1.",
                    "default": true
                  },
                  "floating_ip": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "floating_ip6": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "floating_subnet6_uuid": {
                    "type": "string",
                    "description": "If auto_allocate_floating_ip is True and more than one floating-ip subnets exist, then the subnet for the floating IPv6 address allocation. Field introduced in 18.1.1."
                  },
                  "floating_subnet_uuid": {
                    "type": "string",
                    "description": "If auto_allocate_floating_ip is True and more than one floating-ip subnets exist, then the subnet for the floating IP address allocation. Field introduced in 17.1.1."
                  },
                  "ip6_address": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "ip_address": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "ipam_network_subnet": {
                    "title": "IPNetworkSubnet",
                    "type": "object",
                    "properties": {
                      "network_ref": {
                        "type": "string",
                        "description": "Network for VirtualService IP allocation with Vantage as the IPAM provider. Network should be created before this is configured. It is a reference to an object of type Network."
                      },
                      "subnet": {
                        "title": "IpAddrPrefix",
                        "required": [
                          "ip_addr",
                          "mask"
                        ],
                        "type": "object",
                        "properties": {
                          "ip_addr": {
                            "type": "object",
                            "description": ""
                          },
                          "mask": {
                            "type": "integer",
                            "description": "Number of mask."
                          }
                        }
                      },
                      "subnet6": {
                        "title": "IpAddrPrefix",
                        "required": [
                          "ip_addr",
                          "mask"
                        ],
                        "type": "object",
                        "properties": {
                          "ip_addr": {
                            "type": "object",
                            "description": ""
                          },
                          "mask": {
                            "type": "integer",
                            "description": "Number of mask."
                          }
                        }
                      },
                      "subnet6_uuid": {
                        "type": "string",
                        "description": "Subnet UUID or Name or Prefix for VirtualService IPv6 allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed. Field introduced in 18.1.1."
                      },
                      "subnet_uuid": {
                        "type": "string",
                        "description": "Subnet UUID or Name or Prefix for VirtualService IP allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed."
                      }
                    }
                  },
                  "network_ref": {
                    "type": "string",
                    "description": "Manually override the network on which the Vip is placed. It is a reference to an object of type Network. Field introduced in 17.1.1."
                  },
                  "placement_networks": {
                    "type": "array",
                    "items": {
                      "title": "VipPlacementNetwork",
                      "type": "object",
                      "properties": {
                        "network_ref": {
                          "type": "string",
                          "description": "Network to use for vip placement. It is a reference to an object of type Network. Field introduced in 18.2.5."
                        },
                        "subnet": {
                          "title": "IpAddrPrefix",
                          "required": [
                            "ip_addr",
                            "mask"
                          ],
                          "type": "object",
                          "properties": {
                            "ip_addr": {
                              "type": "object",
                              "description": ""
                            },
                            "mask": {
                              "type": "integer",
                              "description": "Number of mask."
                            }
                          }
                        },
                        "subnet6": {
                          "title": "IpAddrPrefix",
                          "required": [
                            "ip_addr",
                            "mask"
                          ],
                          "type": "object",
                          "properties": {
                            "ip_addr": {
                              "type": "object",
                              "description": ""
                            },
                            "mask": {
                              "type": "integer",
                              "description": "Number of mask."
                            }
                          }
                        }
                      }
                    },
                    "description": "Placement networks/subnets to use for vip placement. Field introduced in 18.2.5."
                  },
                  "port_uuid": {
                    "type": "string",
                    "description": "(internal-use) Network port assigned to the Vip IP address. Field introduced in 17.1.1."
                  },
                  "prefix_length": {
                    "type": "integer",
                    "description": "Mask applied for the Vip, non-default mask supported only for wildcard Vip. Allowed values are 0-32. Field introduced in 20.1.1.",
                        "default": 32
                  },
                  "subnet": {
                    "title": "IpAddrPrefix",
                    "required": [
                      "ip_addr",
                      "mask"
                    ],
                    "type": "object",
                    "properties": {
                      "ip_addr": {
                        "type": "object",
                        "description": ""
                      },
                      "mask": {
                        "type": "integer",
                        "description": "Number of mask."
                      }
                    }
                  },
                  "subnet6": {
                    "title": "IpAddrPrefix",
                    "required": [
                      "ip_addr",
                      "mask"
                    ],
                    "type": "object",
                    "properties": {
                      "ip_addr": {
                        "type": "object",
                        "description": ""
                      },
                      "mask": {
                        "type": "integer",
                        "description": "Number of mask."
                      }
                    }
                  },
                  "subnet6_uuid": {
                    "type": "string",
                    "description": "If auto_allocate_ip is True, then the subnet for the Vip IPv6 address allocation. This field is applicable only if the VirtualService belongs to an Openstack or AWS cloud, in which case it is mandatory, if auto_allocate is selected. Field introduced in 18.1.1."
                  },
                  "subnet_uuid": {
                    "type": "string",
                    "description": "If auto_allocate_ip is True, then the subnet for the Vip IP address allocation. This field is applicable only if the VirtualService belongs to an Openstack or AWS cloud, in which case it is mandatory, if auto_allocate is selected. Field introduced in 17.1.1."
                  },
                  "vip_id": {
                    "type": "string",
                    "description": "Unique ID associated with the vip. Field introduced in 17.1.1."
                  }
                }
              },
              "description": "List of Virtual Service IPs and other shareable entities. Field introduced in 17.1.1."
            },
            "vrf_context_ref": {
              "type": "string",
              "description": "Virtual Routing Context that the Virtual Service is bound to. This is used to provide the isolation of the set of networks the application is attached to. It is a reference to an object of type VrfContext. Field introduced in 17.1.1."
            },
            "vsvip_cloud_config_cksum": {
              "type": "string",
              "description": "Checksum of cloud configuration for VsVip. Internally set by cloud connector. Field introduced in 17.2.9, 18.1.2."
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/vsvipByUuidPUT"
      },
      "task": true
    },
    {
      "name": "vsvipByUuidPATCH",
      "summary": "VsvipByUuid_PATCH",
      "description": "VsvipByUuid_PATCH",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "object name: string",
          "required": false,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "VsVip object creation: {\"_last_modified\": \"string\", \"cloud_ref\": \"string\", \"dns_info\": [{\"algorithm\": \"string\", \"cname\": {\"cname\": \"string\"}, \"fqdn\": \"string\", \"metadata\": \"string\", \"num_records_in_response\": 123, \"ttl\": 123, \"type\": \"string\"}], \"east_west_placement\": \"boolean\", \"name\": \"string\", \"tenant_ref\": \"string\", \"tier1_lr\": \"string\", \"url\": \"string\", \"use_standard_alb\": \"boolean\", \"uuid\": \"string\", \"vip\": [{\"auto_allocate_floating_ip\": \"boolean\", \"auto_allocate_ip\": \"boolean\", \"auto_allocate_ip_type\": \"string\", \"availability_zone\": \"string\", \"avi_allocated_fip\": \"boolean\", \"avi_allocated_vip\": \"boolean\", \"discovered_networks\": [{\"network_ref\": \"string\", \"subnet\": [{\"ip_addr\": \"object\", \"mask\": 123}], \"subnet6\": [{\"ip_addr\": \"object\", \"mask\": 123}]}], \"enabled\": \"boolean\", \"floating_ip\": {\"addr\": \"string\", \"type\": \"string\"}, \"floating_ip6\": {\"addr\": \"string\", \"type\": \"string\"}, \"floating_subnet6_uuid\": \"string\", \"floating_subnet_uuid\": \"string\", \"ip6_address\": {\"addr\": \"string\", \"type\": \"string\"}, \"ip_address\": {\"addr\": \"string\", \"type\": \"string\"}, \"ipam_network_subnet\": {\"network_ref\": \"string\", \"subnet\": {\"ip_addr\": \"object\", \"mask\": 123}, \"subnet6\": {\"ip_addr\": \"object\", \"mask\": 123}, \"subnet6_uuid\": \"string\", \"subnet_uuid\": \"string\"}, \"network_ref\": \"string\", \"placement_networks\": [{\"network_ref\": \"string\", \"subnet\": {\"ip_addr\": \"object\", \"mask\": 123}, \"subnet6\": {\"ip_addr\": \"object\", \"mask\": 123}}], \"port_uuid\": \"string\", \"prefix_length\": 123, \"subnet\": {\"ip_addr\": \"object\", \"mask\": 123}, \"subnet6\": {\"ip_addr\": \"object\", \"mask\": 123}, \"subnet6_uuid\": \"string\", \"subnet_uuid\": \"string\", \"vip_id\": \"string\"}], \"vrf_context_ref\": \"string\", \"vsvip_cloud_config_cksum\": \"string\"}",
          "required": true,
          "schema": {
            "title": "VsVip",
            "required": [
              "name"
            ],
            "type": "object",
            "properties": {
              "_last_modified": {
                "type": "string",
                "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
              },
              "cloud_ref": {
                "type": "string",
                "description": "It is a reference to an object of type Cloud. Field introduced in 17.1.1."
              },
              "dns_info": {
                "type": "array",
                "items": {
                  "title": "DnsInfo",
                  "type": "object",
                  "properties": {
                    "algorithm": {
                      "type": "string",
                      "description": "Specifies the algorithm to pick the IP address(es) to be returned, when multiple entries are configured. This does not apply if num_records_in_response is 0. Default is consistent hash. Enum options - DNS_RECORD_RESPONSE_ROUND_ROBIN, DNS_RECORD_RESPONSE_CONSISTENT_HASH. Field introduced in 17.1.1.",
                      "default": "DNS_RECORD_RESPONSE_CONSISTENT_HASH"
                    },
                    "cname": {
                      "title": "DnsCnameRdata",
                      "required": [
                        "cname"
                      ],
                      "type": "object",
                      "properties": {
                        "cname": {
                          "type": "string",
                          "description": "Canonical name."
                        }
                      }
                    },
                    "fqdn": {
                      "type": "string",
                      "description": "Fully qualified domain name."
                    },
                    "metadata": {
                      "type": "string",
                      "description": "Any metadata associated with this record. Field introduced in 17.2.2."
                    },
                    "num_records_in_response": {
                      "type": "integer",
                      "description": "Specifies the number of records returned for this FQDN. Enter 0 to return all records. Default is 0. Allowed values are 0-20. Special values are 0- 'Return all records'. Field introduced in 17.1.1.",
                            "default": 1
                    },
                    "ttl": {
                      "type": "integer",
                      "description": "Time to live for fqdn record. Default value is chosen from DNS profile for this cloud if no value provided."
                    },
                    "type": {
                      "type": "string",
                      "description": "DNS record type. Enum options - DNS_RECORD_OTHER, DNS_RECORD_A, DNS_RECORD_NS, DNS_RECORD_CNAME, DNS_RECORD_SOA, DNS_RECORD_PTR, DNS_RECORD_HINFO, DNS_RECORD_MX, DNS_RECORD_TXT, DNS_RECORD_RP, DNS_RECORD_DNSKEY, DNS_RECORD_AAAA, DNS_RECORD_SRV, DNS_RECORD_OPT, DNS_RECORD_RRSIG, DNS_RECORD_AXFR, DNS_RECORD_ANY.",
                      "default": "DNS_RECORD_A"
                    }
                  }
                },
                "description": "Service discovery specific data including fully qualified domain name, type and Time-To-Live of the DNS record. Field introduced in 17.1.1."
              },
              "east_west_placement": {
                "type": "boolean",
                "description": "Force placement on all Service Engines in the Service Engine Group (Container clouds only). Field introduced in 17.1.1."
              },
              "name": {
                "type": "string",
                "description": "Name for the VsVip object. Field introduced in 17.1.1."
              },
              "tenant_ref": {
                "type": "string",
                "description": "It is a reference to an object of type Tenant. Field introduced in 17.1.1."
              },
              "tier1_lr": {
                "type": "string",
                "description": "This sets the placement scope of virtualservice to given tier1 logical router in Nsx-t. Field introduced in 20.1.1."
              },
              "url": {
                "type": "string",
                "description": "url"
              },
              "use_standard_alb": {
                "type": "boolean",
                "description": "This overrides the cloud level default and needs to match the SE Group value in which it will be used if the SE Group use_standard_alb value is set. This is only used when FIP is used for VS on Azure Cloud. Field introduced in 18.2.3."
              },
              "uuid": {
                "type": "string",
                "description": "UUID of the VsVip object. Field introduced in 17.1.1."
              },
              "vip": {
                "type": "array",
                "items": {
                  "title": "Vip",
                  "required": [
                    "vip_id"
                  ],
                  "type": "object",
                  "properties": {
                    "auto_allocate_floating_ip": {
                      "type": "boolean",
                      "description": "Auto-allocate floating/elastic IP from the Cloud infrastructure. Field introduced in 17.1.1."
                    },
                    "auto_allocate_ip": {
                      "type": "boolean",
                      "description": "Auto-allocate VIP from the provided subnet. Field introduced in 17.1.1."
                    },
                    "auto_allocate_ip_type": {
                      "type": "string",
                      "description": "Specifies whether to auto-allocate only a V4 address, only a V6 address, or one of each type. Enum options - V4_ONLY, V6_ONLY, V4_V6. Field introduced in 18.1.1.",
                      "default": "V4_ONLY"
                    },
                    "availability_zone": {
                      "type": "string",
                      "description": "Availability-zone to place the Virtual Service. Field introduced in 17.1.1."
                    },
                    "avi_allocated_fip": {
                      "type": "boolean",
                      "description": "(internal-use) FIP allocated by Avi in the Cloud infrastructure. Field introduced in 17.1.1."
                    },
                    "avi_allocated_vip": {
                      "type": "boolean",
                      "description": "(internal-use) VIP allocated by Avi in the Cloud infrastructure. Field introduced in 17.1.1."
                    },
                    "discovered_networks": {
                      "type": "array",
                      "items": {
                        "title": "DiscoveredNetwork",
                        "required": [
                          "network_ref"
                        ],
                        "type": "object",
                        "properties": {
                          "network_ref": {
                            "type": "string",
                            "description": "Discovered network for this IP. It is a reference to an object of type Network."
                          },
                          "subnet": {
                            "type": "array",
                            "items": {
                              "title": "IpAddrPrefix",
                              "required": [
                                "ip_addr",
                                "mask"
                              ],
                              "type": "object",
                              "properties": {
                                "ip_addr": {
                                  "type": "object",
                                  "description": ""
                                },
                                "mask": {
                                  "type": "integer",
                                  "description": "Number of mask."
                                }
                              }
                            },
                            "description": "Discovered subnet for this IP."
                          },
                          "subnet6": {
                            "type": "array",
                            "items": {
                              "title": "IpAddrPrefix",
                              "required": [
                                "ip_addr",
                                "mask"
                              ],
                              "type": "object",
                              "properties": {
                                "ip_addr": {
                                  "type": "object",
                                  "description": ""
                                },
                                "mask": {
                                  "type": "integer",
                                  "description": "Number of mask."
                                }
                              }
                            },
                            "description": "Discovered IPv6 subnet for this IP. Field introduced in 18.1.1."
                          }
                        }
                      },
                      "description": "Discovered networks providing reachability for client facing Vip IP. Field introduced in 17.1.1."
                    },
                    "enabled": {
                      "type": "boolean",
                      "description": "Enable or disable the Vip. Field introduced in 17.1.1.",
                      "default": true
                    },
                    "floating_ip": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "floating_ip6": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "floating_subnet6_uuid": {
                      "type": "string",
                      "description": "If auto_allocate_floating_ip is True and more than one floating-ip subnets exist, then the subnet for the floating IPv6 address allocation. Field introduced in 18.1.1."
                    },
                    "floating_subnet_uuid": {
                      "type": "string",
                      "description": "If auto_allocate_floating_ip is True and more than one floating-ip subnets exist, then the subnet for the floating IP address allocation. Field introduced in 17.1.1."
                    },
                    "ip6_address": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "ip_address": {
                      "title": "IpAddr",
                      "required": [
                        "addr",
                        "type"
                      ],
                      "type": "object",
                      "properties": {
                        "addr": {
                          "type": "string",
                          "description": "IP address."
                        },
                        "type": {
                          "type": "string",
                          "description": "Enum options - V4, DNS, V6."
                        }
                      }
                    },
                    "ipam_network_subnet": {
                      "title": "IPNetworkSubnet",
                      "type": "object",
                      "properties": {
                        "network_ref": {
                          "type": "string",
                          "description": "Network for VirtualService IP allocation with Vantage as the IPAM provider. Network should be created before this is configured. It is a reference to an object of type Network."
                        },
                        "subnet": {
                          "title": "IpAddrPrefix",
                          "required": [
                            "ip_addr",
                            "mask"
                          ],
                          "type": "object",
                          "properties": {
                            "ip_addr": {
                              "type": "object",
                              "description": ""
                            },
                            "mask": {
                              "type": "integer",
                              "description": "Number of mask."
                            }
                          }
                        },
                        "subnet6": {
                          "title": "IpAddrPrefix",
                          "required": [
                            "ip_addr",
                            "mask"
                          ],
                          "type": "object",
                          "properties": {
                            "ip_addr": {
                              "type": "object",
                              "description": ""
                            },
                            "mask": {
                              "type": "integer",
                              "description": "Number of mask."
                            }
                          }
                        },
                        "subnet6_uuid": {
                          "type": "string",
                          "description": "Subnet UUID or Name or Prefix for VirtualService IPv6 allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed. Field introduced in 18.1.1."
                        },
                        "subnet_uuid": {
                          "type": "string",
                          "description": "Subnet UUID or Name or Prefix for VirtualService IP allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed."
                        }
                      }
                    },
                    "network_ref": {
                      "type": "string",
                      "description": "Manually override the network on which the Vip is placed. It is a reference to an object of type Network. Field introduced in 17.1.1."
                    },
                    "placement_networks": {
                      "type": "array",
                      "items": {
                        "title": "VipPlacementNetwork",
                        "type": "object",
                        "properties": {
                          "network_ref": {
                            "type": "string",
                            "description": "Network to use for vip placement. It is a reference to an object of type Network. Field introduced in 18.2.5."
                          },
                          "subnet": {
                            "title": "IpAddrPrefix",
                            "required": [
                              "ip_addr",
                              "mask"
                            ],
                            "type": "object",
                            "properties": {
                              "ip_addr": {
                                "type": "object",
                                "description": ""
                              },
                              "mask": {
                                "type": "integer",
                                "description": "Number of mask."
                              }
                            }
                          },
                          "subnet6": {
                            "title": "IpAddrPrefix",
                            "required": [
                              "ip_addr",
                              "mask"
                            ],
                            "type": "object",
                            "properties": {
                              "ip_addr": {
                                "type": "object",
                                "description": ""
                              },
                              "mask": {
                                "type": "integer",
                                "description": "Number of mask."
                              }
                            }
                          }
                        }
                      },
                      "description": "Placement networks/subnets to use for vip placement. Field introduced in 18.2.5."
                    },
                    "port_uuid": {
                      "type": "string",
                      "description": "(internal-use) Network port assigned to the Vip IP address. Field introduced in 17.1.1."
                    },
                    "prefix_length": {
                      "type": "integer",
                      "description": "Mask applied for the Vip, non-default mask supported only for wildcard Vip. Allowed values are 0-32. Field introduced in 20.1.1.",
                            "default": 32
                    },
                    "subnet": {
                      "title": "IpAddrPrefix",
                      "required": [
                        "ip_addr",
                        "mask"
                      ],
                      "type": "object",
                      "properties": {
                        "ip_addr": {
                          "type": "object",
                          "description": ""
                        },
                        "mask": {
                          "type": "integer",
                          "description": "Number of mask."
                        }
                      }
                    },
                    "subnet6": {
                      "title": "IpAddrPrefix",
                      "required": [
                        "ip_addr",
                        "mask"
                      ],
                      "type": "object",
                      "properties": {
                        "ip_addr": {
                          "type": "object",
                          "description": ""
                        },
                        "mask": {
                          "type": "integer",
                          "description": "Number of mask."
                        }
                      }
                    },
                    "subnet6_uuid": {
                      "type": "string",
                      "description": "If auto_allocate_ip is True, then the subnet for the Vip IPv6 address allocation. This field is applicable only if the VirtualService belongs to an Openstack or AWS cloud, in which case it is mandatory, if auto_allocate is selected. Field introduced in 18.1.1."
                    },
                    "subnet_uuid": {
                      "type": "string",
                      "description": "If auto_allocate_ip is True, then the subnet for the Vip IP address allocation. This field is applicable only if the VirtualService belongs to an Openstack or AWS cloud, in which case it is mandatory, if auto_allocate is selected. Field introduced in 17.1.1."
                    },
                    "vip_id": {
                      "type": "string",
                      "description": "Unique ID associated with the vip. Field introduced in 17.1.1."
                    }
                  }
                },
                "description": "List of Virtual Service IPs and other shareable entities. Field introduced in 17.1.1."
              },
              "vrf_context_ref": {
                "type": "string",
                "description": "Virtual Routing Context that the Virtual Service is bound to. This is used to provide the isolation of the set of networks the application is attached to. It is a reference to an object of type VrfContext. Field introduced in 17.1.1."
              },
              "vsvip_cloud_config_cksum": {
                "type": "string",
                "description": "Checksum of cloud configuration for VsVip. Internally set by cloud connector. Field introduced in 17.2.9, 18.1.2."
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "VsVip",
          "required": [
            "name"
          ],
          "type": "object",
          "properties": {
            "_last_modified": {
              "type": "string",
              "description": "UNIX time since epoch in microseconds. Units(MICROSECONDS)."
            },
            "cloud_ref": {
              "type": "string",
              "description": "It is a reference to an object of type Cloud. Field introduced in 17.1.1."
            },
            "dns_info": {
              "type": "array",
              "items": {
                "title": "DnsInfo",
                "type": "object",
                "properties": {
                  "algorithm": {
                    "type": "string",
                    "description": "Specifies the algorithm to pick the IP address(es) to be returned, when multiple entries are configured. This does not apply if num_records_in_response is 0. Default is consistent hash. Enum options - DNS_RECORD_RESPONSE_ROUND_ROBIN, DNS_RECORD_RESPONSE_CONSISTENT_HASH. Field introduced in 17.1.1.",
                    "default": "DNS_RECORD_RESPONSE_CONSISTENT_HASH"
                  },
                  "cname": {
                    "title": "DnsCnameRdata",
                    "required": [
                      "cname"
                    ],
                    "type": "object",
                    "properties": {
                      "cname": {
                        "type": "string",
                        "description": "Canonical name."
                      }
                    }
                  },
                  "fqdn": {
                    "type": "string",
                    "description": "Fully qualified domain name."
                  },
                  "metadata": {
                    "type": "string",
                    "description": "Any metadata associated with this record. Field introduced in 17.2.2."
                  },
                  "num_records_in_response": {
                    "type": "integer",
                    "description": "Specifies the number of records returned for this FQDN. Enter 0 to return all records. Default is 0. Allowed values are 0-20. Special values are 0- 'Return all records'. Field introduced in 17.1.1.",
                        "default": 1
                  },
                  "ttl": {
                    "type": "integer",
                    "description": "Time to live for fqdn record. Default value is chosen from DNS profile for this cloud if no value provided."
                  },
                  "type": {
                    "type": "string",
                    "description": "DNS record type. Enum options - DNS_RECORD_OTHER, DNS_RECORD_A, DNS_RECORD_NS, DNS_RECORD_CNAME, DNS_RECORD_SOA, DNS_RECORD_PTR, DNS_RECORD_HINFO, DNS_RECORD_MX, DNS_RECORD_TXT, DNS_RECORD_RP, DNS_RECORD_DNSKEY, DNS_RECORD_AAAA, DNS_RECORD_SRV, DNS_RECORD_OPT, DNS_RECORD_RRSIG, DNS_RECORD_AXFR, DNS_RECORD_ANY.",
                    "default": "DNS_RECORD_A"
                  }
                }
              },
              "description": "Service discovery specific data including fully qualified domain name, type and Time-To-Live of the DNS record. Field introduced in 17.1.1."
            },
            "east_west_placement": {
              "type": "boolean",
              "description": "Force placement on all Service Engines in the Service Engine Group (Container clouds only). Field introduced in 17.1.1."
            },
            "name": {
              "type": "string",
              "description": "Name for the VsVip object. Field introduced in 17.1.1."
            },
            "tenant_ref": {
              "type": "string",
              "description": "It is a reference to an object of type Tenant. Field introduced in 17.1.1."
            },
            "tier1_lr": {
              "type": "string",
              "description": "This sets the placement scope of virtualservice to given tier1 logical router in Nsx-t. Field introduced in 20.1.1."
            },
            "url": {
              "type": "string",
              "description": "url"
            },
            "use_standard_alb": {
              "type": "boolean",
              "description": "This overrides the cloud level default and needs to match the SE Group value in which it will be used if the SE Group use_standard_alb value is set. This is only used when FIP is used for VS on Azure Cloud. Field introduced in 18.2.3."
            },
            "uuid": {
              "type": "string",
              "description": "UUID of the VsVip object. Field introduced in 17.1.1."
            },
            "vip": {
              "type": "array",
              "items": {
                "title": "Vip",
                "required": [
                  "vip_id"
                ],
                "type": "object",
                "properties": {
                  "auto_allocate_floating_ip": {
                    "type": "boolean",
                    "description": "Auto-allocate floating/elastic IP from the Cloud infrastructure. Field introduced in 17.1.1."
                  },
                  "auto_allocate_ip": {
                    "type": "boolean",
                    "description": "Auto-allocate VIP from the provided subnet. Field introduced in 17.1.1."
                  },
                  "auto_allocate_ip_type": {
                    "type": "string",
                    "description": "Specifies whether to auto-allocate only a V4 address, only a V6 address, or one of each type. Enum options - V4_ONLY, V6_ONLY, V4_V6. Field introduced in 18.1.1.",
                    "default": "V4_ONLY"
                  },
                  "availability_zone": {
                    "type": "string",
                    "description": "Availability-zone to place the Virtual Service. Field introduced in 17.1.1."
                  },
                  "avi_allocated_fip": {
                    "type": "boolean",
                    "description": "(internal-use) FIP allocated by Avi in the Cloud infrastructure. Field introduced in 17.1.1."
                  },
                  "avi_allocated_vip": {
                    "type": "boolean",
                    "description": "(internal-use) VIP allocated by Avi in the Cloud infrastructure. Field introduced in 17.1.1."
                  },
                  "discovered_networks": {
                    "type": "array",
                    "items": {
                      "title": "DiscoveredNetwork",
                      "required": [
                        "network_ref"
                      ],
                      "type": "object",
                      "properties": {
                        "network_ref": {
                          "type": "string",
                          "description": "Discovered network for this IP. It is a reference to an object of type Network."
                        },
                        "subnet": {
                          "type": "array",
                          "items": {
                            "title": "IpAddrPrefix",
                            "required": [
                              "ip_addr",
                              "mask"
                            ],
                            "type": "object",
                            "properties": {
                              "ip_addr": {
                                "type": "object",
                                "description": ""
                              },
                              "mask": {
                                "type": "integer",
                                "description": "Number of mask."
                              }
                            }
                          },
                          "description": "Discovered subnet for this IP."
                        },
                        "subnet6": {
                          "type": "array",
                          "items": {
                            "title": "IpAddrPrefix",
                            "required": [
                              "ip_addr",
                              "mask"
                            ],
                            "type": "object",
                            "properties": {
                              "ip_addr": {
                                "type": "object",
                                "description": ""
                              },
                              "mask": {
                                "type": "integer",
                                "description": "Number of mask."
                              }
                            }
                          },
                          "description": "Discovered IPv6 subnet for this IP. Field introduced in 18.1.1."
                        }
                      }
                    },
                    "description": "Discovered networks providing reachability for client facing Vip IP. Field introduced in 17.1.1."
                  },
                  "enabled": {
                    "type": "boolean",
                    "description": "Enable or disable the Vip. Field introduced in 17.1.1.",
                    "default": true
                  },
                  "floating_ip": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "floating_ip6": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "floating_subnet6_uuid": {
                    "type": "string",
                    "description": "If auto_allocate_floating_ip is True and more than one floating-ip subnets exist, then the subnet for the floating IPv6 address allocation. Field introduced in 18.1.1."
                  },
                  "floating_subnet_uuid": {
                    "type": "string",
                    "description": "If auto_allocate_floating_ip is True and more than one floating-ip subnets exist, then the subnet for the floating IP address allocation. Field introduced in 17.1.1."
                  },
                  "ip6_address": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "ip_address": {
                    "title": "IpAddr",
                    "required": [
                      "addr",
                      "type"
                    ],
                    "type": "object",
                    "properties": {
                      "addr": {
                        "type": "string",
                        "description": "IP address."
                      },
                      "type": {
                        "type": "string",
                        "description": "Enum options - V4, DNS, V6."
                      }
                    }
                  },
                  "ipam_network_subnet": {
                    "title": "IPNetworkSubnet",
                    "type": "object",
                    "properties": {
                      "network_ref": {
                        "type": "string",
                        "description": "Network for VirtualService IP allocation with Vantage as the IPAM provider. Network should be created before this is configured. It is a reference to an object of type Network."
                      },
                      "subnet": {
                        "title": "IpAddrPrefix",
                        "required": [
                          "ip_addr",
                          "mask"
                        ],
                        "type": "object",
                        "properties": {
                          "ip_addr": {
                            "type": "object",
                            "description": ""
                          },
                          "mask": {
                            "type": "integer",
                            "description": "Number of mask."
                          }
                        }
                      },
                      "subnet6": {
                        "title": "IpAddrPrefix",
                        "required": [
                          "ip_addr",
                          "mask"
                        ],
                        "type": "object",
                        "properties": {
                          "ip_addr": {
                            "type": "object",
                            "description": ""
                          },
                          "mask": {
                            "type": "integer",
                            "description": "Number of mask."
                          }
                        }
                      },
                      "subnet6_uuid": {
                        "type": "string",
                        "description": "Subnet UUID or Name or Prefix for VirtualService IPv6 allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed. Field introduced in 18.1.1."
                      },
                      "subnet_uuid": {
                        "type": "string",
                        "description": "Subnet UUID or Name or Prefix for VirtualService IP allocation with AWS or OpenStack as the IPAM provider. Only one of subnet or subnet_uuid configuration is allowed."
                      }
                    }
                  },
                  "network_ref": {
                    "type": "string",
                    "description": "Manually override the network on which the Vip is placed. It is a reference to an object of type Network. Field introduced in 17.1.1."
                  },
                  "placement_networks": {
                    "type": "array",
                    "items": {
                      "title": "VipPlacementNetwork",
                      "type": "object",
                      "properties": {
                        "network_ref": {
                          "type": "string",
                          "description": "Network to use for vip placement. It is a reference to an object of type Network. Field introduced in 18.2.5."
                        },
                        "subnet": {
                          "title": "IpAddrPrefix",
                          "required": [
                            "ip_addr",
                            "mask"
                          ],
                          "type": "object",
                          "properties": {
                            "ip_addr": {
                              "type": "object",
                              "description": ""
                            },
                            "mask": {
                              "type": "integer",
                              "description": "Number of mask."
                            }
                          }
                        },
                        "subnet6": {
                          "title": "IpAddrPrefix",
                          "required": [
                            "ip_addr",
                            "mask"
                          ],
                          "type": "object",
                          "properties": {
                            "ip_addr": {
                              "type": "object",
                              "description": ""
                            },
                            "mask": {
                              "type": "integer",
                              "description": "Number of mask."
                            }
                          }
                        }
                      }
                    },
                    "description": "Placement networks/subnets to use for vip placement. Field introduced in 18.2.5."
                  },
                  "port_uuid": {
                    "type": "string",
                    "description": "(internal-use) Network port assigned to the Vip IP address. Field introduced in 17.1.1."
                  },
                  "prefix_length": {
                    "type": "integer",
                    "description": "Mask applied for the Vip, non-default mask supported only for wildcard Vip. Allowed values are 0-32. Field introduced in 20.1.1.",
                        "default": 32
                  },
                  "subnet": {
                    "title": "IpAddrPrefix",
                    "required": [
                      "ip_addr",
                      "mask"
                    ],
                    "type": "object",
                    "properties": {
                      "ip_addr": {
                        "type": "object",
                        "description": ""
                      },
                      "mask": {
                        "type": "integer",
                        "description": "Number of mask."
                      }
                    }
                  },
                  "subnet6": {
                    "title": "IpAddrPrefix",
                    "required": [
                      "ip_addr",
                      "mask"
                    ],
                    "type": "object",
                    "properties": {
                      "ip_addr": {
                        "type": "object",
                        "description": ""
                      },
                      "mask": {
                        "type": "integer",
                        "description": "Number of mask."
                      }
                    }
                  },
                  "subnet6_uuid": {
                    "type": "string",
                    "description": "If auto_allocate_ip is True, then the subnet for the Vip IPv6 address allocation. This field is applicable only if the VirtualService belongs to an Openstack or AWS cloud, in which case it is mandatory, if auto_allocate is selected. Field introduced in 18.1.1."
                  },
                  "subnet_uuid": {
                    "type": "string",
                    "description": "If auto_allocate_ip is True, then the subnet for the Vip IP address allocation. This field is applicable only if the VirtualService belongs to an Openstack or AWS cloud, in which case it is mandatory, if auto_allocate is selected. Field introduced in 17.1.1."
                  },
                  "vip_id": {
                    "type": "string",
                    "description": "Unique ID associated with the vip. Field introduced in 17.1.1."
                  }
                }
              },
              "description": "List of Virtual Service IPs and other shareable entities. Field introduced in 17.1.1."
            },
            "vrf_context_ref": {
              "type": "string",
              "description": "Virtual Routing Context that the Virtual Service is bound to. This is used to provide the isolation of the set of networks the application is attached to. It is a reference to an object of type VrfContext. Field introduced in 17.1.1."
            },
            "vsvip_cloud_config_cksum": {
              "type": "string",
              "description": "Checksum of cloud configuration for VsVip. Internally set by cloud connector. Field introduced in 17.2.9, 18.1.2."
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/vsvipByUuidPATCH"
      },
      "task": true
    },
    {
      "name": "vsvipByUuidDELETE",
      "summary": "VsvipByUuid_DELETE",
      "description": "VsvipByUuid_DELETE",
      "input": [
        {
          "name": "name",
          "type": "string",
          "info": "object name: string",
          "required": false,
          "schema": {
            "title": "name",
            "type": "string"
          }
        },
        {
          "name": "uuid",
          "type": "string",
          "info": "UUID of the object to fetch: string",
          "required": true,
          "schema": {
            "title": "uuid",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/vsvipByUuidDELETE"
      },
      "task": true
    }
  ],
  "views": []
}