{
    "openapi": "3.0.1",
    "info": {
        "title": "ADS API",
        "description": "ADS API",
        "contact": {
            "email": "admin@cloud.com"
        },
        "version": "1.0.0"
    },
    "servers": [
        {
            "url": "https://alps.adm.cloudburrito.com",
            "variables": {
                "basePath": {
                    "default": "adcaas/nitro/v1/config"
                }
            }
        }
    ],
    "paths": {
        "/massvc/{customerid}/adcaas/nitro/v1/config/environments": {
            "get": {
                "tags": [
                    "Environments"
                ],
                "summary": "List all environments",
                "description": "List all environments added.",
                "operationId": "listEnvironments",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "$ref": "#/components/parameters/count"
                    },
                    {
                        "$ref": "#/components/parameters/pageNo"
                    },
                    {
                        "$ref": "#/components/parameters/pageSize"
                    },
                    {
                        "$ref": "#/components/parameters/name"
                    },
                    {
                        "name": "region",
                        "in": "query",
                        "description": "Pass an optional search string for looking up environments cloud region.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "vpc_id",
                        "in": "query",
                        "description": "Pass an optional search string for looking up environments cloud VPC ID.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List all environments.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "$ref": "#/components/schemas/listEnvironmentsResponse"
                                        },
                                        {
                                            "$ref": "#/components/schemas/countResponse"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Environments"
                ],
                "summary": "Adds an environment",
                "description": "Adds an environment.",
                "operationId": "addEnvironment",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "requestBody": {
                    "description": "Add an environment.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/addEnvironmentsRequest"
                            }
                        }
                    },
                    "required": false
                },
                "responses": {
                    "201": {
                        "description": "Application environment created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/addEnvironmentsResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "Environment",
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/environments/{environment_id}": {
            "get": {
                "tags": [
                    "Environments"
                ],
                "summary": "getEnvironment",
                "description": "Retrieve application environment.",
                "operationId": "GetEnvironment",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "environment_id",
                        "in": "path",
                        "description": "Environment ID.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Get application environment.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/getEnvironmentResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Environments"
                ],
                "summary": "Modify environment",
                "description": "Modify environment.",
                "operationId": "ModifyEnvironment",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "environment_id",
                        "in": "path",
                        "description": "Environment ID.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/modifyEnvironmentRequest"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Successful environment modification.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/modifyEnvironmentResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "Body",
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Environments"
                ],
                "summary": "Delete environment",
                "description": "Delete an application environment.",
                "operationId": "deleteEnvironment",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "environment_id",
                        "in": "path",
                        "description": "Environment ID.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successful removal of an environment.",
                        "content": {}
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/environments/{environment_id}/actions/deploy": {
            "post": {
                "tags": [
                    "Environments"
                ],
                "summary": "Deploys an environment",
                "description": "Deploys an environment.",
                "operationId": "deployEnvironment",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "environment_id",
                        "in": "path",
                        "description": "Environment ID.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "dryrun",
                        "in": "query",
                        "description": "Deployment performs",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Workflow of environment deployment triggerred.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/jobEnvironmentResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/environments/{environment_id}/actions/undeploy": {
            "post": {
                "tags": [
                    "Environments"
                ],
                "summary": "Undeploys an environment",
                "description": "Undeploys an environment.",
                "operationId": "undeployEnvironment",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "environment_id",
                        "in": "path",
                        "description": "Environment ID.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "force_delete",
                        "in": "query",
                        "description": "To force delete an environment.",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Workflow for undeploy environment triggerred.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/jobEnvironmentResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/environments/{environment_id}/actions/dryrun": {
            "post": {
                "tags": [
                    "Environments"
                ],
                "summary": "validates an environment's configuration to ensure that the deployment will be successful.",
                "description": "validates an environment's configuration structurally, functionally to ensure that that the deployment will be successful",
                "operationId": "validateEnvironment",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "environment_id",
                        "in": "path",
                        "description": "Environment ID.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Validation is successful. No errors encountered.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/EnvironmentDryRunResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/network_functions": {
            "get": {
                "tags": [
                    "Network Functions"
                ],
                "summary": "List All Network Functions",
                "description": "List all customer network functions.",
                "operationId": "listNetworkFunctions",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "$ref": "#/components/parameters/pageNo"
                    },
                    {
                        "$ref": "#/components/parameters/pageSize"
                    },
                    {
                        "$ref": "#/components/parameters/name"
                    },
                    {
                        "$ref": "#/components/parameters/count"
                    },
                    {
                        "name": "is_default",
                        "in": "query",
                        "description": "Pass an optional search string for looking up default network function.",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "description": "Pass an optional search string for looking up network functions with type.",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "appsec",
                                "content_policy",
                                "ssl_frontend",
                                "auth"
                            ]
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List all network functions.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "$ref": "#/components/schemas/listNetworkFunctionsResponse"
                                        },
                                        {
                                            "$ref": "#/components/schemas/countResponse"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Network Functions"
                ],
                "summary": "Adds a network function",
                "description": "Adds a network function.",
                "operationId": "addNetworkFunction",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "requestBody": {
                    "description": "Add a network function.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/addNetworkFunctionsRequest"
                            }
                        }
                    },
                    "required": false
                },
                "responses": {
                    "201": {
                        "description": "Network function created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/addNetworkFunctionsResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "NetworkFunction",
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/network_functions/{network_function_id}": {
            "get": {
                "tags": [
                    "Network Functions"
                ],
                "summary": "Get a network function",
                "description": "Retrieve network function.",
                "operationId": "GetNetworkFunction",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "network_function_id",
                        "in": "path",
                        "description": "ID of the network function.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Get a network function.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/getNetworkFunctionResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Network Functions"
                ],
                "summary": "Modify a network function",
                "description": "Modify a network function.",
                "operationId": "modifyNetworkFunction",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "network_function_id",
                        "in": "path",
                        "description": "ID of the network function",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/modifyNetworkFunctionRequest"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Successful NetworkFunction modification",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/modifyNetworkFunctionResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "Body",
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Network Functions"
                ],
                "summary": "Delete A Network Function",
                "description": "Delete a network function.",
                "operationId": "deleteNetworkFunction",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "network_function_id",
                        "in": "path",
                        "description": "ID of the network function.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successful removal of a network function.",
                        "content": {}
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/network_functions/{network_function_id}/actions/deploy": {
            "post": {
                "tags": [
                    "Network Functions"
                ],
                "summary": "Deploys a Network Function",
                "operationId": "deployNetworkFunction",
                "description": "Deploys an network function.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "network_function_id",
                        "in": "path",
                        "description": "Network Function ID.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Network Function Deployment initiated successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/jobNetworkFunctionResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/network_functions/appsec/waf_signature_rules": {
            "get": {
                "tags": [
                    "Network Functions"
                ],
                "summary": "WAF signature rule definitions",
                "description": "List all signature rule IDs, CVEs and categories.",
                "operationId": "listWAFSignatureRules",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "networkfunction_id",
                        "in": "query",
                        "description": "Pass appsec network function  id to fetch configured signature rule details.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List all signature rule IDs, CVEs and categories.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/signatureRulesResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/network_functions/appsec/bot_signature_rules": {
            "get": {
                "tags": [
                    "Network Functions"
                ],
                "summary": "BOT signature rule definitions",
                "description": "List all bot signature rule IDs, categories and types.",
                "operationId": "listBotSignatureRules",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "networkfunction_id",
                        "in": "query",
                        "description": "Pass appsec network function  id to fetch configured signature rule details.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List all bot signature rule IDs, categories and types.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/bot_signature_rulesResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/network_functions/appsec/actions/update_past_offenders_ips": {
            "post": {
                "tags": [
                    "Network Functions"
                ],
                "summary": "Adds and removes client IPs identified as past offenders for AppSec violations like SQL injection and XSS. API called by CAS APF module.",
                "description": "Add or Remove Ips Of Past Offenders",
                "operationId": "updatePastOffendersIps",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "Accept",
                        "in": "header",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "requestBody": {
                    "description": "Add / Remove IPs of Past Offenders",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/updatePastOffendersIps"
                            }
                        }
                    },
                    "required": false
                },
                "responses": {
                    "202": {
                        "description": "Updating Past Offenders IPs",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/jobPastOffendersIpsResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "past_offender_ips",
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/network_functions/appsec/actions/get_past_offenders_ips/{network_function_id}": {
            "get": {
                "tags": [
                    "Network Functions"
                ],
                "summary": "Retrieves client IPs identified as past offenders for AppSec violations like SQL injection and XSS. API called by CAS APF module.",
                "description": "Get Ips Of Past Offenders",
                "operationId": "getPastOffendersIps",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "network_function_id",
                        "in": "path",
                        "description": "Networkfunction ID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Get Past Offenders IPs",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/jobPastOffendersIpsResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/endpoints": {
            "get": {
                "tags": [
                    "Endpoints"
                ],
                "summary": "List all endpoints",
                "description": "List all endpoints added.",
                "operationId": "listEndpoints",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "$ref": "#/components/parameters/pageNo"
                    },
                    {
                        "$ref": "#/components/parameters/pageSize"
                    },
                    {
                        "$ref": "#/components/parameters/name"
                    },
                    {
                        "$ref": "#/components/parameters/count"
                    },
                    {
                        "name": "environment_id",
                        "in": "query",
                        "description": "Pass an optional search string for looking up endpoints by environment.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "description": "Pass an optional search string for looking up endpoints by type.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List all endpoints.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "$ref": "#/components/schemas/listEndpointsResponse"
                                        },
                                        {
                                            "$ref": "#/components/schemas/countResponse"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Endpoints"
                ],
                "summary": "Adds endpoints",
                "description": "Adds endpoints.",
                "operationId": "addEndpoints",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "requestBody": {
                    "description": "Add endpoints.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/addEndpointsRequest"
                            }
                        }
                    },
                    "required": false
                },
                "responses": {
                    "201": {
                        "description": "Endpoints created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/addEndpointsResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "endpoints",
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/endpoints/{endpoint_id}": {
            "get": {
                "tags": [
                    "Endpoints"
                ],
                "summary": "Get an endpoint",
                "description": "Retrieve endpoint.",
                "operationId": "getEndpoint",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "endpoint_id",
                        "in": "path",
                        "description": "ID of the endpoint.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Get an endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/getEndpointResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Endpoints"
                ],
                "summary": "Modify an endpoint",
                "description": "Modify an endpoint.",
                "operationId": "modifyEndpoint",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "endpoint_id",
                        "in": "path",
                        "description": "ID of Endpoint.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/modifyEndpointRequest"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Successful network function modification.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/modifyEndpointResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "Body",
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Endpoints"
                ],
                "summary": "Delete endpoint",
                "description": "Delete endpoint.",
                "operationId": "deleteEndpoint",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "endpoint_id",
                        "in": "path",
                        "description": "ID of endpoint.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successful removal of an endpoint.",
                        "content": {}
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/service_profiles": {
            "get": {
                "tags": [
                    "Service Profiles"
                ],
                "summary": "List all service profiles",
                "description": "List all service profiles.",
                "operationId": "listServiceProfiles",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "$ref": "#/components/parameters/pageNo"
                    },
                    {
                        "$ref": "#/components/parameters/pageSize"
                    },
                    {
                        "$ref": "#/components/parameters/count"
                    },
                    {
                        "name": "is_default",
                        "in": "query",
                        "description": "Pass an optional search string for looking up default service profile.",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List all service profiles.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "$ref": "#/components/schemas/listServiceProfilesResponse"
                                        },
                                        {
                                            "$ref": "#/components/schemas/countResponse"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Service Profiles"
                ],
                "summary": "Adds an service profile",
                "description": "Adds an service profile.",
                "operationId": "addServiceProfile",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "requestBody": {
                    "description": "Add an service profile.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/addServiceProfilesRequest"
                            }
                        }
                    },
                    "required": false
                },
                "responses": {
                    "201": {
                        "description": "Service profile created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/addServiceProfilesResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "ServiceProfile",
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/service_profiles/{service_profile_id}": {
            "get": {
                "tags": [
                    "Service Profiles"
                ],
                "summary": "Get a service profile",
                "description": "Retrieve service profile.",
                "operationId": "GetServiceProfile",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "service_profile_id",
                        "in": "path",
                        "description": "ID of the service profile.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Get a service profile.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/getServiceProfileResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad Request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Service Profiles"
                ],
                "summary": "Modify a service profile.",
                "description": "Modify a service profile.",
                "operationId": "modifyServiceProfile",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "service_profile_id",
                        "in": "path",
                        "description": "ID of the service profile.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/modifyServiceProfileRequest"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Successful service profile modification.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/modifyServiceProfileResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad Request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "Body",
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Service Profiles"
                ],
                "summary": "Delete a service profile",
                "description": "Delete a service profile.",
                "operationId": "deleteServiceProfile",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "service_profile_id",
                        "in": "path",
                        "description": "ID of the service profile.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successful removal of a service profile.",
                        "content": {}
                    },
                    "400": {
                        "description": "Bad Request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/service_profiles/{service_profile_id}/actions/deploy": {
            "post": {
                "tags": [
                    "Service Profiles"
                ],
                "summary": "Deploys a Service Profile",
                "operationId": "deployServiceProfile",
                "description": "Deploys an Service Profile.",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "service_profile_id",
                        "in": "path",
                        "description": "Service Profile ID.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Service Profile Deployment initiated successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/jobServiceProfileResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/applications": {
            "get": {
                "tags": [
                    "Applications"
                ],
                "summary": "List all applications",
                "description": "List all customer applications used in VPC.",
                "operationId": "listApplications",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "$ref": "#/components/parameters/pageNo"
                    },
                    {
                        "$ref": "#/components/parameters/pageSize"
                    },
                    {
                        "$ref": "#/components/parameters/name"
                    },
                    {
                        "$ref": "#/components/parameters/count"
                    },
                    {
                        "name": "action",
                        "in": "query",
                        "description": "Pass an optional query string for summarizing app data.",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "summarize"
                            ]
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "DEPLOYED",
                                "ERROR",
                                "INDRAFT"
                            ]
                        }
                    },
                    {
                        "name": "model",
                        "in": "query",
                        "description": "Pass an optional search string for looking up applications based on model.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "environment_id",
                        "in": "query",
                        "description": "Pass an optional search string for looking up applications based on environment.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List all applications.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "$ref": "#/components/schemas/listApplicationsResponse"
                                        },
                                        {
                                            "$ref": "#/components/schemas/countResponse"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Applications"
                ],
                "summary": "Adds an application",
                "description": "Adds an application.",
                "operationId": "addApplication",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "requestBody": {
                    "description": "Add an application.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/addApplicationsRequest"
                            }
                        }
                    },
                    "required": false
                },
                "responses": {
                    "201": {
                        "description": "Application created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/addApplicationsResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "Application",
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/applications/{application_id}": {
            "get": {
                "tags": [
                    "Applications"
                ],
                "summary": "Get application",
                "description": "Retrieve application.",
                "operationId": "GetApplication",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "application_id",
                        "in": "path",
                        "description": "Application ID.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Get application.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/getApplicationResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Applications"
                ],
                "summary": "Modify application",
                "description": "Modify an application.",
                "operationId": "ModifyApplication",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "application_id",
                        "in": "path",
                        "description": "ID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/modifyApplicationRequest"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Successful application modfication.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/modifyApplicationResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "Body",
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Applications"
                ],
                "summary": "Delete application",
                "description": "Delete an application.",
                "operationId": "deleteApplication",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "application_id",
                        "in": "path",
                        "description": "Application ID.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successful removal of an application.",
                        "content": {}
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/applications/{application_id}/actions/refresh_health": {
            "post": {
                "tags": [
                    "Applications"
                ],
                "summary": "Application health details",
                "description": "Health of the application deployed.",
                "operationId": "healthOfApplication",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "application_id",
                        "in": "path",
                        "description": "Application ID.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Workflow of application health triggerred.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/jobApplicationHealthResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/applications/{application_id}/actions/deploy": {
            "post": {
                "tags": [
                    "Applications"
                ],
                "summary": "Deploys an application",
                "description": "Deploys an application.",
                "operationId": "deployApplication",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "application_id",
                        "in": "path",
                        "description": "Application ID.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Workflow of application deployment triggerred.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/jobApplicationResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/applications/{application_id}/actions/undeploy": {
            "post": {
                "tags": [
                    "Applications"
                ],
                "summary": "Undeploys an application",
                "description": "Undeploys an application.",
                "operationId": "undeployApplication",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "application_id",
                        "in": "path",
                        "description": "Application ID.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Workflow for undeploy application triggerred.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/jobApplicationResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/applications/{application_id}/application_endpoints": {
            "get": {
                "tags": [
                    "Application Endpoints"
                ],
                "summary": "List all endpoints of an application",
                "description": "List all endpoints of an application.",
                "operationId": "listApplicationEndpoints",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "application_id",
                        "in": "path",
                        "description": "Application ID.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List all endpoints of an application.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/listApplicationEndpointsResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Application Endpoints"
                ],
                "summary": "Define one or more endpoints for an application",
                "description": "Defines one or more endpoints for an application.",
                "operationId": "defineApplicationEndpoints",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "application_id",
                        "in": "path",
                        "description": "Application ID.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/addApplicationEndpointsRequest"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "201": {
                        "description": "Endpoints defined for an application.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/addApplicationEndpointsResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "Body",
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/applications/{application_id}/application_endpoints/{endpoint_id}": {
            "get": {
                "tags": [
                    "Application Endpoints"
                ],
                "summary": "Get endpoint of an application",
                "description": "Get endpoint of an application.",
                "operationId": "getApplicationEndpoint",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "application_id",
                        "in": "path",
                        "description": "Application ID.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "endpoint_id",
                        "in": "path",
                        "description": "ID of the endpoint.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Get application endpoint.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/modifyApplicationEndpointResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Application Endpoints"
                ],
                "summary": "Modify application endpoint",
                "description": "Modify application endpoint.",
                "operationId": "modifyApplicationEndpoint",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "application_id",
                        "in": "path",
                        "description": "ID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "endpoint_id",
                        "in": "path",
                        "description": "ID of the application endpoint.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/modifyApplicationEndpointRequest"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Successful application endpoint modification.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/modifyApplicationEndpointResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "Body",
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Application Endpoints"
                ],
                "summary": "Delete application endpoint",
                "description": "Delete application endpoint.",
                "operationId": "deleteApplicationEndpoint",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "application_id",
                        "in": "path",
                        "description": "ID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "endpoint_id",
                        "in": "path",
                        "description": "ID of the application endpoint.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successful removal of an application endpoint.",
                        "content": {}
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/application_servers": {
            "get": {
                "tags": [
                    "Application Servers and Services"
                ],
                "summary": "List all application servers",
                "description": "List all customer application servers.",
                "operationId": "listApplicationServers",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "$ref": "#/components/parameters/pageNo"
                    },
                    {
                        "$ref": "#/components/parameters/pageSize"
                    },
                    {
                        "$ref": "#/components/parameters/name"
                    },
                    {
                        "$ref": "#/components/parameters/count"
                    },
                    {
                        "name": "app_server_type",
                        "in": "query",
                        "description": "Pass an optional search string for looking up application servers of type app_server_type.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List all application servers.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "$ref": "#/components/schemas/listApplicationServersResponse"
                                        },
                                        {
                                            "$ref": "#/components/schemas/countResponse"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Application Servers and Services"
                ],
                "summary": "Adds an application server",
                "description": "Adds an application server.",
                "operationId": "addApplicationServer",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "requestBody": {
                    "description": "Add an Application Server.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/addApplicationServersRequest"
                            }
                        }
                    },
                    "required": false
                },
                "responses": {
                    "201": {
                        "description": "Application server created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/addApplicationServersResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "ApplicationServers",
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/application_servers/{application_server_id}": {
            "get": {
                "tags": [
                    "Application Servers and Services"
                ],
                "summary": "Get application server",
                "description": "Get speicific application server.",
                "operationId": "getApplicationServer",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "application_server_id",
                        "in": "path",
                        "description": "ID of the network function.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Get an application server.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/getApplicationServerResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Application Servers and Services"
                ],
                "summary": "Delete application server",
                "description": "Delete application server.",
                "operationId": "deleteApplicationServer",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "application_server_id",
                        "in": "path",
                        "description": "ID of the network function.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successful removal of an application server.",
                        "content": {}
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/applications/{application_id}/application_services": {
            "get": {
                "tags": [
                    "Application Servers and Services"
                ],
                "summary": "List all application services",
                "description": "List all customer application services.",
                "operationId": "listApplicationServices",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "application_id",
                        "in": "path",
                        "description": "Application ID.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "app_server_type",
                        "in": "query",
                        "description": "Pass an optional search string for looking up application services of type app_server_type.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List all application services.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/listApplicationServicesResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Application Servers and Services"
                ],
                "summary": "Adds an application service",
                "description": "Adds an application service.",
                "operationId": "addApplicationService",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "application_id",
                        "in": "path",
                        "description": "Application ID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "requestBody": {
                    "description": "Add an application service.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/addApplicationServicesRequest"
                            }
                        }
                    },
                    "required": false
                },
                "responses": {
                    "201": {
                        "description": "Application service created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/addApplicationServicesResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "ApplicationServices",
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/applications/{application_id}/application_services/{application_service_id}": {
            "get": {
                "tags": [
                    "Application Servers and Services"
                ],
                "summary": "Get application service",
                "description": "Get speicific application service.",
                "operationId": "getApplicationService",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "application_id",
                        "in": "path",
                        "description": "ID of the network function.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "application_service_id",
                        "in": "path",
                        "description": "ID of the network function.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Get an application service.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/getApplicationServiceResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Application Servers and Services"
                ],
                "summary": "Modify application service",
                "description": "Modify application service.",
                "operationId": "modifyApplicationService",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "application_id",
                        "in": "path",
                        "description": "ID of the network function.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "application_service_id",
                        "in": "path",
                        "description": "ID of the network function.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/modifyApplicationServiceRequest"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Successful application service modification.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/modifyApplicationServiceResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "Body",
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Application Servers and Services"
                ],
                "summary": "Delete application service",
                "description": "Delete application service.",
                "operationId": "deleteApplicationService",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "application_id",
                        "in": "path",
                        "description": "ID of the network function.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "application_service_id",
                        "in": "path",
                        "description": "ID of the network function.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successful removal of an application service.",
                        "content": {}
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/application_server_groups": {
            "get": {
                "tags": [
                    "Application Servers and Services"
                ],
                "summary": "List all application server groups",
                "description": "List all application server groups added.",
                "operationId": "listApplicationServerGroups",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List all application server groups.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/listApplicationServerGroupsResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Application Servers and Services"
                ],
                "summary": "Add application server groups",
                "description": "Adds an application server group.",
                "operationId": "addApplicationServerGroups",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "requestBody": {
                    "description": "Add an application server group.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/addApplicationServerGroupsRequest"
                            }
                        }
                    },
                    "required": false
                },
                "responses": {
                    "201": {
                        "description": "Application server group created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/addApplicationServerGroupsResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "ApplicationServerGroups",
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/application_server_groups/{application_server_group_id}": {
            "get": {
                "tags": [
                    "Application Servers and Services"
                ],
                "summary": "Get application server group",
                "description": "Get specific application server group.",
                "operationId": "getApplicationServerGroup",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "application_server_group_id",
                        "in": "path",
                        "description": "ID of the application server group.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Get application server group.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/getApplicationServerGroupResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Application Servers and Services"
                ],
                "summary": "Modify application server group",
                "description": "Modifies an application server group.",
                "operationId": "modifyApplicationServerGroup",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "application_server_group_id",
                        "in": "path",
                        "description": "ID of the application server group.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/modifyApplicationServerGroupRequest"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Successful application server group modification.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/modifyApplicationServerGroupResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "Body",
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Application Servers and Services"
                ],
                "summary": "Delete application server group",
                "description": "Deletes an application server group.",
                "operationId": "deleteApplicationServerGroup",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "application_server_group_id",
                        "in": "path",
                        "description": "ID of the application server group.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successful removal of an application server group.",
                        "content": {}
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/applications/{application_id}/application_services/{application_service_id}/servers/actions/refresh_health": {
            "post": {
                "tags": [
                    "Application Servers and Services"
                ],
                "summary": "Get health status for application service",
                "description": "Get health status for application service.",
                "operationId": "GetHealthStatusForApplicationService",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "application_id",
                        "in": "path",
                        "description": "ID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "application_service_id",
                        "in": "path",
                        "description": "ID of the application service.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "requestBody": {
                    "description": "Add an application service.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/healthStatusApplicationServiceRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "202": {
                        "description": "Workflow of application service health triggerred.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/jobApplicationServiceHealthResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/applications/{application_id}/application_services/{application_service_id}/servers/actions/enable": {
            "post": {
                "tags": [
                    "Application Servers and Services"
                ],
                "summary": "Enable application server",
                "description": "Enable application server.",
                "operationId": "enableServer",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "application_id",
                        "in": "path",
                        "description": "ID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "application_service_id",
                        "in": "path",
                        "description": "ID of the application service.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "requestBody": {
                    "description": "Add an application service.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/enableServerRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "202": {
                        "description": "Workflow of enable application server triggerred.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/jobServerActionResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/applications/{application_id}/application_services/{application_service_id}/servers/actions/disable": {
            "post": {
                "tags": [
                    "Application Servers and Services"
                ],
                "summary": "Disable application server",
                "description": "Disable application server.",
                "operationId": "disableServer",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "application_id",
                        "in": "path",
                        "description": "ID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "application_service_id",
                        "in": "path",
                        "description": "ID of the application service.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "requestBody": {
                    "description": "Add an application service.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/disableServerRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "202": {
                        "description": "Workflow of disable application server triggerred.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/jobServerActionResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/applications/migration/actions/extract_vservers": {
            "post": {
                "tags": [
                    "Config Migration"
                ],
                "description": "This API extracts the candidate root vservers from the source. The source is a set of CLI commands.\nYou can also filter the result of extracted vservers by various filters such as vserver name, type or protocol,\nor any combination.\n",
                "operationId": "ExtractApps",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "requestBody": {
                    "description": "Extract vservers in the configuration.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ExtractVServersRequestSchema"
                            }
                        }
                    },
                    "required": false
                },
                "responses": {
                    "200": {
                        "description": "Successful retrieval of vservers from the CLI commands.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ExtractVServersResponseSchema"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Workflow of extract vservers.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/jobMigrationResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "migrations",
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/applications/migration/actions/filter_vservers": {
            "post": {
                "tags": [
                    "Config Migration"
                ],
                "description": "This API is a helper API used to filter an input list of vservers as per input filter options.\nA filtering option is already provided by the Extract Vservers API. This is an additional API that can be used if\nfiltering was not done during the extraction and the user wants to filter the vservers after extraction.\n",
                "operationId": "FilterVservers",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/FilterVServersRequestSchema"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "202": {
                        "description": "Workflow of filter vservers.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/jobMigrationResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "Body",
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/applications/migration/actions/extract_vservers_config": {
            "post": {
                "tags": [
                    "Config Migration"
                ],
                "description": "This is the main API that intelligently extracts all the configuration to be migrated. Given the list of\nCLI Commands, an application environment and a list of vserver names, it extracts the complete ADC configuration\nfor all the vservers in the input list. This config is the one that will be used to create an application by a\nsubsequent migrate API.\n",
                "operationId": "ExtractConfig",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "requestBody": {
                    "description": "Extract configuration for selected vserver.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ExtractConfigRequestSchema"
                            }
                        }
                    },
                    "required": false
                },
                "responses": {
                    "200": {
                        "description": "Successful extraction of vservers configuration from the CLI commands.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ExtractConfigResponseSchema"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Workflow of extract vserver configuration.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/jobMigrationResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "migrations",
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/applications/migration/actions/migrate_vservers_config": {
            "post": {
                "tags": [
                    "Config Migration"
                ],
                "description": "Extracts and migrates the configuration of the mentioned vservers to application environment.",
                "operationId": "ConvertConfig",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "requestBody": {
                    "description": "Migrate selected vserver configuration.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/MigrateConfigRequestSchema"
                            }
                        }
                    },
                    "required": false
                },
                "responses": {
                    "200": {
                        "description": "Successful creation of application.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/MigrateConfigResponseSchema"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Workflow of migrate vservers",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/jobMigrationResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "migrations",
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/applications/migration/actions/convert_pe_to_pi": {
            "post": {
                "tags": [
                    "Config Migration"
                ],
                "description": "This API converts all the classic expressions in the source config to advance policy expressions. The source config could be a set of CLI commands which is given directly or extracted from the given ADC instance ID. The Target ADC is needed so that it can be used for some helper utility to validate the extracted config. The Target is always an instance ID and can be the same as source. Converted config is returned back to the user.",
                "operationId": "ConvertPeToPi",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "requestBody": {
                    "description": "Convert all the classic expressions in the source config to advanced policies",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ConvertPeToPiRequestSchema"
                            }
                        }
                    },
                    "required": false
                },
                "responses": {
                    "200": {
                        "description": "Successful conversion of classic policies to advanced policies",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ConvertPeToPiResponseSchema"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Asynchronous processing. A job ID is returned that can be tracked and used to retrieve results",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/jobMigrationResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "migrations",
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/applications/schema": {
            "get": {
                "tags": [
                    "Config Migration"
                ],
                "description": "List schema for classic application.",
                "operationId": "listSchemaClassicApplication",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "model",
                        "in": "query",
                        "description": "Schema for application type.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "CLASSIC"
                            ]
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful retrieval of schema for classic application.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/SchemaClassicApplication"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/applications/actions/compute_schema": {
            "post": {
                "tags": [
                    "Classic Application Compute Dynamic Schema"
                ],
                "description": "Compute Dynamic Schema for Classic Application.",
                "operationId": "ComputeSchemaClassicApplication",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "requestBody": {
                    "description": "Compute Dynamic Schema for Classic Application",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/computeSchemaRequest"
                            }
                        }
                    },
                    "required": false
                },
                "responses": {
                    "201": {
                        "description": "Successful retrieval of Dynamic Schema for Classic Application.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/computeSchemaResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/filters": {
            "get": {
                "tags": [
                    "Filters"
                ],
                "summary": "List all filters",
                "description": "List all filters.",
                "operationId": "listFilters",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "$ref": "#/components/parameters/pageNo"
                    },
                    {
                        "$ref": "#/components/parameters/pageSize"
                    },
                    {
                        "$ref": "#/components/parameters/name"
                    },
                    {
                        "$ref": "#/components/parameters/count"
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List all filters.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "$ref": "#/components/schemas/listFiltersResponse"
                                        },
                                        {
                                            "$ref": "#/components/schemas/countResponse"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Filters"
                ],
                "summary": "Add filters",
                "description": "Adds filters.",
                "operationId": "addFilters",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "requestBody": {
                    "description": "Add filters.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/addFiltersRequest"
                            }
                        }
                    },
                    "required": false
                },
                "responses": {
                    "201": {
                        "description": "Network functions created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/addFiltersResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "filters",
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/filters/{filter_id}": {
            "get": {
                "tags": [
                    "Filters"
                ],
                "summary": "Get filter",
                "description": "Retrieve filter.",
                "operationId": "getFilter",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "filter_id",
                        "in": "path",
                        "description": "ID of the filter.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Get filter.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/getFilterResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            },
            "put": {
                "tags": [
                    "Filters"
                ],
                "summary": "Modify filter",
                "description": "Modify filter.",
                "operationId": "modifyFilter",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "filter_id",
                        "in": "path",
                        "description": "ID of the filter.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/modifyFilterRequest"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Successful filter modification.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/modifyFilterResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "Body",
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Filters"
                ],
                "summary": "Delete filter",
                "description": "Delete filter.",
                "operationId": "deleteFilter",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "filter_id",
                        "in": "path",
                        "description": "ID of the filter.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successful removal of a filter.",
                        "content": {}
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/filter_rules": {
            "get": {
                "tags": [
                    "Filters"
                ],
                "summary": "Filter rule definitions",
                "description": "List filter rules.",
                "operationId": "listFilterRules",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "namespace",
                        "in": "query",
                        "description": "Pass an optional search string for looking up filter_rules for specific namespace.",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "cs_rules",
                                "nf_binding",
                                "contentrules",
                                "appsec"
                            ]
                        }
                    },
                    {
                        "name": "api_id",
                        "in": "query",
                        "description": "Pass an id for looking up filter_rules for an API definition.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List filter rules.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/filterRulesResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/jobs/{job_id}/status": {
            "get": {
                "tags": [
                    "Jobs"
                ],
                "summary": "Get the status of a Job",
                "operationId": "GetJobStatus",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "job_id",
                        "in": "path",
                        "description": "Job ID.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "progress",
                        "in": "query",
                        "description": "Pass an optional string for returning progress in steps.",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "true",
                                "false"
                            ]
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Get job status.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/getJobStatusResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/access_profiles/{profile_id}": {
            "delete": {
                "tags": [
                    "Access Profiles"
                ],
                "summary": "Searches and deletes specific access profile.",
                "description": "By passing in the appropriate Profile ID, you can delete specific access profile in the system.",
                "operationId": "deleteSpecificAccessProfile",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "profile_id",
                        "in": "path",
                        "description": "ID of access profile to delete.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successful removal of an access profile.",
                        "content": {}
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/analytics/self_healing/history/actions/filter": {
            "post": {
                "tags": [
                    "Action History"
                ],
                "summary": "Get history information for executed actions.",
                "description": "Get History of executed actions.",
                "operationId": "getActionHistory",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "requestBody": {
                    "description": "Filtering conditions for action history events.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/getActionHistorySchemaRequest"
                            }
                        }
                    },
                    "required": false
                },
                "responses": {
                    "200": {
                        "description": "Get a list of executed actions.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/getActionHistoryResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "FilterParameters",
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        },
        "/massvc/{customerid}/adcaas/nitro/v1/config/adm_applications/{adm_application_id}/network_functions": {
            "post": {
                "tags": [
                    "SPA Appsec"
                ],
                "summary": "Associates an appsec application with the network function.",
                "description": "Associates an appsec application with the network functions.",
                "operationId": "associateonpremapplication",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/authTokenHeaderParam"
                    },
                    {
                        "name": "adm_application_id",
                        "in": "path",
                        "description": "ID of the application.",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/customerid"
                    }
                ],
                "requestBody": {
                    "description": "network functions id  to associate.",
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/AdmAppNetworkfunctionAssociate"
                            }
                        }
                    },
                    "required": false
                },
                "responses": {
                    "201": {
                        "description": "Successful association of network function to app.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AdmAppNetworkfunctionAssociate"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody400"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody401"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody403"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource not found.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody404"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody409"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Service error.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody500"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service temporarily unavailable, please try again later.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorResponseBody503"
                                }
                            }
                        }
                    }
                },
                "x-codegen-request-body-name": "network_functions",
                "security": [
                    {
                        "citrix_auth": []
                    }
                ]
            }
        }
    },
    "components": {
        "schemas": {
            "getActionHistorySchemaRequest": {
                "title": "Request action history events with filter",
                "type": "object",
                "properties": {
                    "filter": {
                        "required": [
                            "start_time",
                            "stop_time"
                        ],
                        "type": "object",
                        "properties": {
                            "start_time": {
                                "type": "string",
                                "description": "Start timestamp for filtering events.",
                                "example": "2021-08-10T16:32:25+03:00"
                            },
                            "stop_time": {
                                "type": "string",
                                "description": "Stop timestamp for filtering events.",
                                "example": "2021-10-10T16:32:25+03:00"
                            },
                            "criteria": {
                                "type": "object",
                                "properties": {
                                    "connective": {
                                        "type": "string",
                                        "example": "AND",
                                        "enum": [
                                            "AND",
                                            "OR"
                                        ]
                                    },
                                    "conditions": {
                                        "type": "array",
                                        "items": {
                                            "$ref": "#/components/schemas/actionHistoryFilterConditionItem"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "actionHistoryFilterConditionItem": {
                "type": "object",
                "properties": {
                    "op": {
                        "type": "string",
                        "description": "Operator value to apply in requested field.",
                        "example": "equals"
                    },
                    "field": {
                        "type": "string",
                        "description": "Field requested for filtering.",
                        "example": "applicationName"
                    },
                    "value": {
                        "type": "string",
                        "description": "Value to match condition.",
                        "example": "App1"
                    }
                },
                "description": "Filtering details for action history events."
            },
            "getActionHistoryResponse": {
                "type": "object",
                "properties": {
                    "history": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/actionHistoryResponseItem"
                        }
                    }
                },
                "description": "Response information on taken actions."
            },
            "actionHistoryResponseItem": {
                "type": "object",
                "properties": {
                    "action_time": {
                        "type": "string",
                        "description": "Timestamp for executed action.",
                        "example": "2021-10-10T16:32:25+03:00"
                    },
                    "action_id": {
                        "type": "string",
                        "description": "Action unique ID.",
                        "example": "dd952fbb-81ae-4cd5-82fd-b82af76a8e2d"
                    },
                    "action_payload": {
                        "type": "string",
                        "description": "Additional info message for taken action.",
                        "example": "\"actionPayload\":\"{ \"action_id\":\"dd952fbb\", \"alert_id\":\"fe7ed6e6\", \"alert_type\":\"metaevent\", \"alert_message\":\"Anomalous Server Processing Time Threshold breaches detected in the last 1 hour for Application test_app\", \"alert_value\":\"ads-slow-server\", \"tenant_id\":\"55yxylxxxxx\", \"policy_id\":\"03e38f45x\", \"product_type\":\"ADSIntent\", \"action_code\":\"ADS:ReplaceSlowServer\", \"time\":\"2021-08-27 09:13:15\", \"action_params\":{ \"application_name\":\"test-app\", \"application_id\":\"1d94a85c21eb8a72603410fd5ce2eb45\", \"service_name\":\"webserver\", \"application_service_id\":\"a4444726606d8b94de3cf591af6fd723\", \"port\":80, \"autoscale_group\":\"test-env\", \"is_ads_smart_action\":\"true\" }, \"alert_details\":{ \"vserver_name\": \"test-svc\", \"application_name\":\"test-app\", \"server_ip\": \"10.0.2.235\", \"service_name\" : \"webserver\", \"spt_time\": 34 } }\""
                    },
                    "alert_id": {
                        "type": "string",
                        "example": "fe7ed6e6-0716-11ec-9944-e2f525331389"
                    },
                    "application_name": {
                        "type": "string",
                        "example": "test-app"
                    },
                    "network_function_id": {
                        "type": "string",
                        "example": "f4577d57-8ac6-4f58-9c7e-8a194d886f3c"
                    },
                    "created_by": {
                        "type": "string",
                        "description": "Owner of the configuration or policy that triggered the action.",
                        "example": "System"
                    },
                    "tenant_id": {
                        "type": "string",
                        "example": "55yxylxxxxx"
                    },
                    "product_type": {
                        "type": "string",
                        "example": "ADSIntent"
                    }
                },
                "description": "Information on specific action already taken."
            },
            "createADCaaSSchemaRequest": {
                "title": "Create ADCaaS schema for tenant onboarding",
                "required": [
                    "tenant_name"
                ],
                "type": "object",
                "properties": {
                    "tenant_name": {
                        "type": "string",
                        "example": "5l50bi6rermo"
                    }
                }
            },
            "createADCaaSSchemaResponse": {
                "type": "object"
            },
            "signatureRulesResponse": {
                "type": "object",
                "properties": {
                    "version": {
                        "type": "number"
                    },
                    "rules": {
                        "title": "List of signature rules",
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "category": {
                                    "type": "string"
                                },
                                "id": {
                                    "type": "string"
                                },
                                "logstring": {
                                    "type": "string"
                                },
                                "year": {
                                    "type": "string"
                                },
                                "block": {
                                    "type": "boolean"
                                },
                                "log": {
                                    "type": "boolean"
                                },
                                "reference": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "name": {
                                                "type": "string"
                                            },
                                            "link": {
                                                "type": "string"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "bot_signature_rulesResponse": {
                "type": "object",
                "properties": {
                    "rules": {
                        "title": "List of BOT signature rules",
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "id": {
                                    "type": "string"
                                },
                                "name": {
                                    "type": "string"
                                },
                                "category": {
                                    "type": "string"
                                },
                                "type": {
                                    "type": "string",
                                    "enum": [
                                        "Good Bot",
                                        "Bad Bot"
                                    ]
                                },
                                "developer": {
                                    "type": "string"
                                },
                                "action": {
                                    "type": "string",
                                    "enum": [
                                        "DROP",
                                        "RESET"
                                    ]
                                },
                                "log": {
                                    "type": "boolean"
                                },
                                "enabled": {
                                    "type": "boolean"
                                }
                            }
                        }
                    }
                }
            },
            "updatePastOffendersIps": {
                "type": "object",
                "properties": {
                    "update_past_offenders_ips": {
                        "type": "object",
                        "properties": {
                            "network_function_id": {
                                "type": "string"
                            },
                            "sql_injection": {
                                "type": "array",
                                "items": {
                                    "type": "object",
                                    "properties": {
                                        "operation": {
                                            "type": "string"
                                        },
                                        "ip": {
                                            "type": "array",
                                            "items": {
                                                "type": "string"
                                            }
                                        }
                                    }
                                }
                            },
                            "xss": {
                                "type": "array",
                                "items": {
                                    "type": "object",
                                    "properties": {
                                        "operation": {
                                            "type": "string"
                                        },
                                        "ip": {
                                            "type": "array",
                                            "items": {
                                                "type": "string"
                                            }
                                        }
                                    }
                                }
                            },
                            "command_injection": {
                                "type": "array",
                                "items": {
                                    "type": "object",
                                    "properties": {
                                        "operation": {
                                            "type": "string"
                                        },
                                        "ip": {
                                            "type": "array",
                                            "items": {
                                                "type": "string"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "filterRulesResponse": {
                "title": "List filter rules response",
                "type": "object",
                "properties": {
                    "filter_rules": {
                        "type": "string"
                    }
                }
            },
            "CACertificates": {
                "type": "object",
                "properties": {
                    "certificates": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    }
                },
                "description": "CA certificates to be used by SSL application services for server authentication."
            },
            "LBParams": {
                "type": "object",
                "properties": {
                    "lb_params": {
                        "type": "object",
                        "properties": {
                            "algorithm": {
                                "type": "string",
                                "description": "Method used to direct the client request to the server.\n  * LEAST_CONNECTIONS - Request is assigned to the server with the least number of active connections.\n  * ROUND_ROBIN - Requests are distributed across the servers sequentially regardless of the load.\n  * LEAST_RESPONSE_TIME -  Request is assigned to the server with the lowest average response time.\n\nIn the following methods, the ADC service creates a hash of a predetermined portion of the request and uses that value to select the server.\n  * SOURCE_IP_HASH - Create a hash of the source IP address.\n  * URL_HASH - Create a hash of the request URL, or part of the URL if it exceeds 80 characters.\n  * DOMAIN_HASH - Create a hash of the domain name in the request, or part of the domain name if it exceeds 80 characters.\n",
                                "default": "LEAST_CONNECTIONS",
                                "enum": [
                                    "LEAST_CONNECTIONS",
                                    "ROUND_ROBIN",
                                    "LEAST_RESPONSE_TIME",
                                    "SOURCE_IP_HASH",
                                    "URL_HASH",
                                    "DOMAIN_HASH"
                                ]
                            },
                            "stickiness_type": {
                                "type": "string",
                                "description": "Configure stickiness to route all connections from the same client to the same server.\n  * NONE -  No stickiness configured.\n  * SESSION_COOKIE -  The ADC service inserts an HTTP cookie that is used to direct all request to the same server for a session.\n  * STICKY_COOKIE - The ADC service inserts an HTTP cookie that is valid for the configured duration. Default duration = 2 mins.\n  * SOURCE_IP - All requests from the same source IP address are forwarded to the same server for the configured duration. Default duration = 2 mins.\n  * SSL_SESSION - Connections with the same SSL session ID belong to the same session. Default duration = 2 mins.\n",
                                "default": "NONE",
                                "enum": [
                                    "NONE",
                                    "SESSION_COOKIE",
                                    "STICKY_COOKIE",
                                    "SOURCE_IP",
                                    "SSL_SESSION"
                                ]
                            },
                            "stickiness_timeout": {
                                "maximum": 1440,
                                "minimum": 0,
                                "type": "integer",
                                "description": "Time period in minutes for which stickiness is in effect.",
                                "format": "int32"
                            },
                            "unavailable_redirect_url": {
                                "pattern": ".*://.*\\..*",
                                "type": "string",
                                "description": "URL to which to redirect traffic if the server becomes unavailable."
                            },
                            "max_server_connections": {
                                "maximum": 4294967294,
                                "minimum": 1,
                                "type": "integer",
                                "description": "Maximum number of permissible simultaneous open connections per Server.",
                                "format": "int32"
                            },
                            "health_checks": {
                                "type": "array",
                                "items": {
                                    "type": "object",
                                    "properties": {
                                        "name": {
                                            "maxLength": 30,
                                            "minLength": 1,
                                            "type": "string",
                                            "description": "Name of the health check."
                                        },
                                        "protocol": {
                                            "type": "string",
                                            "description": "Protocol of the health check.",
                                            "default": "HTTP",
                                            "enum": [
                                                "HTTP",
                                                "HTTPS",
                                                "TCP",
                                                "TCPS",
                                                "PING"
                                            ]
                                        },
                                        "port": {
                                            "maximum": 65535,
                                            "minimum": 0,
                                            "type": "integer",
                                            "description": "Destination port where health checks are sent. If this parameter is not configured,\nthe health checks are sent to the same port as regular traffic.\n",
                                            "format": "int32"
                                        },
                                        "interval": {
                                            "maximum": 20940,
                                            "minimum": 1,
                                            "type": "integer",
                                            "description": "Time interval between two successive health checks to the server in seconds. Must be greater than the \"Response Timeout\" value.",
                                            "format": "int32",
                                            "default": 5
                                        },
                                        "response_timeout": {
                                            "maximum": 20939,
                                            "minimum": 1,
                                            "type": "integer",
                                            "description": "The time within which a response must be received from the server in seconds.\nMust be less than the \"Interval\" value.\n",
                                            "format": "int32",
                                            "default": 2
                                        },
                                        "unhealthy_time_interval": {
                                            "maximum": 20939,
                                            "minimum": 1,
                                            "type": "integer",
                                            "description": "Time interval between two successive health checks to an unhealthy server in seconds.",
                                            "format": "int32",
                                            "default": 30
                                        },
                                        "failed_check_count": {
                                            "maximum": 127,
                                            "minimum": 1,
                                            "type": "integer",
                                            "description": "Number of failed health checks after which a server is marked unhealthy.",
                                            "format": "int32",
                                            "default": 3
                                        },
                                        "request_url_path": {
                                            "type": "string",
                                            "description": "HTTP request URL path to which health checks are sent. Only applicable to HTTP/HTTPS health checks.",
                                            "default": "GET /"
                                        },
                                        "request_header": {
                                            "type": "string",
                                            "description": "HTTP header to be sent in the health checks. Only applicable to HTTP/HTTPS health checks.",
                                            "example": "Host: www.example.com\r\nCache-control: no-cache\r\n"
                                        },
                                        "expected_response": {
                                            "type": "object",
                                            "properties": {
                                                "response_type": {
                                                    "type": "string",
                                                    "enum": [
                                                        "response_codes",
                                                        "response_text"
                                                    ]
                                                },
                                                "response_codes": {
                                                    "type": "array",
                                                    "default": [
                                                        200
                                                    ],
                                                    "items": {
                                                        "maximum": 599,
                                                        "minimum": 100,
                                                        "type": "integer",
                                                        "description": "Expected HTTP response codes to mark the server as healthy. Used only when \"response_text\" is not set.",
                                                        "format": "int32"
                                                    }
                                                },
                                                "response_text": {
                                                    "type": "string",
                                                    "description": "Expected text to be present in the HTTP response body to mark the server as healthy.\nUsed only when \"response_codes\" is not set.\n"
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Parameters for the lb network function."
                    }
                }
            },
            "SSLBackendParams": {
                "type": "object",
                "properties": {
                    "ssl_backend_params": {
                        "type": "object",
                        "properties": {
                            "backend_sni": {
                                "type": "boolean",
                                "description": "This option is used to send the servername extension from the backend SSL services.",
                                "default": false
                            },
                            "server_auth": {
                                "type": "boolean",
                                "description": "This option is used to enable backend server's certificate validation.",
                                "default": false
                            },
                            "ciphers": {
                                "type": "array",
                                "description": "The cipherlist to be bound on the SSL backend service.",
                                "items": {
                                    "type": "string",
                                    "enum": [
                                        "TLS1-AES-128-CBC-SHA",
                                        "TLS1-AES-256-CBC-SHA",
                                        "TLS1-DHE-DSS-AES-128-CBC-SHA",
                                        "TLS1-DHE-DSS-AES-256-CBC-SHA",
                                        "TLS1-DHE-RSA-AES-128-CBC-SHA",
                                        "TLS1-DHE-RSA-AES-256-CBC-SHA",
                                        "TLS1-ECDHE-ECDSA-AES128-SHA",
                                        "TLS1-ECDHE-ECDSA-AES256-SHA",
                                        "TLS1-ECDHE-RSA-AES128-SHA",
                                        "TLS1-ECDHE-RSA-AES256-SHA",
                                        "TLS1.2-AES-128-SHA256",
                                        "TLS1.2-AES-256-SHA256",
                                        "TLS1.2-AES128-GCM-SHA256",
                                        "TLS1.2-AES256-GCM-SHA384",
                                        "TLS1.2-DHE-RSA-AES-128-SHA256",
                                        "TLS1.2-DHE-RSA-AES-256-SHA256",
                                        "TLS1.2-DHE-RSA-AES128-GCM-SHA256",
                                        "TLS1.2-DHE-RSA-AES256-GCM-SHA384",
                                        "TLS1.2-ECDHE-ECDSA-AES128-GCM-SHA256",
                                        "TLS1.2-ECDHE-ECDSA-AES128-SHA256",
                                        "TLS1.2-ECDHE-ECDSA-AES256-GCM-SHA384",
                                        "TLS1.2-ECDHE-ECDSA-AES256-SHA384",
                                        "TLS1.2-ECDHE-ECDSA-CHACHA20-POLY1305",
                                        "TLS1.2-ECDHE-RSA-AES-128-SHA256",
                                        "TLS1.2-ECDHE-RSA-AES-256-SHA384",
                                        "TLS1.2-ECDHE-RSA-AES128-GCM-SHA256",
                                        "TLS1.2-ECDHE-RSA-AES256-GCM-SHA384",
                                        "TLS1.2-ECDHE-RSA-CHACHA20-POLY1305"
                                    ]
                                }
                            },
                            "tls1": {
                                "type": "boolean",
                                "description": "This option is used to enable TLS1.0 version on the SSL serviceGroup.",
                                "default": true
                            },
                            "tls11": {
                                "type": "boolean",
                                "description": "This option is used to enable TLS1.1 version on the SSL serviceGroup.",
                                "default": true
                            },
                            "tls12": {
                                "type": "boolean",
                                "description": "This option is used to enable TLS1.2 version on the SSL serviceGroup.",
                                "default": true
                            }
                        },
                        "description": "Parameters for the backend SSL network function"
                    }
                }
            },
            "listNetworkFunctionsResponse": {
                "title": "List network functions response",
                "type": "object",
                "properties": {
                    "network_functions": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/NetworkFunctionWithIdResponse"
                        }
                    }
                }
            },
            "getNetworkFunctionResponse": {
                "title": "Get network function response",
                "type": "object",
                "properties": {
                    "network_function": {
                        "$ref": "#/components/schemas/NetworkFunctionWithIdResponse"
                    }
                }
            },
            "addNetworkFunctionsRequest": {
                "title": "Add network functions request",
                "type": "object",
                "properties": {
                    "network_functions": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/NetworkFunction"
                        }
                    }
                }
            },
            "addNetworkFunctionsResponse": {
                "title": "Add network functions response",
                "type": "object",
                "properties": {
                    "network_functions": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/NetworkFunctionWithIdResponse"
                        }
                    }
                }
            },
            "modifyNetworkFunctionRequest": {
                "title": "Add network function request",
                "type": "object",
                "properties": {
                    "network_function": {
                        "$ref": "#/components/schemas/NetworkFunctionWithId"
                    }
                }
            },
            "modifyNetworkFunctionResponse": {
                "title": "addNetworkFunctionResponse",
                "type": "object",
                "properties": {
                    "network_function": {
                        "$ref": "#/components/schemas/NetworkFunctionWithIdResponse"
                    }
                }
            },
            "NetworkFunction": {
                "required": [
                    "name",
                    "type"
                ],
                "type": "object",
                "properties": {
                    "name": {
                        "maxLength": 30,
                        "minLength": 1,
                        "type": "string",
                        "example": "HTTPProtection"
                    },
                    "type": {
                        "type": "string",
                        "description": "Type of the network function.",
                        "example": "appsec",
                        "enum": [
                            "appsec",
                            "content_policy",
                            "ssl_frontend",
                            "auth"
                        ]
                    },
                    "is_default": {
                        "type": "boolean",
                        "description": "Network function will be deafult if set to true."
                    },
                    "is_shareable": {
                        "type": "boolean",
                        "description": "Network Function if shareable, will be set to true.",
                        "readOnly": true
                    },
                    "appsec_params": {
                        "type": "object",
                        "properties": {
                            "enable_owasp_2017": {
                                "type": "boolean",
                                "description": "Logs the attacks that are considered in 2017 OWASP Top 10 categories.",
                                "default": false
                            },
                            "enable_owasp_2021": {
                                "type": "boolean",
                                "description": "Logs the attacks that are considered in 2021 OWASP Top 10 categories.",
                                "default": false
                            },
                            "owasp_protection_block_mode": {
                                "type": "boolean",
                                "description": "Blocks and Logs the attacks that are considered in 2017 / 2021 OWASP Top 10 categories.",
                                "default": false
                            },
                            "enable_allow_block_rules": {
                                "type": "boolean",
                                "default": true
                            },
                            "allow_block_rules": {
                                "type": "array",
                                "items": {
                                    "required": [
                                        "action",
                                        "name"
                                    ],
                                    "type": "object",
                                    "properties": {
                                        "name": {
                                            "maxLength": 50,
                                            "minLength": 1,
                                            "type": "string",
                                            "description": "Name of the rule."
                                        },
                                        "filter_name": {
                                            "type": "string"
                                        },
                                        "filter_id": {
                                            "type": "string"
                                        },
                                        "action": {
                                            "type": "string",
                                            "enum": [
                                                "ALLOW",
                                                "RESET",
                                                "DROP"
                                            ]
                                        },
                                        "state": {
                                            "type": "boolean",
                                            "default": true
                                        }
                                    }
                                }
                            },
                            "enable_sql_injection_protection": {
                                "type": "boolean",
                                "description": "Logs all SQL injection attacks.",
                                "default": true
                            },
                            "sql_injection_protection_block_mode": {
                                "type": "boolean",
                                "description": "Blocks all SQL injection attacks.",
                                "default": true
                            },
                            "enable_json_sql_injection_protection": {
                                "type": "boolean",
                                "description": "Logs all Json SQL injection attacks.",
                                "default": true
                            },
                            "block_past_sql_injection_offenders": {
                                "type": "boolean",
                                "description": "Block all the requests from client which were performing Sql Injection Attacks",
                                "default": false
                            },
                            "sql_relaxations": {
                                "type": "array",
                                "description": "Add rules to relax SQL injection check.",
                                "items": {
                                    "required": [
                                        "type",
                                        "url"
                                    ],
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string",
                                            "default": "HTML",
                                            "enum": [
                                                "HTML",
                                                "JSON"
                                            ]
                                        },
                                        "url": {
                                            "type": "string",
                                            "description": "URL to relax the check (regex)."
                                        },
                                        "location": {
                                            "type": "string",
                                            "description": "Location where SQL injection is relaxed.",
                                            "enum": [
                                                "FORMFIELD",
                                                "HEADER",
                                                "COOKIE"
                                            ]
                                        },
                                        "name": {
                                            "type": "string",
                                            "description": "Name of the FormField/Header/Cookie to relax the check when the corresponding location is FormField/Header/Cookie."
                                        },
                                        "state": {
                                            "type": "boolean",
                                            "description": "Enable or disable the rule.",
                                            "default": true
                                        }
                                    }
                                }
                            },
                            "enable_xss_protection": {
                                "type": "boolean",
                                "description": "Logs all cross site scripting attacks.",
                                "default": true
                            },
                            "xss_protection_block_mode": {
                                "type": "boolean",
                                "description": "Blocks all cross site scripting attacks.",
                                "default": true
                            },
                            "enable_json_xss_protection": {
                                "type": "boolean",
                                "description": "Logs all JSON cross site scripting attacks.",
                                "default": true
                            },
                            "block_past_xss_offenders": {
                                "type": "boolean",
                                "description": "Block all the requests from client which were performing Cross Site Scripting Attacks.",
                                "default": false
                            },
                            "xss_relaxations": {
                                "type": "array",
                                "description": "Add rules to relax cross site scripting check.",
                                "items": {
                                    "required": [
                                        "type",
                                        "url"
                                    ],
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string",
                                            "default": "HTML",
                                            "enum": [
                                                "HTML",
                                                "JSON"
                                            ]
                                        },
                                        "url": {
                                            "type": "string",
                                            "description": "URL to relax the check (regex)."
                                        },
                                        "location": {
                                            "type": "string",
                                            "description": "Location where XSS is relaxed.",
                                            "enum": [
                                                "FORMFIELD",
                                                "HEADER",
                                                "COOKIE"
                                            ]
                                        },
                                        "name": {
                                            "type": "string",
                                            "description": "Name of the FormField/Header/Cookie to relax the check when the corresponding location is FormField/Header/Cookie."
                                        },
                                        "state": {
                                            "type": "boolean",
                                            "description": "Enable or disable the rule.",
                                            "default": true
                                        }
                                    }
                                }
                            },
                            "enable_bof_protection": {
                                "type": "boolean",
                                "description": "Logs all buffer overflow attacks.",
                                "example": true,
                                "default": true
                            },
                            "bof_protection_block_mode": {
                                "type": "boolean",
                                "description": "Blocks all buffer overflow attacks.",
                                "example": true,
                                "default": true
                            },
                            "bof_protection_limits": {
                                "type": "object",
                                "properties": {
                                    "max_url_length": {
                                        "maximum": 65535,
                                        "minimum": 0,
                                        "type": "integer",
                                        "description": "Buffer overflow max URL length.",
                                        "format": "int16",
                                        "example": 1024
                                    },
                                    "max_header_length": {
                                        "maximum": 65535,
                                        "minimum": 0,
                                        "type": "integer",
                                        "description": "Buffer overflow max header length.",
                                        "format": "int16",
                                        "example": 4096
                                    },
                                    "max_cookie_length": {
                                        "maximum": 65535,
                                        "minimum": 0,
                                        "type": "integer",
                                        "description": "Buffer overflow max cookie length.",
                                        "format": "int16",
                                        "example": 4096
                                    }
                                },
                                "description": "Blocks all sql injection attacks."
                            },
                            "enable_json_dos_protection": {
                                "type": "boolean",
                                "description": "Logs all JSON denial of service attacks.",
                                "default": true
                            },
                            "json_dos_protection_block_mode": {
                                "type": "boolean",
                                "description": "Blocks all JSON denial of service attacks.",
                                "default": false
                            },
                            "json_dos_limits": {
                                "type": "object",
                                "properties": {
                                    "max_container_depth_check": {
                                        "type": "object",
                                        "properties": {
                                            "value": {
                                                "type": "integer"
                                            },
                                            "enable": {
                                                "type": "boolean",
                                                "default": false
                                            }
                                        },
                                        "description": "JSON maximum container depth check."
                                    },
                                    "max_document_length_check": {
                                        "type": "object",
                                        "properties": {
                                            "value": {
                                                "type": "integer"
                                            },
                                            "enable": {
                                                "type": "boolean",
                                                "default": false
                                            }
                                        },
                                        "description": "JSON maximum document length check."
                                    },
                                    "max_object_key_count_check": {
                                        "type": "object",
                                        "properties": {
                                            "value": {
                                                "type": "integer"
                                            },
                                            "enable": {
                                                "type": "boolean",
                                                "default": false
                                            }
                                        },
                                        "description": "JSON maximum object key count check."
                                    },
                                    "max_object_key_length_check": {
                                        "type": "object",
                                        "properties": {
                                            "value": {
                                                "type": "integer"
                                            },
                                            "enable": {
                                                "type": "boolean",
                                                "default": false
                                            }
                                        },
                                        "description": "JSON maximum object key length check."
                                    },
                                    "max_array_length_check": {
                                        "type": "object",
                                        "properties": {
                                            "value": {
                                                "type": "integer"
                                            },
                                            "enable": {
                                                "type": "boolean",
                                                "default": false
                                            }
                                        },
                                        "description": "JSON maximum array length check."
                                    },
                                    "max_string_length_check": {
                                        "type": "object",
                                        "properties": {
                                            "value": {
                                                "type": "integer"
                                            },
                                            "enable": {
                                                "type": "boolean",
                                                "default": false
                                            }
                                        },
                                        "description": "JSON maximum string length check."
                                    }
                                }
                            },
                            "ip_reputation_protection": {
                                "type": "boolean",
                                "description": "Blocks all SQL injection attacks.",
                                "default": false
                            },
                            "ip_reputation_categories": {
                                "type": "array",
                                "description": "Blocks all SQL injection attacks.",
                                "example": [
                                    "Spam Sources",
                                    "Windows Exploits"
                                ],
                                "items": {
                                    "type": "string",
                                    "description": "Type of the network function.",
                                    "enum": [
                                        "Spam Sources",
                                        "Windows Exploits",
                                        "Web Exploits",
                                        "Botnets Ransomeware C&Cs",
                                        "Scanners",
                                        "Low Reputation Score",
                                        "Phishing",
                                        "Anonymous or Suspicious Proxies",
                                        "Mobile Threats",
                                        "Tor Proxies"
                                    ]
                                }
                            },
                            "geo_location_protection": {
                                "type": "boolean",
                                "description": "Block traffic based on geo location.",
                                "default": true
                            },
                            "geo_blocking_locations": {
                                "type": "array",
                                "description": "Select country names from which to block traffic.",
                                "example": [
                                    "Syria",
                                    "Afghanistan"
                                ],
                                "items": {
                                    "type": "string",
                                    "description": "Country name to block."
                                }
                            },
                            "rate_limit": {
                                "type": "boolean",
                                "description": "Rate limit function.",
                                "default": false
                            },
                            "rate_limit_rules": {
                                "type": "array",
                                "description": "Rules to rate limit incoming traffic.",
                                "items": {
                                    "type": "object",
                                    "properties": {
                                        "name": {
                                            "type": "string",
                                            "description": "Name of the rate-limit rule."
                                        },
                                        "type": {
                                            "type": "string",
                                            "description": "Type of the rate limit rule.",
                                            "enum": [
                                                "overall_app",
                                                "per_url",
                                                "per_url_matching_pattern",
                                                "all_url_matching_pattern",
                                                "per_client",
                                                "per_client_in_subnet",
                                                "all_client_in_subnet",
                                                "by_specific_header_value",
                                                "by_header_values",
                                                "by_user_agent",
                                                "by_cookie_name",
                                                "per_client_matching_specific_url"
                                            ]
                                        },
                                        "filter_name": {
                                            "type": "string"
                                        },
                                        "filter_id": {
                                            "type": "string"
                                        },
                                        "threshold": {
                                            "maximum": 4294967295,
                                            "minimum": 1,
                                            "type": "integer",
                                            "description": "Threshold value for rate limiting overall application.",
                                            "format": "int32",
                                            "example": 1,
                                            "default": 1
                                        },
                                        "time_slice": {
                                            "maximum": 4294967,
                                            "minimum": 1,
                                            "type": "integer",
                                            "description": "Time slice value for rate limiting overall application in seconds.",
                                            "format": "int32",
                                            "example": 1,
                                            "default": 1
                                        },
                                        "limit_type": {
                                            "type": "string",
                                            "description": "Smooth or bursty request type.",
                                            "default": "BURSTY",
                                            "enum": [
                                                "BURSTY",
                                                "SMOOTH"
                                            ]
                                        },
                                        "action": {
                                            "type": "string",
                                            "description": "Action for rate limiting overall application.",
                                            "enum": [
                                                "RESET",
                                                "DROP",
                                                "HTTP429"
                                            ]
                                        },
                                        "state": {
                                            "type": "boolean",
                                            "description": "Enable or disable the rule"
                                        },
                                        "per_url_matching_pattern": {
                                            "type": "object",
                                            "properties": {
                                                "url": {
                                                    "type": "string",
                                                    "description": "URL pattern to match the incomming request URL."
                                                }
                                            },
                                            "description": "Required conditions for rate limit per URL matching pattern."
                                        },
                                        "all_url_matching_pattern": {
                                            "type": "object",
                                            "properties": {
                                                "url": {
                                                    "type": "string",
                                                    "description": "URL Pattern to match the incomming Request URL."
                                                }
                                            },
                                            "description": "Required conditions for rate limit all URL matching pattern."
                                        },
                                        "per_client_in_subnet": {
                                            "type": "object",
                                            "properties": {
                                                "subnet": {
                                                    "type": "string",
                                                    "description": "Subnet of the client IP."
                                                }
                                            },
                                            "description": "Required conditions for rate limit per client in subnet."
                                        },
                                        "all_client_in_subnet": {
                                            "type": "object",
                                            "properties": {
                                                "subnet": {
                                                    "type": "string",
                                                    "description": "Subnet of the client IP."
                                                }
                                            },
                                            "description": "Required conditions for rate limit all client in subnet."
                                        },
                                        "by_specific_header_value": {
                                            "type": "object",
                                            "properties": {
                                                "header_name": {
                                                    "type": "string",
                                                    "description": "Name of the header."
                                                },
                                                "header_value": {
                                                    "type": "string",
                                                    "description": "Value of the header."
                                                }
                                            },
                                            "description": "Required conditions to rate limit by specific header value."
                                        },
                                        "by_header_values": {
                                            "type": "object",
                                            "properties": {
                                                "header_name": {
                                                    "type": "string",
                                                    "description": "Name of the header."
                                                }
                                            },
                                            "description": "Required conditions for rate limit per by header values."
                                        },
                                        "by_user_agent": {
                                            "type": "object",
                                            "properties": {
                                                "user_agent": {
                                                    "type": "string",
                                                    "description": "Value pattern for user agent."
                                                }
                                            },
                                            "description": "Required conditions for rate limit per by user agent."
                                        },
                                        "by_cookie_name": {
                                            "type": "object",
                                            "properties": {
                                                "cookie_name": {
                                                    "type": "string",
                                                    "description": "Name of the cookie."
                                                }
                                            },
                                            "description": "Required conditions to rate limit per by cookie name."
                                        },
                                        "per_client_matching_specific_url": {
                                            "type": "object",
                                            "properties": {
                                                "url": {
                                                    "type": "string",
                                                    "description": "Url pattern to match the incomming request URL."
                                                }
                                            },
                                            "description": "Required conditions for rate limit per client matching specific URL."
                                        }
                                    }
                                }
                            },
                            "header_security": {
                                "type": "boolean",
                                "description": "Header security.",
                                "default": false
                            },
                            "header_security_rules": {
                                "type": "object",
                                "properties": {
                                    "recommended_security_headers": {
                                        "type": "object",
                                        "properties": {
                                            "X-Frame-Options": {
                                                "type": "object",
                                                "properties": {
                                                    "value": {
                                                        "maxLength": 8191,
                                                        "minLength": 1,
                                                        "type": "string",
                                                        "description": "Required header value for header X-Frame-Options.",
                                                        "enum": [
                                                            "SAMEORIGIN",
                                                            "DENY"
                                                        ]
                                                    },
                                                    "state": {
                                                        "type": "boolean",
                                                        "description": "Enable or disable the header configuration.",
                                                        "default": true
                                                    }
                                                },
                                                "description": "Configure response header X-Frame-Options."
                                            },
                                            "X-Content-Type-Options": {
                                                "type": "object",
                                                "properties": {
                                                    "value": {
                                                        "maxLength": 8191,
                                                        "minLength": 1,
                                                        "type": "string",
                                                        "description": "Required header value for header X-Content-Type-Options.",
                                                        "enum": [
                                                            "nosniff"
                                                        ]
                                                    },
                                                    "state": {
                                                        "type": "boolean",
                                                        "description": "Enable or disable the header configuration.",
                                                        "default": true
                                                    }
                                                },
                                                "description": "Configure response header X-Content-Type-Options."
                                            },
                                            "Content-Security-Policy": {
                                                "type": "object",
                                                "properties": {
                                                    "value": {
                                                        "maxLength": 8191,
                                                        "minLength": 1,
                                                        "type": "string",
                                                        "description": "Required header value for header Content-Security-Policy."
                                                    },
                                                    "state": {
                                                        "type": "boolean",
                                                        "description": "Enable or disable the header configuration.",
                                                        "default": true
                                                    }
                                                },
                                                "description": "Configure Response Header: Content-Security-Policy"
                                            },
                                            "Referrer-Policy": {
                                                "type": "object",
                                                "properties": {
                                                    "value": {
                                                        "maxLength": 8191,
                                                        "minLength": 1,
                                                        "type": "string",
                                                        "description": "Required header value for header Referrer-Policy.",
                                                        "enum": [
                                                            "no-referrer",
                                                            "no-referrer-when-downgrade",
                                                            "origin",
                                                            "origin-when-cross-origin",
                                                            "same-origin",
                                                            "strict-origin",
                                                            "strict-origin-when-cross-origin",
                                                            "unsafe-url"
                                                        ]
                                                    },
                                                    "state": {
                                                        "type": "boolean",
                                                        "description": "Enable or disable the header configuration.",
                                                        "default": true
                                                    }
                                                },
                                                "description": "Configure response header Referrer-Policy."
                                            }
                                        },
                                        "description": "Configure recommended security headers."
                                    },
                                    "insert_headers": {
                                        "type": "array",
                                        "description": "Configure response headers to be inserted.",
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "header_name": {
                                                    "maxLength": 1499,
                                                    "minLength": 1,
                                                    "type": "string",
                                                    "description": "Name of the response header to be inserted."
                                                },
                                                "header_value": {
                                                    "maxLength": 8191,
                                                    "minLength": 1,
                                                    "type": "string",
                                                    "description": "Header value of the response header to be inserted."
                                                },
                                                "state": {
                                                    "type": "boolean",
                                                    "description": "Enable or disable the header configuration.",
                                                    "default": true
                                                }
                                            }
                                        }
                                    },
                                    "delete_headers": {
                                        "type": "array",
                                        "description": "Configure response headers to be deleted.",
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "header_name": {
                                                    "maxLength": 1499,
                                                    "minLength": 1,
                                                    "type": "string",
                                                    "description": "Name of the response header to be deleted."
                                                },
                                                "state": {
                                                    "type": "boolean",
                                                    "description": "Enable or disable the header configuration.",
                                                    "default": true
                                                }
                                            }
                                        }
                                    }
                                },
                                "description": "Header security rules."
                            },
                            "enable_cookie_consistency": {
                                "type": "boolean",
                                "description": "Logs all inconsistent cookies.",
                                "default": true
                            },
                            "cookie_consistency_protection_block_mode": {
                                "type": "boolean",
                                "description": "Blocks all inconsistent cookies",
                                "default": true
                            },
                            "cookie_consistency_relaxations": {
                                "type": "array",
                                "description": "List of cookies for which cookie consistency check is relaxed.",
                                "items": {
                                    "type": "object",
                                    "properties": {
                                        "name": {
                                            "maxLength": 255,
                                            "type": "string",
                                            "description": "Name of the cookie to be relaxed from cookie consistency check."
                                        },
                                        "state": {
                                            "type": "boolean",
                                            "description": "Enable or disable the rule.",
                                            "default": true
                                        }
                                    }
                                }
                            },
                            "enable_field_consistency": {
                                "type": "boolean",
                                "description": "Logs all field consistency violations",
                                "default": true
                            },
                            "field_consistency_protection_block_mode": {
                                "type": "boolean",
                                "description": "Blocks all field consistency violations.",
                                "default": false
                            },
                            "field_consistency_relaxations": {
                                "type": "array",
                                "description": "List of formfields for which field consistency check is relaxed.",
                                "items": {
                                    "type": "object",
                                    "properties": {
                                        "name": {
                                            "maxLength": 255,
                                            "type": "string",
                                            "description": "Name of the formfield to be relaxed."
                                        },
                                        "url": {
                                            "maxLength": 2047,
                                            "type": "string",
                                            "description": "URL to be relaxed."
                                        },
                                        "state": {
                                            "type": "boolean",
                                            "description": "Enable or disable the rule.",
                                            "default": true
                                        }
                                    }
                                }
                            },
                            "enable_csrf_protection": {
                                "type": "boolean",
                                "description": "Logs all CSRF violations.",
                                "default": true
                            },
                            "csrf_protection_block_mode": {
                                "type": "boolean",
                                "description": "Blocks all CSRF violations.",
                                "default": false
                            },
                            "csrf_relaxations": {
                                "type": "array",
                                "description": "List of URLs for which CSRF check is relaxed.",
                                "items": {
                                    "type": "object",
                                    "properties": {
                                        "url": {
                                            "maxLength": 2047,
                                            "type": "string",
                                            "description": "Form action URL to be relaxed."
                                        },
                                        "state": {
                                            "type": "boolean",
                                            "description": "Enable or disable the rule.",
                                            "default": true
                                        }
                                    }
                                }
                            },
                            "enable_cmd_injection_protection": {
                                "type": "boolean",
                                "description": "Enable command injection protection for html",
                                "default": true
                            },
                            "cmd_injection_protection_block_mode": {
                                "type": "boolean",
                                "description": "Blocks those requests having commands injected",
                                "default": false
                            },
                            "enable_json_cmd_injection_protection": {
                                "type": "boolean",
                                "description": "Enable command injection protection for json",
                                "default": true
                            },
                            "block_past_cmd_injection_offenders": {
                                "type": "boolean",
                                "description": "Block all the requests from client which were performing Command Injection Attacks.",
                                "default": false
                            },
                            "cmd_injection_relaxations": {
                                "type": "array",
                                "description": "List of command injection relaxation rules",
                                "items": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string",
                                            "default": "HTML",
                                            "enum": [
                                                "HTML",
                                                "JSON"
                                            ]
                                        },
                                        "name": {
                                            "maxLength": 255,
                                            "type": "string",
                                            "description": "FormField/Header/Cookie name to be relaxed"
                                        },
                                        "url": {
                                            "maxLength": 2047,
                                            "type": "string",
                                            "description": "Formaction/request URL to be relaxed"
                                        },
                                        "location": {
                                            "type": "string",
                                            "description": "Location in the request where relaxation needs to be applied",
                                            "enum": [
                                                "FORMFIELD",
                                                "HEADER",
                                                "COOKIE"
                                            ]
                                        },
                                        "state": {
                                            "type": "boolean",
                                            "description": "Enable/ Disable the rule",
                                            "default": true
                                        }
                                    }
                                }
                            },
                            "enable_bot_trap_protection": {
                                "type": "boolean",
                                "description": "BOT trap detects automated bots by advertising a trap URL to the client",
                                "default": true
                            },
                            "bot_trap_protection_block_mode": {
                                "type": "boolean",
                                "description": "Blocks all bots detected using Bot trap detection",
                                "default": false
                            },
                            "bot_trap_enforcements": {
                                "type": "array",
                                "description": "List of urls for which Bot Trap URL is inserted",
                                "items": {
                                    "type": "object",
                                    "properties": {
                                        "url": {
                                            "maxLength": 127,
                                            "type": "string",
                                            "description": "Request URL regex pattern for which the Bot Trap URL is inserted"
                                        },
                                        "state": {
                                            "type": "boolean",
                                            "description": "Enable/ Disable the rule",
                                            "default": true
                                        }
                                    }
                                }
                            },
                            "enable_field_format_protection": {
                                "type": "boolean",
                                "description": "Logs all Form Field Attacks",
                                "default": true
                            },
                            "field_format_protection_block_mode": {
                                "type": "boolean",
                                "description": "Blocks all Form Field Attacks",
                                "default": false
                            },
                            "field_format_enforcements": {
                                "type": "array",
                                "description": "Add rules to enforce Field Format Check",
                                "items": {
                                    "required": [
                                        "field_type",
                                        "name",
                                        "url"
                                    ],
                                    "type": "object",
                                    "properties": {
                                        "name": {
                                            "maxLength": 255,
                                            "type": "string",
                                            "description": "Name of the Form field on which to enforce field type"
                                        },
                                        "url": {
                                            "maxLength": 2047,
                                            "type": "string",
                                            "description": "URL to enforce the check (regex)"
                                        },
                                        "field_type": {
                                            "maxLength": 31,
                                            "type": "string",
                                            "description": "Field type to enforce",
                                            "enum": [
                                                "integer",
                                                "alpha",
                                                "alphanum",
                                                "nohtml",
                                                "any",
                                                "ssn",
                                                "creditcard",
                                                "customformat"
                                            ]
                                        },
                                        "regex": {
                                            "maxLength": 255,
                                            "type": "string",
                                            "description": "Regular Expression"
                                        },
                                        "min_length": {
                                            "maximum": 65535,
                                            "minimum": 0,
                                            "type": "integer",
                                            "description": "Minimum Length allowed",
                                            "format": "int32"
                                        },
                                        "max_length": {
                                            "maximum": 65535,
                                            "minimum": 1,
                                            "type": "integer",
                                            "description": "Maximum Length allowed",
                                            "format": "int32"
                                        },
                                        "state": {
                                            "type": "boolean",
                                            "description": "Enable/ Disable the rule",
                                            "default": true
                                        }
                                    }
                                }
                            },
                            "enable_data_leak_prevention": {
                                "type": "boolean",
                                "description": "Logs all Sensitive Data. To block Sensitive Data Leak, Please enable Block.",
                                "default": true
                            },
                            "data_leak_prevention_enforcements": {
                                "type": "array",
                                "description": "Add rules to enforce data leak prevention.",
                                "items": {
                                    "required": [
                                        "max_match_length",
                                        "name",
                                        "regex"
                                    ],
                                    "type": "object",
                                    "properties": {
                                        "name": {
                                            "maxLength": 255,
                                            "type": "string",
                                            "description": "Name of the data leak prevention rule."
                                        },
                                        "regex": {
                                            "maxLength": 255,
                                            "type": "string",
                                            "description": "Regular Expression"
                                        },
                                        "max_match_length": {
                                            "maximum": 65535,
                                            "minimum": 1,
                                            "type": "integer",
                                            "description": "Maximum Length allowed",
                                            "format": "int32"
                                        },
                                        "action": {
                                            "type": "string",
                                            "description": "Action to be taken",
                                            "default": "",
                                            "enum": [
                                                "block",
                                                "xout",
                                                "none"
                                            ]
                                        },
                                        "state": {
                                            "type": "boolean",
                                            "description": "Enable/ Disable the rule",
                                            "default": true
                                        },
                                        "comments": {
                                            "type": "string",
                                            "description": "Comment"
                                        }
                                    }
                                }
                            },
                            "appsec_verbose_log": {
                                "type": "string",
                                "description": "Verbose Logging for WAF and BOT.",
                                "default": "pattern",
                                "enum": [
                                    "pattern",
                                    "patternPayload",
                                    "patternPayloadHeader"
                                ]
                            },
                            "enable_signatures": {
                                "type": "boolean",
                                "description": "Enable WAF signatures.",
                                "default": false
                            },
                            "signature_rules": {
                                "type": "array",
                                "items": {
                                    "required": [
                                        "id"
                                    ],
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "number"
                                        },
                                        "block": {
                                            "type": "boolean",
                                            "default": false
                                        },
                                        "log": {
                                            "type": "boolean",
                                            "default": true
                                        }
                                    }
                                }
                            },
                            "enable_bot_signatures": {
                                "type": "boolean",
                                "description": "Enable BOT signatures.",
                                "default": false
                            },
                            "enable_device_fingerprint": {
                                "type": "boolean",
                                "description": "Enable device fingerprint.",
                                "default": false
                            },
                            "device_fingerprint_protection_block_mode": {
                                "type": "boolean",
                                "description": "Blocks all bots detected using device fingerprint detection.",
                                "default": false
                            },
                            "bot_signature_rules": {
                                "type": "array",
                                "items": {
                                    "required": [
                                        "id"
                                    ],
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "number"
                                        },
                                        "action": {
                                            "type": "string",
                                            "default": "DROP",
                                            "enum": [
                                                "DROP",
                                                "RESET"
                                            ]
                                        },
                                        "log": {
                                            "type": "boolean",
                                            "default": true
                                        },
                                        "enabled": {
                                            "type": "boolean",
                                            "default": true
                                        }
                                    }
                                }
                            },
                            "enable_bot_tps": {
                                "type": "boolean",
                                "description": "Enable BOT TPS",
                                "default": false
                            },
                            "bot_tps_configs": {
                                "type": "array",
                                "description": "BOT TPS Configurations",
                                "items": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string",
                                            "description": "BOT TPS types allowed:\n*SOURCE_IP - TPS based on client IP address\n*GEOLOCATION - TPS based on the client's geographic location\n*REQUEST_URL - TPS based on client requests coming from a specific URL\n*HOST - TPS based on client requests forwarded to a specific back-end server IP address\n",
                                            "enum": [
                                                "SOURCE_IP",
                                                "GEOLOCATION",
                                                "REQUEST_URL",
                                                "HOST"
                                            ]
                                        },
                                        "threshold": {
                                            "maximum": 4294967295,
                                            "minimum": 1,
                                            "type": "integer",
                                            "description": "Maximum number of requests that are allowed in 1 second time interval. Min Value: 1 Max Value: 4294967295",
                                            "format": "int32"
                                        },
                                        "percentage": {
                                            "maximum": 4294967295,
                                            "minimum": 10,
                                            "type": "integer",
                                            "description": "Maximum percentage increase in the requests in 30 minutes interval. Min Value: 10 Max Value: 4294967295",
                                            "format": "int32"
                                        },
                                        "action": {
                                            "type": "string",
                                            "default": "NONE",
                                            "enum": [
                                                "NONE",
                                                "DROP",
                                                "RESET"
                                            ]
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Parameters for the appsec network function."
                    },
                    "auth_params": {
                        "type": "object",
                        "properties": {
                            "enable_auth": {
                                "type": "boolean",
                                "description": "Enable Authentication.",
                                "default": false
                            },
                            "auth_type": {
                                "type": "string",
                                "description": "Auth Protocol used",
                                "default": "SAML",
                                "enum": [
                                    "SAML"
                                ]
                            },
                            "saml_params": {
                                "required": [
                                    "metadata_url",
                                    "username_field"
                                ],
                                "type": "object",
                                "properties": {
                                    "metadata_url": {
                                        "type": "string",
                                        "description": "The URL corresponding to the endpoint from where information regarding the SAML IDP is fetched."
                                    },
                                    "issuer_name": {
                                        "type": "string",
                                        "description": "The name used to uniquely identify requests from and to the IDP."
                                    },
                                    "username_field": {
                                        "type": "string",
                                        "description": "The field in the SAML assertion that corresponds to the username.",
                                        "default": "username"
                                    }
                                },
                                "description": "Parameters required for SAML based authentication"
                            }
                        },
                        "description": "Parameters for the auth network function",
                        "example": {
                            "enable_auth": true,
                            "auth_type": "SAML",
                            "saml_params": {
                                "metadata_url": "https://login.microsoftonline.com/saml2/abcdef",
                                "issuer_name": "http://adapplicationregistry.onmicrosoft.com",
                                "username_field": "userprinciplename"
                            }
                        }
                    },
                    "content_policy_params": {
                        "type": "object",
                        "properties": {
                            "enable_content_rules": {
                                "type": "boolean",
                                "description": "Enable Content Rules.",
                                "default": false
                            },
                            "rule_list": {
                                "type": "array",
                                "description": "List of Content Rules.",
                                "items": {
                                    "type": "object",
                                    "properties": {
                                        "rule_name": {
                                            "maxLength": 1499,
                                            "minLength": 1,
                                            "type": "string",
                                            "description": "Enter the name of the new rule."
                                        },
                                        "filter_id": {
                                            "maxLength": 1499,
                                            "minLength": 1,
                                            "type": "string",
                                            "description": "ID of the filter that represents the condition part of the rule."
                                        },
                                        "filter_name": {
                                            "maxLength": 1499,
                                            "minLength": 1,
                                            "type": "string",
                                            "description": "Name of filter defined upfront in the application."
                                        },
                                        "operations": {
                                            "maxLength": 1000,
                                            "minLength": 1,
                                            "type": "string",
                                            "description": "Select an action for the rule",
                                            "enum": [
                                                "Forward Client IP with header name X-Forwarded-For",
                                                "Forward Port with header name X-Forwarded-Port",
                                                "Forward Protocol with header name X-Forwarded-Proto",
                                                "Insert",
                                                "Replace",
                                                "Remove",
                                                "Redirect to URL",
                                                "Drop the request",
                                                "Reset the request",
                                                "Respond with error",
                                                "Respond with HTML page"
                                            ]
                                        },
                                        "insert_params": {
                                            "type": "object",
                                            "properties": {
                                                "field": {
                                                    "maxLength": 1000,
                                                    "minLength": 1,
                                                    "type": "string",
                                                    "description": "Select the fileds for Insert Action Type.",
                                                    "enum": [
                                                        "Request Header",
                                                        "Response Header"
                                                    ]
                                                },
                                                "req_header": {
                                                    "type": "object",
                                                    "properties": {
                                                        "header_name": {
                                                            "maxLength": 32,
                                                            "minLength": 1,
                                                            "type": "string",
                                                            "description": "Enter the header name."
                                                        },
                                                        "header_value": {
                                                            "minLength": 1,
                                                            "type": "string",
                                                            "description": "Enter the header value."
                                                        }
                                                    },
                                                    "description": "Parameters for Insert Custom HTTP Header in Request"
                                                },
                                                "res_header": {
                                                    "type": "object",
                                                    "properties": {
                                                        "header_name": {
                                                            "maxLength": 32,
                                                            "minLength": 1,
                                                            "type": "string",
                                                            "description": "Enter the header name."
                                                        },
                                                        "header_value": {
                                                            "minLength": 1,
                                                            "type": "string",
                                                            "description": "Enter the header value."
                                                        }
                                                    },
                                                    "description": "Parameters for Insert Custom HTTP Header in Response."
                                                }
                                            },
                                            "description": "Parameters for insert type actions."
                                        },
                                        "replace_params": {
                                            "type": "object",
                                            "properties": {
                                                "field": {
                                                    "maxLength": 1000,
                                                    "minLength": 1,
                                                    "type": "string",
                                                    "description": "Select the fileds for Replace Action Type.",
                                                    "enum": [
                                                        "Request Header",
                                                        "Response Header",
                                                        "Request URL"
                                                    ]
                                                },
                                                "req_header": {
                                                    "type": "object",
                                                    "properties": {
                                                        "header_name": {
                                                            "maxLength": 32,
                                                            "minLength": 1,
                                                            "type": "string",
                                                            "description": "Enter the header name."
                                                        },
                                                        "header_value": {
                                                            "maxLength": 8191,
                                                            "minLength": 1,
                                                            "type": "string",
                                                            "description": "Enter the header value."
                                                        }
                                                    },
                                                    "description": "Parameters for Replacing HTTP Header Value in Request"
                                                },
                                                "res_header": {
                                                    "type": "object",
                                                    "properties": {
                                                        "header_name": {
                                                            "maxLength": 32,
                                                            "minLength": 1,
                                                            "type": "string",
                                                            "description": "Enter the header name."
                                                        },
                                                        "header_value": {
                                                            "maxLength": 8191,
                                                            "minLength": 1,
                                                            "type": "string",
                                                            "description": "Enter the header value."
                                                        }
                                                    },
                                                    "description": "Parameters for Replacing HTTP Header Value in Response"
                                                },
                                                "req_url": {
                                                    "type": "object",
                                                    "properties": {
                                                        "url_value": {
                                                            "maxLength": 8191,
                                                            "minLength": 1,
                                                            "type": "string",
                                                            "description": "Enter the new URL"
                                                        }
                                                    },
                                                    "description": "Parameters for Replacing URL in Request"
                                                }
                                            },
                                            "description": "Parameters for replace type actions."
                                        },
                                        "remove_params": {
                                            "type": "object",
                                            "properties": {
                                                "field": {
                                                    "maxLength": 1000,
                                                    "minLength": 1,
                                                    "type": "string",
                                                    "description": "Select the fileds for Remove Action Type.",
                                                    "enum": [
                                                        "Request Header",
                                                        "Response Header"
                                                    ]
                                                },
                                                "req_header": {
                                                    "type": "object",
                                                    "properties": {
                                                        "header_name": {
                                                            "maxLength": 1500,
                                                            "minLength": 1,
                                                            "type": "string",
                                                            "description": "Enter the header name."
                                                        }
                                                    },
                                                    "description": "Parameters for Removing HTTP Header in Request"
                                                },
                                                "res_header": {
                                                    "type": "object",
                                                    "properties": {
                                                        "header_name": {
                                                            "maxLength": 1500,
                                                            "minLength": 1,
                                                            "type": "string",
                                                            "description": "Enter the header name."
                                                        }
                                                    },
                                                    "description": "Parameters for Removing HTTP Header in Response"
                                                }
                                            },
                                            "description": "Parameters for remove type actions."
                                        },
                                        "redirect_to_url_params": {
                                            "type": "object",
                                            "properties": {
                                                "url_value": {
                                                    "maxLength": 8191,
                                                    "minLength": 1,
                                                    "type": "string",
                                                    "description": "Enter the absolute or relative URL. for example --> Relative URL --> /abc.html Here ip/domain name is not mentioned, then it redirect to same server but just the URL will be changed. Absolute URL --> http://10.106.79.183/testsite/file5k.html Here redirection will happen to server ip/domain name that is mentioned."
                                                }
                                            },
                                            "description": "Parameters for redirect URL."
                                        },
                                        "respond_with_error_params": {
                                            "type": "object",
                                            "properties": {
                                                "error_code": {
                                                    "maximum": 599,
                                                    "minimum": 400,
                                                    "type": "integer",
                                                    "description": "Enter the error code."
                                                },
                                                "reason_phrase": {
                                                    "maxLength": 8191,
                                                    "minLength": 1,
                                                    "type": "string",
                                                    "description": "Enter the Reason Phrase. If you do not provide a reason phrase the default reason phrase as mentioned below will be used. (301) - Moved Permanently (400) - Bad Request (403) - Forbidden Access (404) - Not Found (405) - Method Not Allowed (429) - Too Many Requests (500) - Server Error (501) - Not Implemented (503) - Service Unavailable"
                                                }
                                            },
                                            "description": "Parameters for respond with error message."
                                        },
                                        "respond_with_html_page_params": {
                                            "type": "object",
                                            "properties": {
                                                "filecontent": {
                                                    "type": "object",
                                                    "properties": {
                                                        "name": {
                                                            "type": "string"
                                                        },
                                                        "contents": {
                                                            "type": "string"
                                                        },
                                                        "encoding_type": {
                                                            "type": "string"
                                                        }
                                                    },
                                                    "description": "file content in Base64 format"
                                                }
                                            },
                                            "description": "Parameters for Respond with HTML Page"
                                        },
                                        "enabled": {
                                            "type": "boolean",
                                            "description": "Enable or disable the rule.",
                                            "default": true
                                        }
                                    }
                                }
                            }
                        },
                        "description": "Parameters for the content policy network function."
                    },
                    "ssl_backend_params": {
                        "type": "object",
                        "properties": {
                            "backend_sni": {
                                "type": "boolean",
                                "description": "This option is used to send the servername extension from the backend SSL services.",
                                "default": false
                            },
                            "server_auth": {
                                "type": "boolean",
                                "description": "This option is used to enable backend server's certificate validation.",
                                "default": false
                            },
                            "ciphers": {
                                "type": "array",
                                "description": "The cipherlist to be bound on the SSL backend service.",
                                "items": {
                                    "type": "string",
                                    "enum": [
                                        "TLS1-AES-128-CBC-SHA",
                                        "TLS1-AES-256-CBC-SHA",
                                        "TLS1-DHE-DSS-AES-128-CBC-SHA",
                                        "TLS1-DHE-DSS-AES-256-CBC-SHA",
                                        "TLS1-DHE-RSA-AES-128-CBC-SHA",
                                        "TLS1-DHE-RSA-AES-256-CBC-SHA",
                                        "TLS1-ECDHE-ECDSA-AES128-SHA",
                                        "TLS1-ECDHE-ECDSA-AES256-SHA",
                                        "TLS1-ECDHE-RSA-AES128-SHA",
                                        "TLS1-ECDHE-RSA-AES256-SHA",
                                        "TLS1.2-AES-128-SHA256",
                                        "TLS1.2-AES-256-SHA256",
                                        "TLS1.2-AES128-GCM-SHA256",
                                        "TLS1.2-AES256-GCM-SHA384",
                                        "TLS1.2-DHE-RSA-AES-128-SHA256",
                                        "TLS1.2-DHE-RSA-AES-256-SHA256",
                                        "TLS1.2-DHE-RSA-AES128-GCM-SHA256",
                                        "TLS1.2-DHE-RSA-AES256-GCM-SHA384",
                                        "TLS1.2-ECDHE-ECDSA-AES128-GCM-SHA256",
                                        "TLS1.2-ECDHE-ECDSA-AES128-SHA256",
                                        "TLS1.2-ECDHE-ECDSA-AES256-GCM-SHA384",
                                        "TLS1.2-ECDHE-ECDSA-AES256-SHA384",
                                        "TLS1.2-ECDHE-ECDSA-CHACHA20-POLY1305",
                                        "TLS1.2-ECDHE-RSA-AES-128-SHA256",
                                        "TLS1.2-ECDHE-RSA-AES-256-SHA384",
                                        "TLS1.2-ECDHE-RSA-AES128-GCM-SHA256",
                                        "TLS1.2-ECDHE-RSA-AES256-GCM-SHA384",
                                        "TLS1.2-ECDHE-RSA-CHACHA20-POLY1305"
                                    ]
                                }
                            },
                            "tls1": {
                                "type": "boolean",
                                "description": "This option is used to enable TLS1.0 version on the SSL serviceGroup.",
                                "default": true
                            },
                            "tls11": {
                                "type": "boolean",
                                "description": "This option is used to enable TLS1.1 version on the SSL serviceGroup.",
                                "default": true
                            },
                            "tls12": {
                                "type": "boolean",
                                "description": "This option is used to enable TLS1.2 version on the SSL serviceGroup.",
                                "default": true
                            }
                        },
                        "description": "Parameters for the backend SSL network function"
                    },
                    "ssl_frontend_params": {
                        "type": "object",
                        "properties": {
                            "aplussecurity": {
                                "type": "boolean",
                                "description": "This option is used to get aplus rating from qualys SSL labs.",
                                "default": false
                            },
                            "clientauth": {
                                "type": "boolean",
                                "description": "This option is used to enable frontend client's certificate validation.",
                                "default": false
                            },
                            "ciphers": {
                                "type": "array",
                                "description": "The cipherlist to be bound on the SSL application endpoint.",
                                "items": {
                                    "type": "string",
                                    "enum": [
                                        "TLS1-AES-128-CBC-SHA",
                                        "TLS1-AES-256-CBC-SHA",
                                        "TLS1-ECDHE-ECDSA-AES128-SHA",
                                        "TLS1-ECDHE-ECDSA-AES256-SHA",
                                        "TLS1-ECDHE-RSA-AES128-SHA",
                                        "TLS1-ECDHE-RSA-AES256-SHA",
                                        "TLS1.2-AES-128-SHA256",
                                        "TLS1.2-AES-256-SHA256",
                                        "TLS1.2-AES128-GCM-SHA256",
                                        "TLS1.2-AES256-GCM-SHA384",
                                        "TLS1.2-ECDHE-ECDSA-AES128-GCM-SHA256",
                                        "TLS1.2-ECDHE-ECDSA-AES128-SHA256",
                                        "TLS1.2-ECDHE-ECDSA-AES256-GCM-SHA384",
                                        "TLS1.2-ECDHE-ECDSA-AES256-SHA384",
                                        "TLS1.2-ECDHE-ECDSA-CHACHA20-POLY1305",
                                        "TLS1.2-ECDHE-RSA-AES-128-SHA256",
                                        "TLS1.2-ECDHE-RSA-AES-256-SHA384",
                                        "TLS1.2-ECDHE-RSA-AES128-GCM-SHA256",
                                        "TLS1.2-ECDHE-RSA-AES256-GCM-SHA384",
                                        "TLS1.2-ECDHE-RSA-CHACHA20-POLY1305",
                                        "TLS1.3-AES128-GCM-SHA256",
                                        "TLS1.3-AES256-GCM-SHA384",
                                        "TLS1.3-CHACHA20-POLY1305-SHA256"
                                    ]
                                }
                            },
                            "tls1": {
                                "type": "boolean",
                                "description": "This option is used to enable TLS1.0 version on the SSL serviceGroup.",
                                "default": true
                            },
                            "tls11": {
                                "type": "boolean",
                                "description": "This option is used to enable TLS1.1 version on the SSL serviceGroup.",
                                "default": true
                            },
                            "tls12": {
                                "type": "boolean",
                                "description": "This option is used to enable TLS1.2 version on the SSL serviceGroup.",
                                "default": true
                            },
                            "tls13": {
                                "type": "boolean",
                                "description": "This option is used to enable TLS1.3 version on the SSL serviceGroup.",
                                "default": false
                            }
                        },
                        "description": "Parameters for the frontend SSL network function."
                    },
                    "app_associations": {
                        "type": "array",
                        "description": "Lists all the applications associated with the network function.",
                        "items": {
                            "type": "string"
                        }
                    }
                },
                "example": {
                    "name": "ssl_networkfunction",
                    "type": "ssl_frontend",
                    "ssl_frontend_params": {
                        "aplusprofilesecurity": true,
                        "ciphers": [
                            "TLS1.2-ECDHE-RSA-AES-128-SHA256",
                            "TLS1.2-AES-256-SHA256",
                            "TLS1-AES-256-CBC-SHA"
                        ],
                        "tls1": true,
                        "tls11": true,
                        "tls12": true,
                        "tls13": false
                    }
                }
            },
            "NetworkFunctionWithIdResponse": {
                "allOf": [
                    {
                        "$ref": "#/components/schemas/NetworkFunctionWithId"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "created_at": {
                                "type": "string"
                            },
                            "updated_at": {
                                "type": "string"
                            },
                            "deployed_at": {
                                "type": "string"
                            },
                            "job_id": {
                                "type": "string",
                                "example": "8f6c8c5f36b4b6b248797cebe0eaecfa"
                            },
                            "status": {
                                "type": "string",
                                "description": "State of the application"
                            }
                        }
                    }
                ]
            },
            "NetworkFunctionWithId": {
                "title": "NetworkFunctionWithId",
                "allOf": [
                    {
                        "type": "object",
                        "required": [
                            "id"
                        ],
                        "properties": {
                            "id": {
                                "type": "string",
                                "example": "82308ca33-371c-4920-9162-910bd43204ba"
                            }
                        }
                    },
                    {
                        "$ref": "#/components/schemas/NetworkFunction"
                    }
                ]
            },
            "addEnvironmentsRequest": {
                "title": "Add environments request",
                "type": "object",
                "properties": {
                    "environments": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Environment"
                        }
                    }
                }
            },
            "addEnvironmentsResponse": {
                "title": "Add environments response",
                "type": "object",
                "properties": {
                    "environments": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/EnvironmentWithIdResponse"
                        }
                    }
                }
            },
            "modifyEnvironmentRequest": {
                "title": "Modify environments request",
                "type": "object",
                "properties": {
                    "environment": {
                        "$ref": "#/components/schemas/EnvironmentWithId"
                    }
                }
            },
            "modifyEnvironmentResponse": {
                "title": "modifyEnvironmentResponse",
                "type": "object",
                "properties": {
                    "environment": {
                        "$ref": "#/components/schemas/EnvironmentWithIdResponse"
                    }
                }
            },
            "listEnvironmentsResponse": {
                "title": "List environments response",
                "type": "object",
                "properties": {
                    "environments": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/EnvironmentWithIdResponse"
                        }
                    }
                }
            },
            "getEnvironmentResponse": {
                "title": "getEnvironmentResponse",
                "type": "object",
                "properties": {
                    "environment": {
                        "$ref": "#/components/schemas/EnvironmentWithIdResponse"
                    }
                }
            },
            "EnvironmentAWSParams": {
                "type": "object",
                "properties": {
                    "aws_params": {
                        "type": "object",
                        "properties": {
                            "region": {
                                "type": "string"
                            },
                            "region_name": {
                                "type": "string"
                            },
                            "vpc_id": {
                                "type": "string"
                            },
                            "vpc_name": {
                                "type": "string"
                            },
                            "vpc_cidr": {
                                "type": "string",
                                "description": "IPv4 CIDR of the VPC (required)."
                            },
                            "availability_zones": {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "server_subnet_ids": {
                                "$ref": "#/components/schemas/ServerSubnetIds"
                            },
                            "vpx_product_code": {
                                "type": "string",
                                "readOnly": true
                            },
                            "instance_type": {
                                "readOnly": true,
                                "type": "string"
                            }
                        }
                    }
                }
            },
            "EnvironmentAzureParams": {
                "type": "object",
                "properties": {
                    "azure_params": {
                        "type": "object",
                        "properties": {
                            "region": {
                                "type": "string"
                            },
                            "region_name": {
                                "type": "string"
                            },
                            "vpc_id": {
                                "type": "string"
                            },
                            "vpc_name": {
                                "type": "string"
                            },
                            "vpc_cidr": {
                                "type": "string"
                            },
                            "resource_group": {
                                "type": "string"
                            },
                            "availability_zones": {
                                "type": "array",
                                "items": {
                                    "type": "string",
                                    "enum": [
                                        "1",
                                        "2",
                                        "3"
                                    ]
                                }
                            },
                            "availability_set": {
                                "type": "boolean",
                                "default": false
                            },
                            "vpx_product_code": {
                                "type": "string",
                                "readOnly": true
                            },
                            "vm_size": {
                                "type": "string",
                                "readOnly": true
                            },
                            "server_subnet_id": {
                                "type": "string"
                            }
                        }
                    }
                }
            },
            "EnvironmentGCPParams": {
                "type": "object",
                "properties": {
                    "gcp_params": {
                        "type": "object",
                        "properties": {
                            "region": {
                                "type": "string"
                            },
                            "client_cidr": {
                                "type": "string"
                            },
                            "mgmt_cidr": {
                                "type": "string"
                            },
                            "server_cidr": {
                                "type": "string"
                            },
                            "server_network": {
                                "type": "string"
                            },
                            "server_subnetwork": {
                                "type": "string"
                            },
                            "zones": {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "vpx_product_code": {
                                "type": "string",
                                "readOnly": true
                            },
                            "machine_type": {
                                "type": "string",
                                "readOnly": true
                            }
                        }
                    }
                }
            },
            "EnvironmentTags": {
                "type": "object",
                "properties": {
                    "tags": {
                        "type": "array",
                        "description": "Tags associated with environment.",
                        "items": {
                            "type": "object",
                            "properties": {
                                "prop_key": {
                                    "type": "string",
                                    "description": "Name of the tag key."
                                },
                                "prop_value": {
                                    "type": "string",
                                    "description": "Value of the tag."
                                }
                            }
                        }
                    }
                }
            },
            "EnvironmentApplications": {
                "type": "object",
                "properties": {
                    "applications": {
                        "type": "array",
                        "readOnly": true,
                        "items": {
                            "type": "object",
                            "properties": {
                                "id": {
                                    "type": "string",
                                    "description": "ID of the application"
                                },
                                "name": {
                                    "type": "string",
                                    "description": "Name of the application"
                                },
                                "status": {
                                    "type": "string",
                                    "description": "State of the application"
                                }
                            }
                        }
                    }
                }
            },
            "EnvironmentCloud": {
                "type": "object",
                "properties": {
                    "cloud": {
                        "type": "string",
                        "example": "aws",
                        "enum": [
                            "aws",
                            "azure",
                            "gcp"
                        ]
                    }
                }
            },
            "EnvironmentLicenseInfo": {
                "type": "object",
                "properties": {
                    "license_info": {
                        "type": "object",
                        "readOnly": true,
                        "properties": {
                            "type": {
                                "type": "string",
                                "enum": [
                                    "capacity"
                                ]
                            },
                            "bandwidth": {
                                "type": "string",
                                "description": "Applicable for type=capacity"
                            },
                            "unit": {
                                "type": "string"
                            },
                            "edition": {
                                "type": "string",
                                "default": "Platinum"
                            }
                        }
                    }
                }
            },
            "Environment": {
                "required": [
                    "name",
                    "access_profile_id",
                    "adc_device_profile_id",
                    "cloud"
                ],
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "name": {
                                "maxLength": 256,
                                "type": "string",
                                "example": "myenvironment"
                            },
                            "autoscalegroup_name": {
                                "type": "string",
                                "readOnly": true
                            },
                            "access_profile_id": {
                                "type": "string",
                                "example": "mysite"
                            },
                            "adc_device_profile_id": {
                                "type": "string"
                            },
                            "nat_eips": {
                                "type": "array",
                                "readOnly": true,
                                "items": {
                                    "type": "string"
                                }
                            },
                            "deployment_id": {
                                "type": "string",
                                "readOnly": true
                            },
                            "is_netscaler_ops_managed": {
                                "type": "boolean",
                                "default": true
                            },
                            "origin_application_server_sites": {
                                "$ref": "#/components/schemas/OriginApplicationServerSitesObject"
                            },
                            "license_type": {
                                "type": "string",
                                "description": "If adm, pooled licenses will be used to create instances and if cloud, premium 200mbps marketplace license will be used.",
                                "default": "adm",
                                "enum": [
                                    "adm",
                                    "cloud"
                                ]
                            }
                        }
                    },
                    {
                        "$ref": "#/components/schemas/EnvironmentCloud"
                    },
                    {
                        "$ref": "#/components/schemas/EnvironmentAWSParams"
                    },
                    {
                        "$ref": "#/components/schemas/EnvironmentAzureParams"
                    },
                    {
                        "$ref": "#/components/schemas/EnvironmentGCPParams"
                    },
                    {
                        "$ref": "#/components/schemas/EnvironmentTags"
                    },
                    {
                        "$ref": "#/components/schemas/EnvironmentApplications"
                    },
                    {
                        "$ref": "#/components/schemas/EnvironmentLicenseInfo"
                    }
                ],
                "example": {
                    "name": "AWSStagingEnvironment",
                    "autoscalegroup_name": "AsgInStagingEnv",
                    "access_profile_id": "930ac012-e068-4799-a5ea-5669b39cbbf3",
                    "cloud": "aws",
                    "aws_params": {
                        "region": "ap-southeast-1",
                        "region_name": "Singapore",
                        "vpc_id": "vpc-930ac012",
                        "vpc_name": "VPCForStagingInfra",
                        "availability_zones": [
                            "ap-southeast-1a",
                            "ap-southeast-1b"
                        ],
                        "vpx_product_code": "5669b39cbbf333",
                        "instance_type": "m4.xlarge",
                        "server_subnet_ids": [
                            {
                                "zone": "ap-southeast-1a",
                                "subnet": "subnet-abcd"
                            }
                        ]
                    },
                    "origin_application_server_sites": {
                        "external": {
                            "cidrs": [
                                "14.0.0.0/32",
                                "15.0.0.0/16"
                            ]
                        },
                        "aws": {
                            "environment_vpc": {
                                "cidrs": [
                                    "16.0.0.0/16"
                                ]
                            },
                            "peered_vpcs": [
                                {
                                    "id": "pcx-123",
                                    "vpc_id": "vpc_1_id",
                                    "vpc_name": "vpc_1",
                                    "cidrs": [
                                        "10.0.0.0/16"
                                    ]
                                },
                                {
                                    "id": "pcx-456",
                                    "vpc_id": "vpc_2_id",
                                    "vpc_name": "vpc_2",
                                    "cidrs": [
                                        "11.0.0.0/16"
                                    ]
                                }
                            ],
                            "transit_gateway_vpcs": [
                                {
                                    "id": "tgw-123",
                                    "vpc_id": "vpc_3_id",
                                    "vpc_name": "vpc_3",
                                    "cidrs": [
                                        "12.0.0.0/16"
                                    ]
                                },
                                {
                                    "id": "tgw-456,",
                                    "vpc_id": "vpc_4_id",
                                    "vpc_name": "vpc_4",
                                    "cidrs": [
                                        "12.0.0.0/16"
                                    ]
                                }
                            ]
                        }
                    }
                }
            },
            "EnvironmentWithId": {
                "title": "EnvironmentWithId",
                "allOf": [
                    {
                        "type": "object",
                        "required": [
                            "id"
                        ],
                        "properties": {
                            "id": {
                                "type": "string",
                                "example": "82308ca33-371c-4920-9162-910bd43204ba"
                            }
                        }
                    },
                    {
                        "$ref": "#/components/schemas/Environment"
                    }
                ]
            },
            "EnvironmentWithIdResponse": {
                "allOf": [
                    {
                        "$ref": "#/components/schemas/EnvironmentWithId"
                    },
                    {
                        "$ref": "#/components/schemas/additionalDetails"
                    }
                ]
            },
            "getFilterResponse": {
                "title": "getFilterResponse",
                "type": "object",
                "properties": {
                    "filter": {
                        "$ref": "#/components/schemas/FilterWithId"
                    }
                }
            },
            "addFiltersRequest": {
                "title": "addFilterRequest",
                "type": "object",
                "properties": {
                    "filters": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Filter"
                        }
                    }
                }
            },
            "addFiltersResponse": {
                "title": "addFiltersResponse",
                "type": "object",
                "properties": {
                    "filters": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/FilterWithId"
                        }
                    }
                }
            },
            "modifyFilterRequest": {
                "title": "modifyFilterRequest",
                "type": "object",
                "properties": {
                    "filter": {
                        "$ref": "#/components/schemas/FilterWithId"
                    }
                }
            },
            "modifyFilterResponse": {
                "title": "modifyFilterResponse",
                "type": "object",
                "properties": {
                    "filter": {
                        "$ref": "#/components/schemas/FilterWithId"
                    }
                }
            },
            "listFiltersResponse": {
                "title": "List Filters Response",
                "type": "object",
                "properties": {
                    "filters": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/FilterWithId"
                        }
                    }
                }
            },
            "FilterWithId": {
                "title": "FilterWithId",
                "allOf": [
                    {
                        "type": "object",
                        "required": [
                            "id"
                        ],
                        "properties": {
                            "id": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "$ref": "#/components/schemas/Filter"
                    }
                ]
            },
            "FilterExpression": {
                "type": "object",
                "properties": {
                    "equals": {
                        "type": "object",
                        "properties": {
                            "req_method": {
                                "type": "string",
                                "enum": [
                                    "GET",
                                    "POST",
                                    "PUT",
                                    "DELETE"
                                ]
                            },
                            "req_url": {
                                "type": "object",
                                "properties": {
                                    "path_list": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "options": {
                                        "type": "object",
                                        "properties": {
                                            "ignorecase": {
                                                "type": "object",
                                                "properties": {
                                                    "attributes": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "req_urlsuffix": {
                                "type": "object",
                                "properties": {
                                    "suffix": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "options": {
                                        "type": "object",
                                        "properties": {
                                            "ignorecase": {
                                                "type": "object",
                                                "properties": {
                                                    "attributes": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "req_urlquery": {
                                "type": "object",
                                "properties": {
                                    "queryname": {
                                        "type": "string"
                                    },
                                    "queryvalue": {
                                        "type": "string"
                                    },
                                    "options": {
                                        "type": "object",
                                        "properties": {
                                            "ignorecase": {
                                                "type": "object",
                                                "properties": {
                                                    "attributes": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "client_ipaddress": {
                                "type": "object",
                                "properties": {
                                    "values": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                }
                            },
                            "client_tcpaddress_srcport": {
                                "type": "object",
                                "properties": {
                                    "values": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                }
                            },
                            "res_statuscode": {
                                "type": "object",
                                "properties": {
                                    "values": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                }
                            },
                            "req_hostname": {
                                "type": "object",
                                "properties": {
                                    "values": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                }
                            },
                            "api_url": {
                                "type": "object",
                                "properties": {
                                    "path_list": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "options": {
                                        "type": "object",
                                        "properties": {
                                            "ignorecase": {
                                                "type": "object",
                                                "properties": {
                                                    "attributes": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "contains": {
                        "type": "object",
                        "properties": {
                            "req_url": {
                                "type": "object",
                                "properties": {
                                    "path_list": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "options": {
                                        "type": "object",
                                        "properties": {
                                            "ignorecase": {
                                                "type": "object",
                                                "properties": {
                                                    "attributes": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "req_urlsuffix": {
                                "type": "object",
                                "properties": {
                                    "suffix": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "options": {
                                        "type": "object",
                                        "properties": {
                                            "ignorecase": {
                                                "type": "object",
                                                "properties": {
                                                    "attributes": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "req_urlquery": {
                                "type": "object",
                                "properties": {
                                    "queryname": {
                                        "type": "string"
                                    },
                                    "queryvalue": {
                                        "type": "string"
                                    },
                                    "options": {
                                        "type": "object",
                                        "properties": {
                                            "ignorecase": {
                                                "type": "object",
                                                "properties": {
                                                    "attributes": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "req_header": {
                                "type": "object",
                                "properties": {
                                    "header_names": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "header_value": {
                                        "type": "string"
                                    },
                                    "options": {
                                        "type": "object",
                                        "properties": {
                                            "ignorecase": {
                                                "type": "object",
                                                "properties": {
                                                    "attributes": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "res_header": {
                                "type": "object",
                                "properties": {
                                    "header_names": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "header_value": {
                                        "type": "string"
                                    },
                                    "options": {
                                        "type": "object",
                                        "properties": {
                                            "ignorecase": {
                                                "type": "object",
                                                "properties": {
                                                    "attributes": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "req_hostname": {
                                "type": "object",
                                "properties": {
                                    "values": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                }
                            },
                            "req_cookie": {
                                "type": "object",
                                "properties": {
                                    "cookie_name": {
                                        "type": "string"
                                    },
                                    "cookie_value": {
                                        "type": "string"
                                    },
                                    "options": {
                                        "type": "object",
                                        "properties": {
                                            "ignorecase": {
                                                "type": "object",
                                                "properties": {
                                                    "attributes": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "exists": {
                        "type": "object",
                        "properties": {
                            "req_header": {
                                "type": "object",
                                "properties": {
                                    "header_names": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                }
                            },
                            "res_header": {
                                "type": "object",
                                "properties": {
                                    "header_names": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                }
                            },
                            "req_hostname": {
                                "type": "object",
                                "properties": {
                                    "values": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "startswith": {
                        "type": "object",
                        "properties": {
                            "req_url": {
                                "type": "object",
                                "properties": {
                                    "path_list": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "options": {
                                        "type": "object",
                                        "properties": {
                                            "ignorecase": {
                                                "type": "object",
                                                "properties": {
                                                    "attributes": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "req_urlsuffix": {
                                "type": "object",
                                "properties": {
                                    "suffix": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "options": {
                                        "type": "object",
                                        "properties": {
                                            "ignorecase": {
                                                "type": "object",
                                                "properties": {
                                                    "attributes": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "req_urlquery": {
                                "type": "object",
                                "properties": {
                                    "queryname": {
                                        "type": "string"
                                    },
                                    "queryvalue": {
                                        "type": "string"
                                    },
                                    "options": {
                                        "type": "object",
                                        "properties": {
                                            "ignorecase": {
                                                "type": "object",
                                                "properties": {
                                                    "attributes": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "req_hostname": {
                                "type": "object",
                                "properties": {
                                    "values": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                }
                            },
                            "api_url": {
                                "type": "object",
                                "properties": {
                                    "path_list": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "options": {
                                        "type": "object",
                                        "properties": {
                                            "ignorecase": {
                                                "type": "object",
                                                "properties": {
                                                    "attributes": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "endswith": {
                        "type": "object",
                        "properties": {
                            "req_url": {
                                "type": "object",
                                "properties": {
                                    "path_list": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "options": {
                                        "type": "object",
                                        "properties": {
                                            "ignorecase": {
                                                "type": "object",
                                                "properties": {
                                                    "attributes": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "req_urlsuffix": {
                                "type": "object",
                                "properties": {
                                    "suffix": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "options": {
                                        "type": "object",
                                        "properties": {
                                            "ignorecase": {
                                                "type": "object",
                                                "properties": {
                                                    "attributes": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "req_urlquery": {
                                "type": "object",
                                "properties": {
                                    "queryname": {
                                        "type": "string"
                                    },
                                    "queryvalue": {
                                        "type": "string"
                                    },
                                    "options": {
                                        "type": "object",
                                        "properties": {
                                            "ignorecase": {
                                                "type": "object",
                                                "properties": {
                                                    "attributes": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "req_hostname": {
                                "type": "object",
                                "properties": {
                                    "values": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "between": {
                        "type": "object",
                        "properties": {
                            "client_ipaddress": {
                                "type": "object",
                                "properties": {
                                    "range_start": {
                                        "type": "string"
                                    },
                                    "range_end": {
                                        "type": "string"
                                    }
                                }
                            },
                            "res_statuscode": {
                                "type": "object",
                                "properties": {
                                    "range_start": {
                                        "type": "string"
                                    },
                                    "range_end": {
                                        "type": "string"
                                    }
                                }
                            }
                        }
                    },
                    "insubnet": {
                        "type": "object",
                        "properties": {
                            "client_ipaddress": {
                                "type": "object",
                                "properties": {
                                    "subnet": {
                                        "type": "string"
                                    }
                                }
                            }
                        }
                    },
                    "isvalid": {
                        "type": "object",
                        "properties": {
                            "http_req": {
                                "type": "boolean"
                            },
                            "http_res": {
                                "type": "boolean"
                            }
                        }
                    },
                    "greater than": {
                        "type": "object",
                        "properties": {
                            "client_tcpaddress_mss": {
                                "type": "object",
                                "properties": {
                                    "value": {
                                        "type": "string"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "FilterNegate": {
                "type": "object",
                "properties": {
                    "not equals": {
                        "type": "object",
                        "properties": {
                            "req_method": {
                                "type": "string",
                                "enum": [
                                    "GET",
                                    "POST",
                                    "PUT",
                                    "DELETE"
                                ]
                            },
                            "req_url": {
                                "type": "object",
                                "properties": {
                                    "path_list": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "options": {
                                        "type": "object",
                                        "properties": {
                                            "ignorecase": {
                                                "type": "object",
                                                "properties": {
                                                    "attributes": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "req_urlsuffix": {
                                "type": "object",
                                "properties": {
                                    "suffix": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "options": {
                                        "type": "object",
                                        "properties": {
                                            "ignorecase": {
                                                "type": "object",
                                                "properties": {
                                                    "attributes": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "req_urlquery": {
                                "type": "object",
                                "properties": {
                                    "queryname": {
                                        "type": "string"
                                    },
                                    "queryvalue": {
                                        "type": "string"
                                    },
                                    "options": {
                                        "type": "object",
                                        "properties": {
                                            "ignorecase": {
                                                "type": "object",
                                                "properties": {
                                                    "attributes": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "client_ipaddress": {
                                "type": "object",
                                "properties": {
                                    "values": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                }
                            },
                            "res_statuscode": {
                                "type": "object",
                                "properties": {
                                    "values": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                }
                            },
                            "req_hostname": {
                                "type": "object",
                                "properties": {
                                    "values": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                }
                            },
                            "api_url": {
                                "type": "object",
                                "properties": {
                                    "path_list": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "options": {
                                        "type": "object",
                                        "properties": {
                                            "ignorecase": {
                                                "type": "object",
                                                "properties": {
                                                    "attributes": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "not contains": {
                        "type": "object",
                        "properties": {
                            "req_url": {
                                "type": "object",
                                "properties": {
                                    "path_list": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "options": {
                                        "type": "object",
                                        "properties": {
                                            "ignorecase": {
                                                "type": "object",
                                                "properties": {
                                                    "attributes": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "req_urlsuffix": {
                                "type": "object",
                                "properties": {
                                    "suffix": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "options": {
                                        "type": "object",
                                        "properties": {
                                            "ignorecase": {
                                                "type": "object",
                                                "properties": {
                                                    "attributes": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "req_urlquery": {
                                "type": "object",
                                "properties": {
                                    "queryname": {
                                        "type": "string"
                                    },
                                    "queryvalue": {
                                        "type": "string"
                                    },
                                    "options": {
                                        "type": "object",
                                        "properties": {
                                            "ignorecase": {
                                                "type": "object",
                                                "properties": {
                                                    "attributes": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "req_header": {
                                "type": "object",
                                "properties": {
                                    "header_names": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "header_value": {
                                        "type": "string"
                                    },
                                    "options": {
                                        "type": "object",
                                        "properties": {
                                            "ignorecase": {
                                                "type": "object",
                                                "properties": {
                                                    "attributes": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "res_header": {
                                "type": "object",
                                "properties": {
                                    "header_names": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "header_value": {
                                        "type": "string"
                                    },
                                    "options": {
                                        "type": "object",
                                        "properties": {
                                            "ignorecase": {
                                                "type": "object",
                                                "properties": {
                                                    "attributes": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "req_hostname": {
                                "type": "object",
                                "properties": {
                                    "values": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                }
                            },
                            "req_cookie": {
                                "type": "object",
                                "properties": {
                                    "cookie_name": {
                                        "type": "string"
                                    },
                                    "cookie_value": {
                                        "type": "string"
                                    },
                                    "options": {
                                        "type": "object",
                                        "properties": {
                                            "ignorecase": {
                                                "type": "object",
                                                "properties": {
                                                    "attributes": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "not exists": {
                        "type": "object",
                        "properties": {
                            "req_header": {
                                "type": "object",
                                "properties": {
                                    "header_names": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                }
                            },
                            "res_header": {
                                "type": "object",
                                "properties": {
                                    "header_names": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                }
                            },
                            "req_hostname": {
                                "type": "object",
                                "properties": {
                                    "values": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "not startswith": {
                        "type": "object",
                        "properties": {
                            "req_url": {
                                "type": "object",
                                "properties": {
                                    "path_list": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "options": {
                                        "type": "object",
                                        "properties": {
                                            "ignorecase": {
                                                "type": "object",
                                                "properties": {
                                                    "attributes": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "req_urlsuffix": {
                                "type": "object",
                                "properties": {
                                    "suffix": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "options": {
                                        "type": "object",
                                        "properties": {
                                            "ignorecase": {
                                                "type": "object",
                                                "properties": {
                                                    "attributes": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "req_urlquery": {
                                "type": "object",
                                "properties": {
                                    "queryname": {
                                        "type": "string"
                                    },
                                    "queryvalue": {
                                        "type": "string"
                                    },
                                    "options": {
                                        "type": "object",
                                        "properties": {
                                            "ignorecase": {
                                                "type": "object",
                                                "properties": {
                                                    "attributes": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "req_hostname": {
                                "type": "object",
                                "properties": {
                                    "values": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "not endswith": {
                        "type": "object",
                        "properties": {
                            "req_url": {
                                "type": "object",
                                "properties": {
                                    "path_list": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "options": {
                                        "type": "object",
                                        "properties": {
                                            "ignorecase": {
                                                "type": "object",
                                                "properties": {
                                                    "attributes": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "req_urlsuffix": {
                                "type": "object",
                                "properties": {
                                    "suffix": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "options": {
                                        "type": "object",
                                        "properties": {
                                            "ignorecase": {
                                                "type": "object",
                                                "properties": {
                                                    "attributes": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "req_urlquery": {
                                "type": "object",
                                "properties": {
                                    "queryname": {
                                        "type": "string"
                                    },
                                    "queryvalue": {
                                        "type": "string"
                                    },
                                    "options": {
                                        "type": "object",
                                        "properties": {
                                            "ignorecase": {
                                                "type": "object",
                                                "properties": {
                                                    "attributes": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "req_hostname": {
                                "type": "object",
                                "properties": {
                                    "values": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "not between": {
                        "type": "object",
                        "properties": {
                            "client_ipaddress": {
                                "type": "object",
                                "properties": {
                                    "range_start": {
                                        "type": "string"
                                    },
                                    "range_end": {
                                        "type": "string"
                                    }
                                }
                            },
                            "res_statuscode": {
                                "type": "object",
                                "properties": {
                                    "range_start": {
                                        "type": "string"
                                    },
                                    "range_end": {
                                        "type": "string"
                                    }
                                }
                            }
                        }
                    },
                    "not insubnet": {
                        "type": "object",
                        "properties": {
                            "client_ipaddress": {
                                "type": "object",
                                "properties": {
                                    "subnet": {
                                        "type": "string"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "FilterAnd": {
                "type": "object",
                "properties": {
                    "and": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/FilterExpression"
                                },
                                {
                                    "$ref": "#/components/schemas/FilterNegate"
                                }
                            ]
                        }
                    }
                }
            },
            "FilterOr": {
                "type": "object",
                "properties": {
                    "or": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/FilterExpression"
                                },
                                {
                                    "$ref": "#/components/schemas/FilterNegate"
                                }
                            ]
                        }
                    }
                }
            },
            "FilterComplex": {
                "allOf": [
                    {
                        "$ref": "#/components/schemas/FilterNegate"
                    },
                    {
                        "$ref": "#/components/schemas/FilterExpression"
                    },
                    {
                        "$ref": "#/components/schemas/FilterAnd"
                    },
                    {
                        "$ref": "#/components/schemas/FilterOr"
                    }
                ]
            },
            "Filter": {
                "required": [
                    "expression",
                    "name"
                ],
                "type": "object",
                "properties": {
                    "name": {
                        "maxLength": 256,
                        "type": "string"
                    },
                    "expression": {
                        "$ref": "#/components/schemas/FilterComplex"
                    }
                },
                "example": {
                    "name": "ApplySecurityFilter",
                    "expression": {
                        "equals": {
                            "req_header": {
                                "name": "x-forwarded-for",
                                "value": "apply-appsec"
                            }
                        }
                    }
                }
            },
            "getApplicationServiceResponse": {
                "title": "Get application service response.",
                "type": "object",
                "properties": {
                    "application_service": {
                        "$ref": "#/components/schemas/ApplicationServiceWithId"
                    }
                }
            },
            "modifyApplicationServiceRequest": {
                "title": "Modify application service request.",
                "type": "object",
                "properties": {
                    "application_service": {
                        "$ref": "#/components/schemas/ApplicationServiceWithId"
                    }
                }
            },
            "modifyApplicationServiceResponse": {
                "title": "Modify application service response.",
                "type": "object",
                "properties": {
                    "application_service": {
                        "$ref": "#/components/schemas/ApplicationServiceWithId"
                    }
                }
            },
            "addApplicationServicesRequest": {
                "title": "Add application services request.",
                "type": "object",
                "properties": {
                    "application_services": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ApplicationService"
                        }
                    }
                }
            },
            "addApplicationServicesResponse": {
                "title": "Add application service response.",
                "type": "object",
                "properties": {
                    "application_services": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ApplicationServiceWithId"
                        }
                    }
                }
            },
            "listApplicationServicesResponse": {
                "title": "List application services response.",
                "type": "object",
                "properties": {
                    "application_services": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ApplicationServiceWithId"
                        }
                    }
                }
            },
            "ApplicationServiceWithId": {
                "title": "ApplicationServiceWithId",
                "allOf": [
                    {
                        "type": "object",
                        "required": [
                            "id"
                        ],
                        "properties": {
                            "id": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "$ref": "#/components/schemas/ApplicationService"
                    }
                ]
            },
            "ApplicationService": {
                "required": [
                    "app_server_type",
                    "name",
                    "port",
                    "protocol",
                    "service_profile"
                ],
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "name": {
                        "maxLength": 30,
                        "minLength": 1,
                        "type": "string"
                    },
                    "app_server_type": {
                        "type": "string",
                        "enum": [
                            "aws_autoscalegroup",
                            "aws_instances",
                            "ipaddress_fqdns",
                            "azure_vms",
                            "azure_vmss_autoscale_setting"
                        ]
                    },
                    "aws_autoscalegroup": {
                        "type": "string"
                    },
                    "aws_instances": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "value": {
                                    "type": "string"
                                },
                                "state": {
                                    "type": "string",
                                    "description": "State of the application server (Read-Only).",
                                    "default": "ENABLED",
                                    "enum": [
                                        "ENABLED",
                                        "DISABLED"
                                    ]
                                }
                            }
                        }
                    },
                    "ipaddress_fqdns": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "type": {
                                    "type": "string",
                                    "enum": [
                                        "IPAddress",
                                        "FQDN"
                                    ]
                                },
                                "value": {
                                    "type": "string"
                                },
                                "state": {
                                    "type": "string",
                                    "description": "State of the application server (Read-Only).",
                                    "default": "ENABLED",
                                    "enum": [
                                        "ENABLED",
                                        "DISABLED"
                                    ]
                                }
                            }
                        }
                    },
                    "azure_vms": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "value": {
                                    "type": "string"
                                },
                                "state": {
                                    "type": "string",
                                    "description": "State of the application server (Read-Only).",
                                    "default": "ENABLED",
                                    "enum": [
                                        "ENABLED",
                                        "DISABLED"
                                    ]
                                }
                            }
                        }
                    },
                    "azure_vmss_autoscale_setting": {
                        "type": "string",
                        "description": "Specify autoscale setting name of virtual machine scale set."
                    },
                    "protocol": {
                        "type": "string",
                        "default": "HTTP",
                        "enum": [
                            "HTTP",
                            "HTTPS"
                        ]
                    },
                    "port": {
                        "maximum": 65535,
                        "minimum": 1,
                        "type": "integer",
                        "format": "int32"
                    },
                    "service_profile": {
                        "type": "object",
                        "properties": {
                            "name": {
                                "type": "string"
                            },
                            "id": {
                                "type": "string"
                            }
                        }
                    },
                    "network_functions": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "name": {
                                    "type": "string"
                                },
                                "id": {
                                    "type": "string"
                                },
                                "type": {
                                    "type": "string",
                                    "enum": [
                                        "appsec",
                                        "content_policy",
                                        "auth"
                                    ]
                                },
                                "filter_name": {
                                    "type": "string"
                                },
                                "filter_id": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "slow_server_settings": {
                        "type": "object",
                        "properties": {
                            "action": {
                                "type": "string",
                                "description": "Specify the action to take if a server in an AutoScale Group has become slow.",
                                "enum": [
                                    "none",
                                    "detect",
                                    "replace"
                                ]
                            }
                        }
                    }
                },
                "example": {
                    "name": "CustCareServices",
                    "app_server_type": "ipaddress_fqdns",
                    "ipaddress_fqdns": [
                        {
                            "type": "IPAddress",
                            "value": "10.11.12.4"
                        },
                        {
                            "type": "FQDN",
                            "value": "appserver1.citicorp.com"
                        },
                        {
                            "type": "IPAddress",
                            "value": "10.11.12.6"
                        }
                    ],
                    "protocol": "HTTPS",
                    "port": 443,
                    "network_functions": [
                        {
                            "id": "e93a5974-6458-11eb-ae93-0242ac130002",
                            "type": "lb"
                        }
                    ],
                    "slow_server_settings": {
                        "action": "replace"
                    }
                }
            },
            "serverInfoObject": {
                "type": "object",
                "required": [
                    "app_server_type"
                ],
                "properties": {
                    "app_server_type": {
                        "type": "string",
                        "enum": [
                            "aws_autoscalegroup",
                            "aws_instances",
                            "ipaddress_fqdns",
                            "azure_vms",
                            "azure_vm_scale_set"
                        ]
                    },
                    "aws_autoscalegroup": {
                        "type": "string"
                    },
                    "aws_instances": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "value": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "ipaddress_fqdns": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "type": {
                                    "type": "string",
                                    "enum": [
                                        "IPAddress",
                                        "FQDN"
                                    ]
                                },
                                "value": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "azure_vms": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "value": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "azure_vm_scale_set": {
                        "type": "string"
                    }
                }
            },
            "healthStatusApplicationServiceRequest": {
                "type": "object",
                "required": [
                    "servers"
                ],
                "properties": {
                    "servers": {
                        "type": "object",
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/serverInfoObject"
                            }
                        ]
                    }
                }
            },
            "enableServerRequest": {
                "type": "object",
                "properties": {
                    "servers": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/serverInfoObject"
                            }
                        ]
                    }
                }
            },
            "disableServerRequest": {
                "type": "object",
                "properties": {
                    "servers": {
                        "allOf": [
                            {
                                "properties": {
                                    "graceful": {
                                        "type": "boolean"
                                    },
                                    "delay": {
                                        "type": "number"
                                    }
                                }
                            },
                            {
                                "$ref": "#/components/schemas/serverInfoObject"
                            }
                        ]
                    }
                }
            },
            "getApplicationServerResponse": {
                "title": "Get application server response",
                "type": "object",
                "properties": {
                    "application_server": {
                        "$ref": "#/components/schemas/ApplicationServerWithIdResponse"
                    }
                }
            },
            "addApplicationServersRequest": {
                "title": "Add application servers request",
                "type": "object",
                "properties": {
                    "application_servers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ApplicationServer"
                        }
                    }
                }
            },
            "addApplicationServersResponse": {
                "title": "Add application server response",
                "type": "object",
                "properties": {
                    "application_servers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ApplicationServerWithIdResponse"
                        }
                    }
                }
            },
            "listApplicationServersResponse": {
                "title": "List application servers response",
                "type": "object",
                "properties": {
                    "application_servers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ApplicationServerWithIdResponse"
                        }
                    }
                }
            },
            "ApplicationServerWithIdResponse": {
                "title": "ApplicationServerWithIdResponse",
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "$ref": "#/components/schemas/ApplicationServer"
                    }
                ]
            },
            "ApplicationServer": {
                "required": [
                    "environment",
                    "name",
                    "server_type",
                    "type"
                ],
                "type": "object",
                "properties": {
                    "name": {
                        "maxLength": 256,
                        "type": "string"
                    },
                    "type": {
                        "type": "string",
                        "enum": [
                            "Private",
                            "Public"
                        ]
                    },
                    "server_type": {
                        "type": "string",
                        "enum": [
                            "servers"
                        ]
                    },
                    "FQDN": {
                        "type": "string"
                    },
                    "ip_address": {
                        "type": "string"
                    },
                    "environment": {
                        "type": "string",
                        "enum": [
                            "AWS",
                            "Azure",
                            "GCP",
                            "OnPrem"
                        ]
                    }
                },
                "example": {
                    "name": "DebitsServerAzure",
                    "type": "Public",
                    "server_type": "servers",
                    "FQDN": "debit.citicorp.com",
                    "ip_address": "12.234.66.34",
                    "environment": "Azure"
                }
            },
            "getApplicationServerGroupResponse": {
                "title": "Get application server group response",
                "type": "object",
                "properties": {
                    "application_server_group": {
                        "$ref": "#/components/schemas/ApplicationServerGroupWithId"
                    }
                }
            },
            "addApplicationServerGroupsRequest": {
                "title": "Add application server groups request",
                "type": "object",
                "properties": {
                    "application_server_groups": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ApplicationServerGroup"
                        }
                    }
                }
            },
            "addApplicationServerGroupsResponse": {
                "title": "Add application server groups response",
                "type": "object",
                "properties": {
                    "application_server_groups": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ApplicationServerGroupWithId"
                        }
                    }
                }
            },
            "modifyApplicationServerGroupRequest": {
                "title": "Modify application server group request",
                "type": "object",
                "properties": {
                    "application_server_group": {
                        "$ref": "#/components/schemas/ApplicationServerGroupWithId"
                    }
                }
            },
            "modifyApplicationServerGroupResponse": {
                "title": "Modify application server group response",
                "type": "object",
                "properties": {
                    "application_server_group": {
                        "$ref": "#/components/schemas/ApplicationServerGroupWithId"
                    }
                }
            },
            "listApplicationServerGroupsResponse": {
                "title": "List application server groups response",
                "type": "object",
                "properties": {
                    "application_server_groups": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ApplicationServerGroupWithId"
                        }
                    }
                }
            },
            "ApplicationServerGroupWithId": {
                "title": "ApplicationServerGroupWithId",
                "allOf": [
                    {
                        "type": "object",
                        "required": [
                            "id"
                        ],
                        "properties": {
                            "id": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "$ref": "#/components/schemas/ApplicationServerGroup"
                    }
                ]
            },
            "ApplicationServerGroup": {
                "required": [
                    "name",
                    "server_type",
                    "servers",
                    "type"
                ],
                "type": "object",
                "properties": {
                    "name": {
                        "maxLength": 256,
                        "type": "string"
                    },
                    "type": {
                        "type": "string",
                        "enum": [
                            "Private",
                            "Public"
                        ]
                    },
                    "server_type": {
                        "type": "string",
                        "enum": [
                            "servers",
                            "server_group"
                        ]
                    },
                    "servers": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "type": {
                                    "type": "string",
                                    "enum": [
                                        "IPAddress",
                                        "FQDN"
                                    ]
                                },
                                "value": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                },
                "example": {
                    "name": "CitiCorpServerGroup",
                    "type": "Public",
                    "server_type": "server_group",
                    "servers": [
                        {
                            "type": "IPAddress",
                            "value": "10.11.12.4"
                        },
                        {
                            "type": "FQDN",
                            "value": "appserver1.citicorp.com"
                        },
                        {
                            "type": "IPAddress",
                            "value": "10.11.12.6"
                        }
                    ]
                }
            },
            "getEndpointResponse": {
                "title": "getEndpointResponse",
                "type": "object",
                "properties": {
                    "endpoint": {
                        "$ref": "#/components/schemas/EndpointWithId"
                    }
                }
            },
            "addEndpointsRequest": {
                "title": "addEndpointRequest",
                "type": "object",
                "properties": {
                    "endpoints": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Endpoint"
                        }
                    }
                }
            },
            "addEndpointsResponse": {
                "title": "addEndpointsResponse",
                "type": "object",
                "properties": {
                    "endpoints": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/EndpointWithId"
                        }
                    }
                }
            },
            "modifyEndpointRequest": {
                "title": "modifyEndpointRequest",
                "type": "object",
                "properties": {
                    "endpoint": {
                        "$ref": "#/components/schemas/EndpointWithId"
                    }
                }
            },
            "modifyEndpointResponse": {
                "title": "modifyEndpointResponse",
                "type": "object",
                "properties": {
                    "endpoint": {
                        "$ref": "#/components/schemas/EndpointWithId"
                    }
                }
            },
            "listEndpointsResponse": {
                "title": "List Endpoints Response",
                "type": "object",
                "properties": {
                    "endpoints": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/EndpointWithId"
                        }
                    }
                }
            },
            "EndpointWithId": {
                "title": "EndpointWithId",
                "allOf": [
                    {
                        "type": "object",
                        "required": [
                            "id"
                        ],
                        "properties": {
                            "id": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "$ref": "#/components/schemas/Endpoint"
                    }
                ]
            },
            "EndpointListeners": {
                "type": "array",
                "items": {
                    "type": "object",
                    "properties": {
                        "port": {
                            "maximum": 65535,
                            "minimum": 1,
                            "type": "integer",
                            "format": "int32"
                        },
                        "protocol": {
                            "type": "string",
                            "enum": [
                                "HTTP",
                                "HTTPS"
                            ]
                        },
                        "certificates": {
                            "type": "array",
                            "description": "SSL certificates for HTTPS endpoint.",
                            "items": {
                                "type": "string"
                            }
                        },
                        "cacertificates": {
                            "type": "array",
                            "description": "SSL certificates for HTTPS endpoint.",
                            "items": {
                                "type": "string"
                            }
                        },
                        "is_https_redirect": {
                            "type": "boolean",
                            "description": "Auto Redirect HTTP traffic to HTTPS."
                        },
                        "redirect_port": {
                            "maximum": 65535,
                            "minimum": 1,
                            "type": "integer",
                            "format": "int32"
                        },
                        "ssl_network_function": {
                            "type": "object",
                            "properties": {
                                "id": {
                                    "type": "string"
                                },
                                "name": {
                                    "type": "string"
                                }
                            }
                        },
                        "vserver_name": {
                            "type": "string",
                            "description": "VServer Name associated to the Endpoint"
                        }
                    }
                }
            },
            "CloudEndpoint": {
                "type": "object",
                "properties": {
                    "access_type": {
                        "type": "string",
                        "default": "Internal",
                        "enum": [
                            "Internal",
                            "External"
                        ]
                    },
                    "fqdn_auto_allocated": {
                        "type": "boolean"
                    },
                    "fqdns": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "created_at": {
                        "type": "string"
                    },
                    "updated_at": {
                        "type": "string"
                    },
                    "endpoint_ips": {
                        "type": "array",
                        "readOnly": true,
                        "items": {
                            "type": "object",
                            "properties": {
                                "access_ip": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                },
                "example": {
                    "name": "StagingEndpoint",
                    "access_type": "External",
                    "fqdn_auto_allocated": false,
                    "fqdns": [
                        "staging.citicorp.com",
                        "intra.staging.citicorp.com"
                    ],
                    "listeners": [
                        {
                            "port": 80,
                            "protocol": "HTTP"
                        },
                        {
                            "port": 443,
                            "protocol": "HTTPS",
                            "certificates": [
                                "sslcerts_store_id1",
                                "sslcerts_store_id2"
                            ],
                            "ssl_network_function": {
                                "name": "frontendSecureSSL",
                                "id": "3853402d-4aac-4307-a8dc-c61764e"
                            }
                        }
                    ]
                }
            },
            "InstanceEndpoint": {
                "type": "object",
                "properties": {
                    "access_type": {
                        "type": "string",
                        "readOnly": true,
                        "default": "Internal",
                        "enum": [
                            "Internal"
                        ]
                    },
                    "ip_allotment_method": {
                        "type": "string",
                        "enum": [
                            "manual",
                            "ipam"
                        ]
                    },
                    "endpoint_ips": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "vserver_ip": {
                                    "type": "string"
                                },
                                "access_ip": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "ipam_params": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            }
                        }
                    },
                    "created_at": {
                        "type": "string"
                    },
                    "updated_at": {
                        "type": "string"
                    }
                },
                "example": {
                    "name": "StagingEndpoint",
                    "access_type": "External",
                    "fqdn_auto_allocated": false,
                    "fqdns": [
                        "staging.citicorp.com",
                        "intra.staging.citicorp.com"
                    ],
                    "listeners": [
                        {
                            "port": 80,
                            "protocol": "HTTP"
                        },
                        {
                            "port": 443,
                            "protocol": "HTTPS",
                            "certificates": [
                                "sslcerts_store_id1",
                                "sslcerts_store_id2"
                            ],
                            "ssl_network_function": {
                                "name": "frontendSecureSSL",
                                "id": "3853402d-4aac-4307-a8dc-c61764e"
                            }
                        }
                    ]
                }
            },
            "EndpointWithoutEnvironment": {
                "title": "EndpointWithoutEnvironment",
                "required": [
                    "name",
                    "listeners"
                ],
                "properties": {
                    "name": {
                        "maxLength": 30,
                        "minLength": 1,
                        "type": "string"
                    },
                    "app_associations": {
                        "type": "array",
                        "readOnly": true,
                        "description": "Lists all the applications associated with the endpoint.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "listeners": {
                        "$ref": "#/components/schemas/EndpointListeners"
                    }
                },
                "anyOf": [
                    {
                        "$ref": "#/components/schemas/CloudEndpoint"
                    },
                    {
                        "$ref": "#/components/schemas/InstanceEndpoint"
                    }
                ]
            },
            "Endpoint": {
                "title": "Endpoint",
                "required": [
                    "environment"
                ],
                "allOf": [
                    {
                        "type": "object",
                        "properties": {
                            "environment": {
                                "type": "object",
                                "required": [
                                    "id",
                                    "type"
                                ],
                                "properties": {
                                    "id": {
                                        "type": "string"
                                    },
                                    "name": {
                                        "type": "string"
                                    },
                                    "type": {
                                        "type": "string",
                                        "enum": [
                                            "aws",
                                            "azure",
                                            "instance"
                                        ]
                                    }
                                }
                            }
                        }
                    },
                    {
                        "$ref": "#/components/schemas/EndpointWithoutEnvironment"
                    }
                ]
            },
            "listApplicationEndpointsResponse": {
                "title": "List application endpoints response",
                "type": "object",
                "properties": {
                    "application_endpoints": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ApplicationEndpointWithId"
                        }
                    }
                }
            },
            "addApplicationEndpointsRequest": {
                "required": [
                    "application_endpoints"
                ],
                "type": "object",
                "properties": {
                    "application_endpoints": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ApplicationEndpoint"
                        }
                    }
                }
            },
            "modifyApplicationEndpointRequest": {
                "required": [
                    "application_endpoint"
                ],
                "type": "object",
                "properties": {
                    "application_endpoint": {
                        "$ref": "#/components/schemas/ApplicationEndpointWithId"
                    }
                }
            },
            "addApplicationEndpointsResponse": {
                "required": [
                    "application_endpoints"
                ],
                "type": "object",
                "properties": {
                    "application_endpoints": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ApplicationEndpointWithId"
                        }
                    }
                }
            },
            "modifyApplicationEndpointResponse": {
                "required": [
                    "application_endpoint"
                ],
                "type": "object",
                "properties": {
                    "application_endpoint": {
                        "$ref": "#/components/schemas/ApplicationEndpointWithId"
                    }
                }
            },
            "ApplicationEndpointWithId": {
                "title": "ApplicationEndpointWithId",
                "allOf": [
                    {
                        "type": "object",
                        "required": [
                            "id"
                        ],
                        "properties": {
                            "id": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "$ref": "#/components/schemas/ApplicationEndpoint"
                    }
                ]
            },
            "ApplicationEndpoint": {
                "type": "object",
                "properties": {
                    "endpoint_id": {
                        "type": "string"
                    },
                    "endpoint_name": {
                        "type": "string"
                    },
                    "filter_id": {
                        "type": "string"
                    },
                    "filter_name": {
                        "type": "string"
                    },
                    "default_route": {
                        "type": "string"
                    },
                    "routes": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "name": {
                                    "type": "string"
                                },
                                "service_name": {
                                    "type": "string"
                                },
                                "service_id": {
                                    "type": "string"
                                },
                                "filter_id": {
                                    "type": "string"
                                },
                                "filter_name": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "network_functions": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "name": {
                                    "type": "string"
                                },
                                "id": {
                                    "type": "string"
                                },
                                "type": {
                                    "type": "string",
                                    "enum": [
                                        "appsec",
                                        "content_policy",
                                        "auth"
                                    ]
                                }
                            }
                        }
                    }
                },
                "example": {
                    "endpoint_id": "82308ca33-371c-4920-91623984-dsgr73412",
                    "filter_id": "6dba845c-6455-11eb-ae93-0242ac130002",
                    "default_route": "ada8998c-645f-11eb-ae93-0242ac130002",
                    "routes": [
                        {
                            "name": "route1",
                            "service_id": "b7106a36-645f-11eb-ae93-0242ac130002",
                            "filter_id": "beeaae92-645f-11eb-ae93-0242ac130002"
                        }
                    ],
                    "network_functions": [
                        {
                            "id": "c6830bcc-645f-11eb-ae93-0242ac130002",
                            "type": "appsec"
                        }
                    ]
                }
            },
            "listApplicationsResponse": {
                "title": "List applications response",
                "type": "object",
                "properties": {
                    "applications": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ApplicationWithIdsResponse"
                        }
                    }
                }
            },
            "getApplicationResponse": {
                "title": "getApplicationResponse",
                "type": "object",
                "properties": {
                    "application": {
                        "$ref": "#/components/schemas/ApplicationWithIdsResponse"
                    }
                }
            },
            "addApplicationsRequest": {
                "title": "Add applications request",
                "type": "object",
                "properties": {
                    "applications": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Application"
                        }
                    }
                }
            },
            "modifyApplicationRequest": {
                "title": "Modify applications request",
                "type": "object",
                "properties": {
                    "application": {
                        "$ref": "#/components/schemas/ApplicationWithId"
                    }
                }
            },
            "modifyApplicationResponse": {
                "title": "modifyApplicationResponse",
                "type": "object",
                "properties": {
                    "application": {
                        "$ref": "#/components/schemas/ApplicationWithIdsResponse"
                    }
                }
            },
            "addApplicationsResponse": {
                "title": "Add applications response",
                "type": "object",
                "properties": {
                    "applications": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ApplicationWithIdsResponse"
                        }
                    }
                }
            },
            "Application": {
                "required": [
                    "environment",
                    "name"
                ],
                "type": "object",
                "properties": {
                    "name": {
                        "maxLength": 30,
                        "minLength": 1,
                        "type": "string"
                    },
                    "environment": {
                        "required": [
                            "id"
                        ],
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "name": {
                                "type": "string"
                            },
                            "type": {
                                "type": "string",
                                "enum": [
                                    "aws",
                                    "azure",
                                    "instance"
                                ]
                            }
                        }
                    },
                    "model": {
                        "type": "string",
                        "description": "Type of the application. Application created using Migration utility is classic app.",
                        "default": "MODERN",
                        "enum": [
                            "CLASSIC",
                            "MODERN"
                        ]
                    },
                    "endpoints": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/EndpointWithoutEnvironment"
                        }
                    },
                    "network_functions": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/NetworkFunction"
                        }
                    },
                    "service_profiles": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ServiceProfile"
                        }
                    },
                    "filters": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Filter"
                        }
                    },
                    "application_services": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ApplicationService"
                        }
                    },
                    "application_endpoints": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ApplicationEndpoint"
                        }
                    },
                    "config_params": {
                        "$ref": "#/components/schemas/configParamsSchema"
                    },
                    "api_definitions": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    }
                },
                "example": {
                    "name": "CitiCorpProdApp",
                    "type": "AWS",
                    "environment": {
                        "id": "6268d9fe-646a-11eb-ae93-0242ac130002"
                    },
                    "model": "MODERN",
                    "endpoints": [
                        {
                            "name": "ProdEndpoint1",
                            "access_type": "External",
                            "fqdn_auto_allocated": false,
                            "fqdns": [
                                "prod.citicorp.com",
                                "intra.prod.citicorp.com"
                            ],
                            "listeners": [
                                {
                                    "port": 80,
                                    "protocol": "HTTP"
                                },
                                {
                                    "port": 443,
                                    "protocol": "HTTPS",
                                    "certificates": [
                                        "sslcerts_store_id1",
                                        "sslcerts_store_id2"
                                    ],
                                    "ssl_network_function": {
                                        "name": "frontendSecureSSL",
                                        "id": "3853402d-4aac-4307-a8dc-c61764e"
                                    }
                                }
                            ]
                        }
                    ],
                    "network_functions": [
                        {
                            "name": "HTTPProtection",
                            "type": "appsec",
                            "appsec_params": {
                                "sqlInjectionProtection": true,
                                "sqlRelaxations": [],
                                "xssProtection": true,
                                "xssRelaxations": [],
                                "bofProtection": true,
                                "bofProtectionLimits": {}
                            }
                        }
                    ],
                    "filters": [
                        {
                            "name": "DebitsFilter",
                            "expression": {
                                "contains": {
                                    "req_url": {
                                        "path": "debits"
                                    }
                                }
                            }
                        },
                        {
                            "name": "CreditsFilter",
                            "expression": {
                                "contains": {
                                    "req_url": {
                                        "path": "credits"
                                    }
                                }
                            }
                        },
                        {
                            "name": "AccountsFilter",
                            "expression": {
                                "contains": {
                                    "req_url": {
                                        "path": "accounts"
                                    }
                                }
                            }
                        }
                    ],
                    "application_services": [
                        {
                            "name": "DebitServices",
                            "app_server_type": "aws_autoscalegroup",
                            "aws_autoscalegroup": "debits_scalegrp",
                            "protocol": "HTTPS",
                            "port": 443,
                            "service_proile": [
                                {
                                    "name": "SSLServiceProfileName"
                                }
                            ]
                        },
                        {
                            "name": "CreditServices",
                            "app_server_type": "aws_autoscalegroup",
                            "aws_autoscalegroup": "credits_scalegrp",
                            "protocol": "HTTPS",
                            "port": 443,
                            "service_proile": [
                                {
                                    "name": "SSLServiceProfileName"
                                }
                            ]
                        },
                        {
                            "name": "AccountServices",
                            "app_server_type": "servers",
                            "servers": [
                                {
                                    "type": "IPAddress",
                                    "value": "10.11.12.4"
                                },
                                {
                                    "type": "FQDN",
                                    "value": "appserver1.citicorp.com"
                                },
                                {
                                    "type": "IPAddress",
                                    "value": "10.11.12.6"
                                }
                            ],
                            "protocol": "HTTPS",
                            "port": 443,
                            "service_profile": [
                                {
                                    "name": "SSLServiceProfileName"
                                }
                            ]
                        },
                        {
                            "name": "AdServices",
                            "app_server_type": "servers",
                            "servers": [
                                {
                                    "type": "FQDN",
                                    "value": "ads.citicorp.com"
                                }
                            ],
                            "protocol": "HTTP",
                            "port": 80,
                            "service_profile": [
                                {
                                    "name": "ServiceProfileName"
                                }
                            ]
                        }
                    ],
                    "application_endpoints": [
                        {
                            "name": "ProdEndpoint1",
                            "filter_name": "6dba845c-6455-11eb-ae93-0242ac130002",
                            "default_route": "AdServices",
                            "routes": [
                                {
                                    "name": "DebitRoute",
                                    "service_name": "DebitServices",
                                    "filter_name": "DebitsFilter"
                                },
                                {
                                    "name": "CreditRoute",
                                    "service_name": "CreditServices",
                                    "filter_name": "CreditsFilter"
                                },
                                {
                                    "name": "AccountRoute",
                                    "service_name": "AccountServices",
                                    "filter_name": "AccountsFilter"
                                }
                            ],
                            "network_functions": [
                                {
                                    "name": "HTTPProtection",
                                    "type": "appsec"
                                }
                            ]
                        }
                    ],
                    "api_definitions": [
                        "c354e9b6-8007-44ac-bca7-77b67062b28b",
                        "03a28100-9ad4-44ff-a75b-0cc4b1e4c595"
                    ]
                }
            },
            "ApplicationWithId": {
                "title": "ApplicationWithId",
                "allOf": [
                    {
                        "type": "object",
                        "required": [
                            "id"
                        ],
                        "properties": {
                            "id": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "$ref": "#/components/schemas/Application"
                    }
                ]
            },
            "ApplicationWithIds": {
                "title": "ApplicationWithId",
                "required": [
                    "id"
                ],
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "name": {
                        "maxLength": 30,
                        "minLength": 1,
                        "type": "string"
                    },
                    "type": {
                        "type": "string"
                    },
                    "environment": {
                        "required": [
                            "id"
                        ],
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "name": {
                                "type": "string"
                            },
                            "cloud": {
                                "type": "string",
                                "enum": [
                                    "aws"
                                ]
                            }
                        }
                    },
                    "endpoints": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/EndpointWithId"
                        }
                    },
                    "network_functions": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/NetworkFunctionWithId"
                        }
                    },
                    "service_profiles": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ServiceProfileWithId"
                        }
                    },
                    "filters": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/FilterWithId"
                        }
                    },
                    "application_services": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ApplicationServiceWithId"
                        }
                    },
                    "application_endpoints": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ApplicationEndpointWithId"
                        }
                    },
                    "api_definitions": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    }
                },
                "example": {
                    "id": "7becb222-4b5a-4409-a365-b78d31e0081e",
                    "name": "CitiCorpProdApp",
                    "type": "AWS",
                    "environment": {
                        "id": "6268d9fe-646a-11eb-ae93-0242ac130002"
                    },
                    "endpoints": [
                        {
                            "id": "d1d14ec4-cecb-42cd-946a-5ba83bcbd794",
                            "name": "ProdEndpoint1",
                            "access_type": "External",
                            "fqdn_auto_allocated": false,
                            "fqdns": [
                                "prod.citicorp.com",
                                "intra.prod.citicorp.com"
                            ],
                            "listeners": [
                                {
                                    "port": 80,
                                    "protocol": "HTTP"
                                },
                                {
                                    "port": 443,
                                    "protocol": "HTTPS",
                                    "certificates": [
                                        "sslcerts_store_id1",
                                        "sslcerts_store_id2"
                                    ],
                                    "ssl_network_function": {
                                        "name": "frontendSecureSSL",
                                        "id": "3853402d-4aac-4307-a8dc-c61764e"
                                    }
                                }
                            ]
                        }
                    ],
                    "service_profiles": [
                        {
                            "name": "ServiceProfileName",
                            "lb": {
                                "lb_params": {
                                    "algorithm": "ROUND_ROBIN"
                                }
                            }
                        }
                    ],
                    "network_functions": [
                        {
                            "id": "82a2e4c9-a3cd-4852-b589-ef831c10ee8e",
                            "name": "HTTPProtection",
                            "type": "appsec",
                            "appsec_params": {
                                "sqlInjectionProtection": true,
                                "sqlRelaxations": [],
                                "xssProtection": true,
                                "xssRelaxations": [],
                                "bofProtection": true,
                                "bofProtectionLimits": {}
                            }
                        }
                    ],
                    "filters": [
                        {
                            "id": "c391b9fa-ae61-4bff-831b-657c2d6b8ab7",
                            "name": "DebitsFilter",
                            "expression": {
                                "contains": {
                                    "req_url": {
                                        "path": "debits"
                                    }
                                }
                            }
                        },
                        {
                            "id": "eb7b2fc4-a87b-46aa-90ac-06dc0ff82f7d",
                            "name": "CreditsFilter",
                            "expression": {
                                "contains": {
                                    "req_url": {
                                        "path": "credits"
                                    }
                                }
                            }
                        },
                        {
                            "id": "82a2e4c9-a3cd-4852-b589-ef831c10ee8e",
                            "name": "AccountsFilter",
                            "expression": {
                                "contains": {
                                    "req_url": {
                                        "path": "accounts"
                                    }
                                }
                            }
                        }
                    ],
                    "application_services": [
                        {
                            "id": "eb7b2fc4-a87b-46aa-90ac-06dc0ff82f7d",
                            "name": "DebitServices",
                            "app_server_type": "aws_autoscalegroup",
                            "aws_autoscalegroup": "debits_scalegrp",
                            "protocol": "HTTPS",
                            "port": 443,
                            "service_profile": [
                                {
                                    "id": "c391b9fa-ae61-4bff-831b-657c2d6b8ab7"
                                }
                            ]
                        },
                        {
                            "id": "d2ca39e8-e077-4fec-b9ab-46a726b56948",
                            "name": "CreditServices",
                            "app_server_type": "aws_autoscalegroup",
                            "aws_autoscalegroup": "credits_scalegrp",
                            "protocol": "HTTPS",
                            "port": 443,
                            "service_profile": [
                                {
                                    "id": "c391b9fa-ae61-4bff-831b-657c2d6b8ab7"
                                }
                            ]
                        },
                        {
                            "id": "a0400225-0a48-4a08-824f-f4a41e22d0aa",
                            "name": "AccountServices",
                            "app_server_type": "servers",
                            "servers": [
                                {
                                    "type": "IPAddress",
                                    "value": "10.11.12.4"
                                },
                                {
                                    "type": "FQDN",
                                    "value": "appserver1.citicorp.com"
                                },
                                {
                                    "type": "IPAddress",
                                    "value": "10.11.12.6"
                                }
                            ],
                            "protocol": "HTTPS",
                            "port": 443,
                            "service_profile": [
                                {
                                    "id": "c391b9fa-ae61-4bff-831b-657c2d6b8ab7"
                                }
                            ]
                        },
                        {
                            "id": "a24d02a5-83a5-4b5c-ba35-9814c937e86d",
                            "name": "AdServices",
                            "app_server_type": "servers",
                            "servers": [
                                {
                                    "type": "FQDN",
                                    "value": "ads.citicorp.com"
                                }
                            ],
                            "protocol": "HTTP",
                            "port": 80,
                            "service_profile": [
                                {
                                    "id": "c391b9fa-ae61-4bff-831b-657c2d6b8ab7"
                                }
                            ]
                        }
                    ],
                    "application_endpoints": [
                        {
                            "id": "0cb7642f-f346-41c9-a5ff-40813504b43e",
                            "endpoint": "bbebe391-22b0-4324-b19f-6e6cf5c0163b",
                            "name": "ProdEndpoint1",
                            "filter_name": "6dba845c-6455-11eb-ae93-0242ac130002",
                            "default_route": "AdServices",
                            "routes": [
                                {
                                    "name": "DebitRoute",
                                    "service_name": "DebitServices",
                                    "filter_name": "DebitsFilter"
                                },
                                {
                                    "name": "CreditRoute",
                                    "service_name": "CreditServices",
                                    "filter_name": "CreditsFilter"
                                },
                                {
                                    "name": "AccountRoute",
                                    "service_name": "AccountServices",
                                    "filter_name": "AccountsFilter"
                                }
                            ],
                            "network_functions": [
                                {
                                    "id": "82a2e4c9-a3cd-4852-b589-ef831c10ee8e",
                                    "type": "appsec"
                                }
                            ]
                        }
                    ],
                    "api_definitions": [
                        "c354e9b6-8007-44ac-bca7-77b67062b28b",
                        "03a28100-9ad4-44ff-a75b-0cc4b1e4c595"
                    ]
                }
            },
            "ApplicationWithIdsResponse": {
                "allOf": [
                    {
                        "$ref": "#/components/schemas/ApplicationWithIds"
                    },
                    {
                        "$ref": "#/components/schemas/ApplicationSummary"
                    },
                    {
                        "$ref": "#/components/schemas/additionalDetails"
                    },
                    {
                        "$ref": "#/components/schemas/configParamsSchema"
                    }
                ]
            },
            "ApplicationSummary": {
                "type": "object",
                "properties": {
                    "app_summary": {
                        "type": "object",
                        "properties": {
                            "name": {
                                "type": "string"
                            },
                            "type": {
                                "type": "string"
                            },
                            "model": {
                                "type": "string"
                            },
                            "environment": {
                                "type": "object",
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    }
                                }
                            },
                            "status": {
                                "type": "string",
                                "enum": [
                                    "INDRAFT",
                                    "INPROGRESS",
                                    "ERROR",
                                    "DEPLOYED"
                                ]
                            },
                            "endpoints": {
                                "type": "array",
                                "items": {
                                    "type": "object",
                                    "properties": {
                                        "fqdns": {
                                            "type": "array",
                                            "items": {
                                                "type": "string"
                                            }
                                        },
                                        "ips": {
                                            "type": "array",
                                            "items": {
                                                "type": "string"
                                            }
                                        },
                                        "listeners": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "protocol": {
                                                        "type": "string"
                                                    },
                                                    "port": {
                                                        "type": "integer"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "visibility": {
                                "type": "string"
                            }
                        }
                    }
                }
            },
            "state": {
                "type": "string",
                "enum": [
                    "NOTSTARTED",
                    "INPROGRESS",
                    "COMPLETED",
                    "ERROR",
                    "ROLLBACK"
                ]
            },
            "task": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "description": {
                        "type": "string"
                    },
                    "state": {
                        "$ref": "#/components/schemas/state"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "warning": {
                        "type": "string"
                    },
                    "result": {
                        "type": "object",
                        "properties": {}
                    },
                    "tasks": {
                        "type": "array",
                        "description": "Recursive task definitions.",
                        "items": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    }
                }
            },
            "getJobStatusResponse": {
                "title": "getApplicationResponse",
                "type": "object",
                "properties": {
                    "status": {
                        "type": "object",
                        "properties": {
                            "name": {
                                "type": "string"
                            },
                            "description": {
                                "type": "string"
                            },
                            "state": {
                                "$ref": "#/components/schemas/state"
                            },
                            "action": {
                                "type": "string"
                            },
                            "result": {
                                "type": "object",
                                "additionalProperties": true
                            },
                            "warning": {
                                "type": "string"
                            },
                            "errors": {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "tasks": {
                                "type": "array",
                                "items": {
                                    "$ref": "#/components/schemas/task"
                                }
                            },
                            "steps_remaining": {
                                "type": "integer"
                            },
                            "steps_completed": {
                                "type": "integer"
                            }
                        }
                    }
                },
                "example": {
                    "status": {
                        "description": "Onboard app environment.",
                        "state": "INPROGRESS",
                        "steps_completed": 428,
                        "steps_remaining": 320,
                        "tasks": [
                            {
                                "description": "Prepare AWS environment.",
                                "state": "COMPLETED",
                                "tasks": [
                                    {
                                        "description": "Create VPC",
                                        "messages": [],
                                        "name": "vpc_create_task - 0.0.0",
                                        "state": "COMPLETED"
                                    }
                                ]
                            }
                        ]
                    }
                }
            },
            "getRegionsResponse": {
                "title": "getRegionsResponse",
                "type": "object",
                "properties": {
                    "regions": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    }
                },
                "example": {
                    "regions": [
                        "US-East",
                        "US-West",
                        "Europe",
                        "Asia-Pacific"
                    ]
                }
            },
            "jobApplicationResponse": {
                "title": "jobApplicationResponse",
                "type": "object",
                "properties": {
                    "application": {
                        "type": "object",
                        "properties": {
                            "job_id": {
                                "type": "string"
                            }
                        }
                    }
                }
            },
            "jobApplicationHealthResponse": {
                "title": "jobApplicationHealthResponse",
                "type": "object",
                "properties": {
                    "application_health": {
                        "type": "object",
                        "properties": {
                            "job_id": {
                                "type": "string"
                            }
                        }
                    }
                }
            },
            "jobApplicationServiceHealthResponse": {
                "title": "jobApplicationServiceHealthResponse",
                "type": "object",
                "properties": {
                    "servers": {
                        "type": "object",
                        "properties": {
                            "job_id": {
                                "type": "string"
                            }
                        }
                    }
                }
            },
            "jobServerActionResponse": {
                "title": "jobServerActionResponse",
                "type": "object",
                "properties": {
                    "servers": {
                        "type": "object",
                        "properties": {
                            "job_id": {
                                "type": "string"
                            }
                        }
                    }
                }
            },
            "jobEnvironmentResponse": {
                "title": "jobEnvironmentResponse",
                "type": "object",
                "properties": {
                    "environment": {
                        "type": "object",
                        "properties": {
                            "job_id": {
                                "type": "string"
                            }
                        }
                    }
                }
            },
            "jobNetworkFunctionResponse": {
                "title": "jobNetworkFunctionResponse",
                "type": "object",
                "properties": {
                    "network_function": {
                        "type": "object",
                        "properties": {
                            "job_id": {
                                "type": "string"
                            }
                        }
                    }
                }
            },
            "jobServiceProfileResponse": {
                "title": "jobNetworkFunctionResponse",
                "type": "object",
                "properties": {
                    "service_profile": {
                        "type": "object",
                        "properties": {
                            "job_id": {
                                "type": "string"
                            }
                        }
                    }
                }
            },
            "tagSlowServersRequest": {
                "required": [
                    "tag_slow_servers"
                ],
                "type": "object",
                "properties": {
                    "tag_slow_servers": {
                        "type": "object",
                        "properties": {
                            "ip_addresses": {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                },
                "example": {
                    "tag_slow_servers": {
                        "ip_addresses": [
                            "192.168.167.27",
                            "192.168.167.30"
                        ]
                    }
                }
            },
            "jobTagSlowServersResponse": {
                "title": "jobTagSlowServersResponse",
                "type": "object",
                "properties": {
                    "tag_slow_servers": {
                        "type": "object",
                        "properties": {
                            "job_id": {
                                "type": "string"
                            }
                        }
                    }
                }
            },
            "jobPastOffendersIpsResponse": {
                "title": "jobPastOffendersIpsResponse",
                "type": "object",
                "properties": {
                    "past_offenders_ips": {
                        "type": "object",
                        "properties": {
                            "network_function_id": {
                                "type": "string"
                            },
                            "job_id": {
                                "type": "string"
                            },
                            "ips": {
                                "type": "object",
                                "properties": {}
                            }
                        }
                    }
                }
            },
            "EnvironmentDryRunResponse": {
                "title": "EnvironmentDryRunResponse",
                "type": "object",
                "properties": {
                    "dry_run": {
                        "type": "object",
                        "properties": {
                            "job_id": {
                                "type": "string"
                            }
                        }
                    }
                }
            },
            "countResponse": {
                "type": "object",
                "properties": {
                    "count": {
                        "type": "integer",
                        "description": "Count of resources",
                        "minimum": 0
                    }
                }
            },
            "ErrorResponseBody400": {
                "type": "object",
                "properties": {
                    "errorcode": {
                        "type": "integer",
                        "example": 1000
                    },
                    "errormessage": {
                        "type": "string",
                        "example": "Bad request"
                    }
                }
            },
            "ErrorResponseBody401": {
                "type": "object",
                "properties": {
                    "errorcode": {
                        "type": "integer",
                        "example": 1000
                    },
                    "errormessage": {
                        "type": "string",
                        "example": "Unauthorized request"
                    }
                }
            },
            "ErrorResponseBody403": {
                "type": "object",
                "properties": {
                    "errorcode": {
                        "type": "integer",
                        "example": 1000
                    },
                    "errormessage": {
                        "type": "string",
                        "example": "Forbidden"
                    }
                }
            },
            "ErrorResponseBody404": {
                "type": "object",
                "properties": {
                    "errorcode": {
                        "type": "integer",
                        "example": 1000
                    },
                    "errormessage": {
                        "type": "string",
                        "example": "Resource doesn't exist"
                    }
                }
            },
            "ErrorResponseBody409": {
                "type": "object",
                "properties": {
                    "errorcode": {
                        "type": "integer",
                        "example": 1002
                    },
                    "errormessage": {
                        "type": "string",
                        "example": "Conflict"
                    }
                }
            },
            "ErrorResponseBody500": {
                "type": "object",
                "properties": {
                    "errorcode": {
                        "type": "integer",
                        "example": 500
                    },
                    "errormessage": {
                        "type": "string",
                        "example": "Internal server error"
                    }
                }
            },
            "ErrorResponseBody503": {
                "type": "object",
                "properties": {
                    "errorcode": {
                        "type": "integer",
                        "example": 500
                    },
                    "errormessage": {
                        "type": "string",
                        "example": "Service unavailable"
                    }
                }
            },
            "additionalDetails": {
                "type": "object",
                "properties": {
                    "job_id": {
                        "type": "string"
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "INDRAFT",
                            "INPROGRESS",
                            "ERROR",
                            "DEPLOYED"
                        ]
                    },
                    "created_at": {
                        "type": "string"
                    },
                    "updated_at": {
                        "type": "string"
                    },
                    "deployed_at": {
                        "type": "string"
                    }
                }
            },
            "ExtractVServersRequestSchema": {
                "title": "ExtractVserversSchema",
                "type": "object",
                "properties": {
                    "migration": {
                        "type": "object",
                        "example": {
                            "source": {
                                "cli_commands": []
                            },
                            "environment": {
                                "id": "94a3ec30-f4e5-411b-aa19-1a8a564b7f73"
                            },
                            "filter_options": {
                                "vserver_protocol": "SSL"
                            }
                        },
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SourceAndTargetSchema"
                            },
                            {
                                "$ref": "#/components/schemas/FilterOptionsSchema"
                            }
                        ]
                    }
                }
            },
            "ConvertPeToPiRequestSchema": {
                "title": "ConvertPeToPiRequestSchema",
                "type": "object",
                "properties": {
                    "migration": {
                        "type": "object",
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SourceAndTargetSchema"
                            }
                        ],
                        "required": [
                            "source"
                        ],
                        "example": {
                            "source": {
                                "cli_commands": []
                            },
                            "environment": {
                                "id": "94a3ec30-f4e5-411b-aa19-1a8a564b7f73"
                            }
                        }
                    }
                }
            },
            "PiConfigSchema": {
                "type": "object",
                "properties": {
                    "pi_config": {
                        "description": "List of cli commands after PE to PI conversion if any",
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "errors": {
                        "description": "List of errors in PE to PI conversion if any",
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    }
                },
                "required": [
                    "pi_config"
                ]
            },
            "ConvertPeToPiResponseSchema": {
                "title": "ConvertPeToPiResponseSchema",
                "type": "object",
                "properties": {
                    "migration": {
                        "description": "The ADC configuration",
                        "type": "object",
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/PiConfigSchema"
                            }
                        ]
                    }
                },
                "example": {
                    "adc_config": {
                        "pi_config": [
                            "add lbvserver lbv http 4.4.4.4 34",
                            "add lbvserver lbv http 4.4.4.5 36"
                        ]
                    }
                }
            },
            "FilterVServersRequestSchema": {
                "title": "FilterVserversSchema",
                "type": "object",
                "properties": {
                    "migration": {
                        "type": "object",
                        "example": {
                            "vservers": [
                                {
                                    "vserver_name": "csv1",
                                    "vserver_type": "CSVSserver",
                                    "vserver_protocol": "SSL",
                                    "vserver_ipaddress": "10.70.35.20"
                                },
                                {
                                    "vserver_name": "lbv1",
                                    "vserver_type": "LBVSserver",
                                    "vserver_protocol": "HTTP",
                                    "vserver_ipaddress": "10.70.35.31"
                                }
                            ],
                            "filter_options": [
                                {
                                    "key": "port",
                                    "value": 80,
                                    "operator": "="
                                }
                            ]
                        },
                        "allOf": [
                            {
                                "type": "object",
                                "properties": {
                                    "vservers": {
                                        "type": "array",
                                        "description": "List of vservers on which filter needs to be applied.",
                                        "items": {
                                            "$ref": "#/components/schemas/VServerBaseAttributesSchema"
                                        }
                                    }
                                },
                                "description": "The ADC configuration"
                            },
                            {
                                "type": "object",
                                "properties": {
                                    "filter_options": {
                                        "type": "array",
                                        "description": "Specify the filter criteria for extracting the vservers   . The values provided for the filter fields will be run through a 'contains' on the vserver list. The final vserver list will be a boolean AND of the filter options",
                                        "items": {
                                            "$ref": "#/components/schemas/FilterOptionsObjectSchema"
                                        }
                                    }
                                }
                            }
                        ]
                    }
                }
            },
            "FilterOptionsObjectSchema": {
                "description": "Filter condition which contains key, value and operator",
                "type": "object",
                "properties": {
                    "key": {
                        "type": "string",
                        "description": "the parameter name"
                    },
                    "value": {
                        "type": "string",
                        "description": "the parameter value"
                    },
                    "operator": {
                        "type": "string",
                        "description": "the filter operator"
                    }
                }
            },
            "ExtractConfigRequestSchema": {
                "title": "ExtractConfigSchema",
                "type": "object",
                "properties": {
                    "migration": {
                        "type": "object",
                        "example": {
                            "source": {
                                "cli_commands": []
                            },
                            "environment": {
                                "id": "94a3ec30-f4e5-411b-aa19-1a8a564b7f73"
                            },
                            "vservers": [
                                {
                                    "vserver_name": "csv1",
                                    "vserver_type": "CSVServer",
                                    "target_vservers": [
                                        {
                                            "vserver_type": "LBVServer",
                                            "vserver_name": "lbv1"
                                        },
                                        {
                                            "vserver_type": "LBVServer",
                                            "vserver_name": "lbv2"
                                        }
                                    ]
                                }
                            ],
                            "validate_extracted_config": false
                        },
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SourceAndTargetSchema"
                            },
                            {
                                "$ref": "#/components/schemas/VServersToExtractSchema"
                            },
                            {
                                "type": "object",
                                "properties": {
                                    "validate_extracted_config": {
                                        "type": "boolean",
                                        "description": "Set it to true for validating the source ADC configuration.",
                                        "default": false
                                    }
                                }
                            }
                        ]
                    }
                }
            },
            "MigrateConfigRequestSchema": {
                "title": "MigrateConfigSchema",
                "type": "object",
                "properties": {
                    "migration": {
                        "type": "object",
                        "example": {
                            "appname": "App1",
                            "source": {
                                "cli_commands": [
                                    "add lb vserver default_lb HTTP 1.1.1.1 88 -persistenceType NONE -cltTimeout 180",
                                    "add lb vserver target_lb HTTP 1.1.1.2 88 -persistenceType NONE -cltTimeout 180",
                                    "add cs policy pol2 -rule \\\"http.req.url.contains(\\\\\\\"/human\\\\\\\")\\\"",
                                    "add lb vserver target_lb_act HTTP 1.1.1.3 88 -persistenceType NONE -cltTimeout 180",
                                    "add cs action act1 -targetLBVserver target_lb_act",
                                    "add cs policy pol1 -rule \\\"http.req.url.contains(\\\\\\\"/god\\\\\\\")\\\" -action act1",
                                    "add cs vserver csv1 HTTP 1.2.3.4 80 -cltTimeout 180 -persistenceType NONE",
                                    "bind cs vserver csv1 -policyName pol1 -priority 1",
                                    "bind cs vserver csv1 -policyName pol2 -targetLBVserver target_lb -priority 2",
                                    "bind cs vserver csv1 -lbvserver default_lb"
                                ]
                            },
                            "environment": {
                                "id": "94a3ec30-f4e5-411b-aa19-1a8a564b7f73"
                            },
                            "vservers": [
                                {
                                    "vserver_type": "CSVserver",
                                    "vserver_name": "my_csv1",
                                    "target_vservers": [
                                        {
                                            "vserver_type": "LBVserver",
                                            "vserver_name": "lbv1"
                                        },
                                        {
                                            "vserver_type": "LBVserver",
                                            "vserver_name": "lbv2"
                                        }
                                    ]
                                }
                            ],
                            "endpoints": null,
                            "fqdn_auto_allocated": false,
                            "endpoint_type": "External",
                            "fqdn": [
                                "prod.citicorp.com"
                            ]
                        },
                        "allOf": [
                            {
                                "type": "object",
                                "properties": {
                                    "appname": {
                                        "type": "string",
                                        "description": "Name of the application."
                                    }
                                }
                            },
                            {
                                "$ref": "#/components/schemas/SourceAndTargetSchema"
                            },
                            {
                                "$ref": "#/components/schemas/VServersToExtractSchema"
                            },
                            {
                                "$ref": "#/components/schemas/CommonExtractConfigRequestSchema"
                            },
                            {
                                "type": "object",
                                "properties": {
                                    "endpoints": {
                                        "type": "array",
                                        "items": {
                                            "$ref": "#/components/schemas/MigrateConfigEndpointSchema"
                                        }
                                    }
                                }
                            }
                        ]
                    }
                }
            },
            "ExtractVServersResponseSchema": {
                "title": "ExtractVserversResponseSchema",
                "type": "object",
                "properties": {
                    "migration": {
                        "type": "object",
                        "example": {
                            "vservers": [
                                {
                                    "vserver_type": "csvserver",
                                    "vserver_name": "my_csv1",
                                    "vserver_protocol": "SSL",
                                    "vserver_port": 443,
                                    "vserver_ipaddress": "y.y.y.y",
                                    "target_vservers": [
                                        {
                                            "vserver_type": "lbvserver",
                                            "vserver_name": "my_lbv1",
                                            "vserver_protocol": "HTTP",
                                            "vserver_port": 80,
                                            "vserver_ipaddress": "x.x.x.x"
                                        }
                                    ]
                                }
                            ]
                        },
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/VServersToExtractResponseSchema"
                            }
                        ]
                    }
                }
            },
            "FilterVServersResponseSchema": {
                "title": "FilterVserversResponseSchema",
                "type": "object",
                "properties": {
                    "migration": {
                        "required": [
                            "vservers"
                        ],
                        "type": "object",
                        "properties": {
                            "vservers": {
                                "type": "array",
                                "description": "List of vservers after applying the filter options.",
                                "items": {
                                    "$ref": "#/components/schemas/VServerBaseAttributesSchema"
                                }
                            }
                        },
                        "description": "The ADC configuration"
                    }
                }
            },
            "ExtractConfigResponseSchema": {
                "title": "ExtractConfigResponseSchema",
                "type": "object",
                "properties": {
                    "migration": {
                        "type": "object",
                        "allOf": [
                            {
                                "type": "object",
                                "properties": {
                                    "application_config": {
                                        "type": "array",
                                        "description": "ADC configuration related to the selected vservers that constitute the application as a list of CLI commands.",
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                }
                            },
                            {
                                "$ref": "#/components/schemas/CommonExtractConfigResponseSchema"
                            },
                            {
                                "type": "object",
                                "properties": {
                                    "modified_application_config": {
                                        "type": "array",
                                        "description": "Modified list of configuration settings to apply on the target",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "config_inspection": {
                                        "type": "object",
                                        "properties": {
                                            "not_applicable_for_ads_migration": {
                                                "type": "array",
                                                "description": "Configuration is not applicable for migration on ADS",
                                                "items": {
                                                    "type": "object",
                                                    "allOf": [
                                                        {
                                                            "$ref": "#/components/schemas/CommonConfigInspectionSchema"
                                                        }
                                                    ]
                                                }
                                            },
                                            "currently_not_supported_in_migration": {
                                                "type": "array",
                                                "description": "Configuration is currently not supported in migration",
                                                "items": {
                                                    "type": "object",
                                                    "allOf": [
                                                        {
                                                            "$ref": "#/components/schemas/CommonConfigInspectionSchema"
                                                        }
                                                    ]
                                                }
                                            },
                                            "reference_to_non_existing_entities": {
                                                "type": "array",
                                                "description": "Configuration is referring to entities that does not exist",
                                                "items": {
                                                    "type": "object",
                                                    "allOf": [
                                                        {
                                                            "$ref": "#/components/schemas/CommonConfigInspectionSchema"
                                                        }
                                                    ]
                                                }
                                            },
                                            "reference_of_config_errors": {
                                                "type": "array",
                                                "description": "Configuration is referring to entities that already have some errors",
                                                "items": {
                                                    "type": "object",
                                                    "allOf": [
                                                        {
                                                            "$ref": "#/components/schemas/CommonConfigInspectionSchema"
                                                        }
                                                    ]
                                                }
                                            },
                                            "builtin_entities_references": {
                                                "type": "array",
                                                "description": "Configuration referred by ADC builtin entities",
                                                "items": {
                                                    "type": "object",
                                                    "allOf": [
                                                        {
                                                            "$ref": "#/components/schemas/CommonConfigInspectionSchema"
                                                        }
                                                    ]
                                                }
                                            }
                                        },
                                        "description": "Details of issues found in the application config"
                                    }
                                }
                            }
                        ]
                    }
                },
                "description": "Response results of the Extract VServers Config API."
            },
            "MigrateConfigResponseSchema": {
                "type": "object",
                "properties": {
                    "migration": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "number",
                                "description": "contains a reference to the application created."
                            }
                        },
                        "example": {
                            "id": 567876231133
                        }
                    }
                },
                "description": "The response payload for a successful creation of application."
            },
            "SourceAndTargetSchema": {
                "type": "object",
                "properties": {
                    "source": {
                        "type": "object",
                        "properties": {
                            "cli_commands": {
                                "type": "array",
                                "description": "List of initial configration commands from which the config to be migrated is extracted.",
                                "items": {
                                    "type": "string"
                                }
                            }
                        },
                        "description": "Contains a reference to list of CLI configuration commands."
                    },
                    "environment": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string",
                                "description": "Unique id of the application environment where the configuration needs to be migrated."
                            }
                        },
                        "description": "Contains a reference to target APP environment."
                    }
                }
            },
            "FilterOptionsSchema": {
                "type": "object",
                "properties": {
                    "filter_options": {
                        "$ref": "#/components/schemas/VServerBaseAttributesSchema"
                    }
                },
                "description": "Specify the filter criteria for extracting the vservers. The values provided for the filter fields\nwill be run through a 'contains' on the vserver list. The final vserver list will be a boolean AND of the filter options.\n"
            },
            "VServerBaseAttributesSchema": {
                "allOf": [
                    {
                        "$ref": "#/components/schemas/VServerNameAndTypeSchema"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "vserver_protocol": {
                                "type": "string",
                                "description": "Protocol used by the vserver."
                            },
                            "vserver_ipaddress": {
                                "type": "string",
                                "description": "IP address of the vserver."
                            },
                            "vserver_port": {
                                "type": "number",
                                "description": "Listening port of the vserver."
                            },
                            "lbgroup_name": {
                                "type": "string",
                                "description": "VServer bound to the LB Group."
                            }
                        }
                    }
                ]
            },
            "VServerNameAndTypeSchema": {
                "type": "object",
                "properties": {
                    "vserver_type": {
                        "type": "string",
                        "description": "Type of vserver."
                    },
                    "vserver_name": {
                        "type": "string",
                        "description": "Name of the vserver."
                    }
                }
            },
            "VServerNameAndTypeResponseSchema": {
                "type": "object",
                "properties": {
                    "vserver_type": {
                        "type": "string",
                        "description": "Type of vserver."
                    },
                    "vserver_name": {
                        "type": "string",
                        "description": "Name of the vserver."
                    },
                    "vserver_ipaddress": {
                        "type": "string",
                        "description": "IPAddress of the vserver."
                    },
                    "vserver_port": {
                        "type": "number",
                        "description": "Port of the vserver."
                    },
                    "vserver_protocol": {
                        "type": "string",
                        "description": "Protocol of the vserver."
                    }
                }
            },
            "VServersToExtractSchema": {
                "required": [
                    "vservers"
                ],
                "type": "object",
                "properties": {
                    "vservers": {
                        "type": "array",
                        "description": "List of vservers for which ADC config needs to be extracted.",
                        "items": {
                            "type": "object",
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/VServerNameAndTypeSchema"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "target_vservers": {
                                            "type": "array",
                                            "description": "List of targets for a content switching endpoint. This option is applicable only if a\nsubset of target vservers needs to included in the extracted configuration.\n",
                                            "items": {
                                                "$ref": "#/components/schemas/VServerNameAndTypeSchema"
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            },
            "VServersToExtractRequestSchema": {
                "required": [
                    "vserver"
                ],
                "type": "object",
                "properties": {
                    "vserver": {
                        "type": "object",
                        "description": "List of vservers for which ADC config needs to be extracted.",
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/VServerNameAndTypeSchema"
                            },
                            {
                                "type": "object",
                                "properties": {
                                    "target_vservers": {
                                        "type": "array",
                                        "description": "List of targets for a content switching endpoint. This option is applicable only if a\nsubset of target vservers needs to included in the extracted configuration.\n",
                                        "items": {
                                            "$ref": "#/components/schemas/VServerNameAndTypeSchema"
                                        }
                                    }
                                }
                            }
                        ]
                    }
                }
            },
            "VServersToExtractResponseSchema": {
                "required": [
                    "vservers"
                ],
                "type": "object",
                "properties": {
                    "vservers": {
                        "type": "array",
                        "description": "List of application vservers identified in the given configuration.",
                        "items": {
                            "type": "object",
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/VServerNameAndTypeResponseSchema"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "target_vservers": {
                                            "type": "array",
                                            "description": "List of targets for a content switching endpoint. This option is applicable only if a\nsubset of target vservers needs to included in the extracted configuration.\n",
                                            "items": {
                                                "$ref": "#/components/schemas/VServerNameAndTypeResponseSchema"
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            },
            "ExtractedVServersSchema": {
                "required": [
                    "vservers"
                ],
                "type": "object",
                "properties": {
                    "vservers": {
                        "type": "array",
                        "description": "List of extracted vservers",
                        "items": {
                            "type": "object",
                            "allOf": [
                                {
                                    "$ref": "#/components/schemas/VServerBaseAttributesSchema"
                                },
                                {
                                    "type": "object",
                                    "properties": {
                                        "target_vservers": {
                                            "type": "array",
                                            "description": "List of nested vservers referenced by the parent vserver.",
                                            "items": {
                                                "$ref": "#/components/schemas/VServerBaseAttributesSchema"
                                            }
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            },
            "PasswordAttributesRequestSchema": {
                "type": "object",
                "properties": {
                    "resource_type": {
                        "type": "string",
                        "description": "Type of ADC entity."
                    },
                    "resource_name": {
                        "type": "string",
                        "description": "Name of the ADC entity."
                    },
                    "attribute_name": {
                        "type": "string",
                        "description": "Name of the entity's attribute that denotes a password."
                    },
                    "attribute_value": {
                        "type": "string",
                        "description": "Value of the password."
                    }
                },
                "description": "Description of a password attribute used in the configuration."
            },
            "ApplicationHealthResponseSchema": {
                "title": "ApplicationHealthResponse",
                "type": "object",
                "properties": {
                    "application_health": {
                        "type": "object",
                        "example": {
                            "name": "myapp",
                            "state": "Partially UP",
                            "reason": "Some of the applications services of 'myapp' are down: [guestbook]",
                            "availability_zone": [
                                {
                                    "name": "us-east-1",
                                    "application_services": [
                                        {
                                            "name": "guestbook",
                                            "state": "DOWN",
                                            "reason": "Port is not available"
                                        },
                                        {
                                            "name": "sockshop",
                                            "state": "UP",
                                            "reason": "Probe success"
                                        }
                                    ]
                                },
                                {
                                    "name": "us-west-1",
                                    "application_services": [
                                        {
                                            "name": "guestbook",
                                            "state": "DOWN",
                                            "reason": "Port is not available"
                                        },
                                        {
                                            "name": "sockshop",
                                            "state": "UP",
                                            "reason": "Probe success"
                                        }
                                    ]
                                }
                            ]
                        },
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/ApplicationHealthObject"
                            }
                        ]
                    }
                }
            },
            "ApplicationHealthObject": {
                "required": [
                    "name",
                    "state"
                ],
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "Name of the application."
                    },
                    "state": {
                        "type": "string",
                        "description": "Aggregated state of the application."
                    },
                    "reason": {
                        "type": "string",
                        "description": "Reason for the state change."
                    },
                    "availability_zone": {
                        "title": "All the services belongs to the application and its health score per availability zone.",
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "name": {
                                    "type": "string",
                                    "description": "Name of the availability zone"
                                },
                                "application_services": {
                                    "type": "array",
                                    "description": "All the services belongs to the application.",
                                    "items": {
                                        "type": "object",
                                        "allOf": [
                                            {
                                                "$ref": "#/components/schemas/ApplicationServiceHealthObject"
                                            }
                                        ]
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "ApplicationServiceHealthObject": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "Name of the service."
                    },
                    "state": {
                        "type": "string",
                        "description": "State of the service."
                    },
                    "reason": {
                        "type": "string",
                        "description": "Reason for the state change."
                    }
                }
            },
            "FileUploadRequestSchema": {
                "type": "object",
                "properties": {
                    "resource_type": {
                        "type": "string",
                        "description": "NITRO resource type.",
                        "example": "appfwsignature"
                    },
                    "resource_name": {
                        "type": "string",
                        "description": "NITRO resource name.",
                        "example": "mysignature"
                    },
                    "filename": {
                        "type": "string",
                        "description": "Name of the file.",
                        "example": "mysig.xml"
                    },
                    "file_content": {
                        "type": "string",
                        "description": "Content of file.",
                        "example": "xxxx"
                    }
                },
                "description": "Description of a file to upload on the target."
            },
            "CertificatesRequestSchema": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "description": "Cerstore id of certificates",
                        "example": "123abcd45"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of certificate",
                        "example": "mycertkey"
                    },
                    "cert": {
                        "type": "string",
                        "description": "Name of the certfile",
                        "example": "mycert1.cert"
                    },
                    "key": {
                        "type": "string",
                        "description": "Name of the keyfile",
                        "example": "mycert1.key"
                    },
                    "certkeyname": {
                        "type": "string",
                        "description": "Name of certkey",
                        "example": "mycertkey"
                    }
                },
                "description": "description of a certificate to upload on the target"
            },
            "computeSchemaRequest": {
                "description": "Compute Schema request",
                "type": "object",
                "properties": {
                    "compute_schema": {
                        "type": "object",
                        "additionalProperties": true
                    }
                }
            },
            "computeSchemaResponse": {
                "description": "Compute Schema request",
                "type": "object",
                "properties": {
                    "compute_schema": {
                        "type": "object",
                        "additionalProperties": true
                    }
                }
            },
            "PasswordAttributesResponseSchema": {
                "type": "object",
                "properties": {
                    "resource_type": {
                        "type": "string",
                        "description": "Type of ADC entity."
                    },
                    "resource_name": {
                        "type": "string",
                        "description": "Name of the ADC entity."
                    },
                    "attribute_name": {
                        "type": "string",
                        "description": "Name of the entity's attribute that denotes a password."
                    }
                },
                "description": "Description of a password attribute used in the configuration."
            },
            "FileUploadResponseSchema": {
                "type": "object",
                "properties": {
                    "resource_type": {
                        "type": "string",
                        "description": "NITRO resource type.",
                        "example": "sslcertkey"
                    },
                    "resource_name": {
                        "type": "string",
                        "description": "NITRO resource name.",
                        "example": "mycertkey"
                    },
                    "filename": {
                        "type": "string",
                        "description": "Name of the file.",
                        "example": "mycert1.key"
                    }
                },
                "description": "Description of a file to upload on the target."
            },
            "CertificatesResponseSchema": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "string",
                        "description": "Cerstore id of certificates",
                        "example": "123abcd"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of certificate",
                        "example": "mycertkey"
                    },
                    "cert": {
                        "type": "string",
                        "description": "Name of the certfile",
                        "example": "mycert1.cert"
                    },
                    "key": {
                        "type": "string",
                        "description": "Name of the keyfile",
                        "example": "mycert1.key"
                    },
                    "certkeyname": {
                        "type": "string",
                        "description": "Name of certkey",
                        "example": "mycertkey"
                    }
                },
                "description": "description of a certificate to upload on the target"
            },
            "IPPortConfigsSchema": {
                "description": "IP Port schema to update ip/port of resources.",
                "allOf": [
                    {
                        "$ref": "#/components/schemas/VServerNameAndTypeSchema"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "ip_port_config": {
                                "type": "array",
                                "items": {
                                    "$ref": "#/components/schemas/IPPortConfigSchema"
                                }
                            }
                        }
                    }
                ]
            },
            "IPPortConfigSchema": {
                "type": "object",
                "properties": {
                    "resource_type": {
                        "type": "string",
                        "description": "Type of resource."
                    },
                    "resource_name": {
                        "type": "string",
                        "description": "Name of the resource."
                    },
                    "ip": {
                        "type": "string",
                        "description": "IP address."
                    },
                    "port": {
                        "type": "number",
                        "description": "Listening port of the resource."
                    },
                    "node_id": {
                        "type": "string",
                        "description": "Unique identifier for the resource object."
                    },
                    "parent": {
                        "type": "string",
                        "description": "Node ID of the parent entity."
                    },
                    "servername": {
                        "type": "string",
                        "description": "Name of the servicegroup member/server in case of servicegroup/service."
                    },
                    "index": {
                        "type": "number",
                        "description": "Used for internal purpose for identifying the duplicates."
                    }
                },
                "description": "IP Port schema to update ip/port of a resource."
            },
            "CommonExtractConfigRequestSchema": {
                "type": "object",
                "properties": {
                    "file_uploads": {
                        "type": "array",
                        "description": "List of files to upload on the target.",
                        "items": {
                            "$ref": "#/components/schemas/FileUploadRequestSchema"
                        }
                    },
                    "certificates": {
                        "type": "array",
                        "description": "List of ssl certificates",
                        "items": {
                            "$ref": "#/components/schemas/CertificatesRequestSchema"
                        }
                    },
                    "password_attributes": {
                        "type": "array",
                        "description": "List of values for password accepting attributes.",
                        "items": {
                            "$ref": "#/components/schemas/PasswordAttributesRequestSchema"
                        }
                    },
                    "ip_port_configs": {
                        "type": "array",
                        "description": "Modified IP and port information of endpoints and backend servers as per the migration target.",
                        "items": {
                            "$ref": "#/components/schemas/IPPortConfigsSchema"
                        }
                    }
                },
                "description": "Common sets of config in request/response of ExtractConfig API."
            },
            "CommonExtractConfigResponseSchema": {
                "type": "object",
                "properties": {
                    "file_uploads": {
                        "type": "array",
                        "description": "List of files to upload on the target.",
                        "items": {
                            "$ref": "#/components/schemas/FileUploadResponseSchema"
                        }
                    },
                    "certificates": {
                        "type": "array",
                        "description": "List of ssl certificates",
                        "items": {
                            "$ref": "#/components/schemas/CertificatesResponseSchema"
                        }
                    },
                    "password_attributes": {
                        "type": "array",
                        "description": "List of values for password accepting attributes.",
                        "items": {
                            "$ref": "#/components/schemas/PasswordAttributesResponseSchema"
                        }
                    },
                    "ip_port_configs": {
                        "type": "array",
                        "description": "Modified IP and Port information of endpoints and backend servers as per the migration target.",
                        "items": {
                            "$ref": "#/components/schemas/IPPortConfigsSchema"
                        }
                    }
                },
                "description": "Common sets of configuration in request/response of ExtractConfig API."
            },
            "configParamsSchema": {
                "type": "object",
                "additionalProperties": true,
                "description": "Config params structure for ADC model application."
            },
            "CommonConfigInspectionSchema": {
                "type": "object",
                "properties": {
                    "index": {
                        "type": "string",
                        "description": "Index of the configuration in application_config"
                    },
                    "issue": {
                        "type": "object",
                        "properties": {
                            "message": {
                                "type": "string",
                                "description": "Error Message"
                            },
                            "feature": {
                                "type": "string",
                                "description": "ADC feature corresponding to the configuration"
                            }
                        },
                        "description": "Issues in the configuration"
                    },
                    "action": {
                        "type": "string",
                        "description": "Action taken on the config"
                    }
                },
                "description": "Common sets of config in config inspection object"
            },
            "MigrateConfigEndpointSchema": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "Name of the Endpoint"
                    },
                    "endpoint_type": {
                        "type": "string",
                        "enum": [
                            "Internal",
                            "External"
                        ]
                    },
                    "fqdn_auto_allocated": {
                        "type": "boolean",
                        "default": false
                    },
                    "fqdns": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "listeners": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "vserver_name": {
                                    "description": "VServer Name associated to the Endpoint",
                                    "type": "string"
                                },
                                "is_https_redirect": {
                                    "type": "boolean",
                                    "description": "Auto Redirect HTTP traffic to HTTPS.",
                                    "default": false
                                },
                                "redirect_port": {
                                    "maximum": 65535,
                                    "minimum": 1,
                                    "type": "integer",
                                    "format": "int32"
                                }
                            }
                        }
                    }
                },
                "example": {
                    "endpoint_type": "External",
                    "fqdn_auto_allocated": false,
                    "fqdns": [
                        "staging.citicorp.com"
                    ]
                }
            },
            "jobMigrationResponse": {
                "title": "jobMigrationResponse",
                "type": "object",
                "properties": {
                    "migration": {
                        "type": "object",
                        "properties": {
                            "job_id": {
                                "type": "string"
                            }
                        }
                    }
                }
            },
            "SchemaClassicApplication": {
                "type": "object",
                "properties": {
                    "schema": {
                        "type": "object",
                        "additionalProperties": {},
                        "description": "Schema for application."
                    }
                }
            },
            "ServerSubnetIds": {
                "type": "array",
                "items": {
                    "$ref": "#/components/schemas/ServerSubnetIdObject"
                }
            },
            "ServerSubnetIdObject": {
                "type": "object",
                "properties": {
                    "zone": {
                        "type": "string",
                        "description": "Availability zone where subnet lies."
                    },
                    "subnet": {
                        "type": "string",
                        "description": "Server subnet."
                    }
                }
            },
            "listServiceProfilesResponse": {
                "title": "List Service Profiles Response",
                "type": "object",
                "properties": {
                    "service_profiles": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ServiceProfileWithIdResponse"
                        }
                    }
                }
            },
            "getServiceProfileResponse": {
                "title": "Get Service Profile Response",
                "type": "object",
                "properties": {
                    "service_profile": {
                        "$ref": "#/components/schemas/ServiceProfileWithIdResponse"
                    }
                }
            },
            "addServiceProfilesRequest": {
                "title": "Add Service Profiles Request",
                "type": "object",
                "properties": {
                    "service_profiles": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ServiceProfile"
                        }
                    }
                }
            },
            "addServiceProfilesResponse": {
                "title": "Add Service Profiles Response",
                "type": "object",
                "properties": {
                    "service_profiles": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ServiceProfileWithIdResponse"
                        }
                    }
                }
            },
            "modifyServiceProfileRequest": {
                "title": "Add Service Profile Request",
                "type": "object",
                "properties": {
                    "service_profile": {
                        "$ref": "#/components/schemas/ServiceProfileWithId"
                    }
                }
            },
            "modifyServiceProfileResponse": {
                "title": "addServiceProfileResponse",
                "type": "object",
                "properties": {
                    "service_profile": {
                        "$ref": "#/components/schemas/ServiceProfileWithIdResponse"
                    }
                }
            },
            "ServiceProfile": {
                "required": [
                    "lb",
                    "name"
                ],
                "type": "object",
                "properties": {
                    "name": {
                        "maxLength": 30,
                        "minLength": 1,
                        "type": "string",
                        "example": "HTTPProtection"
                    },
                    "lb": {
                        "$ref": "#/components/schemas/ServiceProfileLB"
                    },
                    "ssl_backend": {
                        "$ref": "#/components/schemas/ServiceProfileSSLBackend"
                    }
                }
            },
            "ServiceProfileLB": {
                "allOf": [
                    {
                        "$ref": "#/components/schemas/LBParams"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "name": {
                                "type": "string"
                            }
                        }
                    }
                ]
            },
            "ServiceProfileSSLBackend": {
                "allOf": [
                    {
                        "$ref": "#/components/schemas/CACertificates"
                    },
                    {
                        "$ref": "#/components/schemas/SSLBackendParams"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "name": {
                                "type": "string"
                            }
                        }
                    }
                ]
            },
            "ServiceProfileWithIdResponse": {
                "allOf": [
                    {
                        "$ref": "#/components/schemas/ServiceProfileWithId"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "created_at": {
                                "type": "string"
                            },
                            "updated_at": {
                                "type": "string"
                            },
                            "deployed_at": {
                                "type": "string"
                            },
                            "app_associations": {
                                "type": "array",
                                "description": "Lists all the applications associated with the service profile.",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "is_default": {
                                "type": "boolean",
                                "description": "Service Profile will be default if set to true."
                            },
                            "job_id": {
                                "type": "string",
                                "example": "8f6c8c5f36b4b6b248797cebe0eaecfa"
                            },
                            "status": {
                                "type": "string",
                                "description": "State of the application"
                            }
                        }
                    }
                ]
            },
            "ServiceProfileWithId": {
                "title": "ServiceProfileWithId",
                "allOf": [
                    {
                        "type": "object",
                        "required": [
                            "id"
                        ],
                        "properties": {
                            "id": {
                                "type": "string",
                                "example": "82308ca33-371c-4920-9162-910bd43204ba"
                            }
                        }
                    },
                    {
                        "$ref": "#/components/schemas/ServiceProfile"
                    }
                ]
            },
            "AdmApplication": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "lb_vservers": {
                        "type": "array",
                        "items": {
                            "required": [
                                "id"
                            ],
                            "type": "object",
                            "properties": {
                                "id": {
                                    "type": "string"
                                },
                                "name": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "cs_vservers": {
                        "type": "array",
                        "items": {
                            "required": [
                                "id"
                            ],
                            "type": "object",
                            "properties": {
                                "id": {
                                    "type": "string"
                                },
                                "name": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                },
                "example": {
                    "name": "app1",
                    "lb_vservers": [
                        {
                            "id": "9828",
                            "name": "lb1"
                        }
                    ],
                    "cs_vservers": [
                        {
                            "id": "456",
                            "name": "cs1"
                        }
                    ]
                }
            },
            "AdmApplicationWithId": {
                "allOf": [
                    {
                        "type": "object",
                        "required": [
                            "id"
                        ],
                        "properties": {
                            "id": {
                                "type": "string"
                            }
                        }
                    },
                    {
                        "$ref": "#/components/schemas/AdmApplication"
                    }
                ]
            },
            "addAdmApplicationResponse": {
                "title": "Response to add an onprem application",
                "type": "object",
                "properties": {
                    "adm_applications": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/AdmApplicationWithId"
                        }
                    }
                }
            },
            "addAdmApplicationRequest": {
                "title": "Request to add an application",
                "type": "object",
                "properties": {
                    "adm_applications": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/AdmApplication"
                        }
                    }
                }
            },
            "listAdmApplicationsResponse": {
                "title": "List Applications Response",
                "type": "object",
                "properties": {
                    "adm_applications": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/AdmApplicationWithId"
                        }
                    }
                }
            },
            "getAdmApplicationsResponse": {
                "title": "Get Applications Response",
                "type": "object",
                "properties": {
                    "adm_application": {
                        "$ref": "#/components/schemas/AdmApplicationWithId"
                    }
                }
            },
            "modifyAdmApplicationRequest": {
                "title": "Modify applications request",
                "type": "object",
                "properties": {
                    "adm_application": {
                        "type": "object",
                        "properties": {
                            "lb_vservers": {
                                "type": "array",
                                "items": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "string"
                                        },
                                        "name": {
                                            "type": "string"
                                        }
                                    }
                                }
                            },
                            "cs_vservers": {
                                "type": "array",
                                "items": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "string"
                                        },
                                        "name": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        },
                        "example": {
                            "lb_vservers": [
                                {
                                    "id": "9828",
                                    "name": "lb1"
                                }
                            ],
                            "cs_vservers": [
                                {
                                    "id": "456",
                                    "name": "cs1"
                                }
                            ]
                        }
                    }
                }
            },
            "modifyAdmApplicationResponse": {
                "title": "Modify application response",
                "type": "object",
                "properties": {
                    "adm_application": {
                        "$ref": "#/components/schemas/AdmApplicationWithId"
                    }
                }
            },
            "jobAdmApplicationResponse": {
                "title": "jobApplicationResponse",
                "type": "object",
                "properties": {
                    "job_id": {
                        "type": "string",
                        "example": "8f6c8c5f36b4b6b248797cebe0eaecfa"
                    }
                }
            },
            "AdmAppNetworkfunctionAssociate": {
                "title": "networkfunctions list",
                "type": "object",
                "properties": {
                    "network_functions": {
                        "type": "array",
                        "items": {
                            "required": [
                                "id",
                                "type"
                            ],
                            "type": "object",
                            "properties": {
                                "id": {
                                    "type": "string"
                                },
                                "type": {
                                    "type": "string",
                                    "enum": [
                                        "appsec"
                                    ]
                                }
                            },
                            "example": {
                                "id": "eeef48e59cf4efec5462be608e47dd3d",
                                "type": "appsec"
                            }
                        }
                    }
                }
            },
            "OriginApplicationServerSitesObject": {
                "title": "OriginApplicationServerSites",
                "description": "Sites of the network where the origin application server resides. It can be same as the environment VPC. Or, in case of AWS, a VPC connected via transit gateway or peering to the environment VPC. Or, it can be any external network as well.",
                "type": "object",
                "anyOf": [
                    {
                        "$ref": "#/components/schemas/ExternalOriginApplicationServerSites"
                    },
                    {
                        "$ref": "#/components/schemas/AWSOriginApplicationServerSites"
                    },
                    {
                        "$ref": "#/components/schemas/AzureOriginApplicationServerSites"
                    }
                ]
            },
            "ExternalOriginApplicationServerSites": {
                "title": "ExternalOriginApplicationServerSites",
                "description": "Sites specifc to external network. It can be either cloud or non-cloud based network.",
                "type": "object",
                "properties": {
                    "external": {
                        "type": "object",
                        "properties": {
                            "cidrs": {
                                "type": "array",
                                "items": {
                                    "type": "string",
                                    "description": "CIDR of the origin application server to which the traffic is routed from ADCs"
                                }
                            }
                        }
                    }
                }
            },
            "AWSOriginApplicationServerSites": {
                "title": "AWSOriginApplicationServerSites",
                "description": "Sites specific to networks in AWS cloud platform. It can be as the environment VPC. Or, an AWS VPC connected via transit gateway or peering to the environment VPC",
                "type": "object",
                "properties": {
                    "aws": {
                        "type": "object",
                        "properties": {
                            "peered_vpcs": {
                                "$ref": "#/components/schemas/AWSPeeredVpcs"
                            },
                            "transit_gateway_vpcs": {
                                "$ref": "#/components/schemas/AWSTransitGatewayVpcs"
                            },
                            "environment_vpc": {
                                "$ref": "#/components/schemas/EnvironmentVPC"
                            }
                        }
                    }
                }
            },
            "AzureOriginApplicationServerSites": {
                "title": "AzureOriginApplicationServerSites",
                "description": "Sites specific to networks in Azure cloud platform. Currently, support is available for only the environment VPC.",
                "type": "object",
                "properties": {
                    "azure": {
                        "type": "object",
                        "properties": {
                            "environment_vpc": {
                                "$ref": "#/components/schemas/EnvironmentVPC"
                            }
                        }
                    }
                }
            },
            "EnvironmentVPC": {
                "title": "EnvironmentVPC",
                "description": "Site of the VPC where environment is to be deployed. Consider passing, if the origin application server resides in the same VPC",
                "type": "object",
                "properties": {
                    "cidrs": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "description": "CIDR of the environment VPC where the origin application server resides and to which the network traffic is routed from the ADCs"
                        }
                    }
                }
            },
            "AWSPeeredVpcs": {
                "title": "AWSPeeredVpcs",
                "description": "Sites of the VPCs connected to environment VPC via peering connection",
                "type": "array",
                "items": {
                    "type": "object",
                    "properties": {
                        "id": {
                            "type": "string",
                            "description": "peering connection ID"
                        },
                        "vpc_id": {
                            "type": "string",
                            "description": "origin application server ID"
                        },
                        "vpc_name": {
                            "type": "string",
                            "description": "origin application server name"
                        },
                        "cidrs": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "description": "CIDR of the origin application server connected to environment VPC via peering connection and to which the traffic is routed from ADCs"
                            }
                        }
                    }
                }
            },
            "AWSTransitGatewayVpcs": {
                "title": "AWSTransitGatewayVpcs",
                "description": "Sites of the VPCs connected to Environment VPC via Transit Gateway",
                "type": "array",
                "items": {
                    "type": "object",
                    "properties": {
                        "id": {
                            "type": "string",
                            "description": "transit gateway ID"
                        },
                        "vpc_id": {
                            "type": "string",
                            "description": "origin application server ID"
                        },
                        "vpc_name": {
                            "type": "string",
                            "description": "origin application server name"
                        },
                        "cidrs": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "description": "CIDR of the origin application server connected to environment VPC via transit gateway and to which the traffic is routed from ADCs"
                            }
                        }
                    }
                }
            }
        },
        "parameters": {
            "customerid": {
                "name": "customerid",
                "in": "path",
                "description": "Customer ID of the user.",
                "required": true,
                "schema": {
                    "type": "string"
                }
            },
            "authHeaderParam": {
                "name": "Cookie",
                "in": "header",
                "description": "Session Id for authentication. Should be mentioned in the format SESSID=sessionIdValue.",
                "schema": {
                    "type": "string"
                }
            },
            "authTokenHeaderParam": {
                "name": "Authorization",
                "in": "header",
                "description": "Session Id for authentication.Should be mentioned in the format CwcAuth bearer=sessionIdValue.",
                "required": true,
                "schema": {
                    "type": "string"
                }
            },
            "pageNo": {
                "name": "pageno",
                "in": "query",
                "description": "Page Number to be fetched for the request.",
                "schema": {
                    "type": "string"
                }
            },
            "pageSize": {
                "name": "pagesize",
                "in": "query",
                "description": "Page Size to be fetched for the request.",
                "schema": {
                    "type": "string"
                }
            },
            "name": {
                "name": "name",
                "in": "query",
                "description": "Name of the resource.",
                "schema": {
                    "type": "string"
                }
            },
            "DryRunBooleanParam": {
                "name": "dryrun",
                "in": "query",
                "description": "Deployment performs",
                "schema": {
                    "type": "string",
                    "enum": [
                        "true",
                        "false"
                    ]
                }
            },
            "count": {
                "name": "count",
                "in": "query",
                "description": "Fetch count of resources",
                "schema": {
                    "type": "string",
                    "enum": [
                        "true",
                        "false"
                    ]
                }
            }
        },
        "securitySchemes": {
            "citrix_auth": {
                "type": "apiKey",
                "name": "Authorization",
                "in": "header"
            }
        }
    }
}