{
  "openapi" : "3.0.1",
  "info" : {
    "title" : "Unified Access Gateway REST API"
  },
  "servers" : [ {
    "url" : "/rest"
  } ],
  "security" : [ {
    "bearerAuth" : [ ]
  } ],
  "tags" : [ {
    "name" : "JWT Authentication",
    "description" : "Resource for managing the JWT Authentication in UAG Admin"
  }, {
    "name" : "AdminUserSettings",
    "description" : "Resource for managing the Admin users on an appliance."
  }, {
    "name" : "AuthMethodSettings",
    "description" : "Resource for managing authentication method configuration"
  }, {
    "name" : "EdgeServiceSettings",
    "description" : "Resource for managing edge service configuration"
  }, {
    "name" : "GeneralSettings",
    "description" : "Resource for managing the general settings for Access Point."
  }, {
    "name" : "MonitoringOperations",
    "description" : "Resource for monitoring related operations."
  }, {
    "name" : "NicSettings",
    "description" : "Resource for updating NIC configuration."
  }, {
    "name" : "UAGSettings",
    "description" : "Resource for managing the settings for the entire Unified Access Gateway system."
  }, {
    "name" : "ServerCertificate",
    "description" : "Resource for managing the server SSL/TLS certificate."
  }, {
    "name" : "Syslog server Settings",
    "description" : "Resource for managing the syslog server settings for UAG"
  }, {
    "name" : "SystemSettings",
    "description" : "Resource for managing the system settings for Access Point."
  } ],
  "paths" : {
    "/v1/jwt/invalidate" : {
      "delete" : {
        "tags" : [ "JWT Authentication" ],
        "summary" : "Invalidate Access and Refresh Token",
        "description" : "Create JWT Access and Refresh token",
        "operationId" : "invalidateToken",
        "responses" : {
          "200" : {
            "description" : "Success"
          },
          "400" : {
            "description" : "Bad request",
            "content" : {
              "application/json" : { }
            }
          },
          "500" : {
            "description" : "Unable to create JWT token",
            "content" : {
              "application/json" : { }
            }
          }
        }
      }
    },
    "/v1/config/authmethod/radius-auth" : {
      "get" : {
        "tags" : [ "AuthMethodSettings" ],
        "summary" : "Get authentication method settings for the radius-auth method",
        "description" : "Gets authentication method settings for the radius-auth authentication method.",
        "operationId" : "getAuthMethodSettingsRadiusAuth",
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RadiusAuthMethodSettings"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "AuthMethodSettings" ],
        "summary" : "Update authentication method settings for the radius-auth method",
        "description" : "Updates authentication method settings for the radius-auth authentication method.",
        "operationId" : "putAuthMethodSettingsRadiusAuth",
        "requestBody" : {
          "description" : "Authentication method settings",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/RadiusAuthMethodSettings"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RadiusAuthMethodSettings"
                }
              }
            }
          }
        }
      }
    },
    "/v1/config/authmethod/securid-auth" : {
      "get" : {
        "tags" : [ "AuthMethodSettings" ],
        "summary" : "Get authentication method settings for the securid-auth method",
        "description" : "Gets authentication method settings for the securid-auth authentication method.",
        "operationId" : "getAuthMethodSettingsSecurIDIdp",
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SecurIDIdpMethodSettings"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "AuthMethodSettings" ],
        "summary" : "Update authentication method settings for the securid-auth method",
        "description" : "Updates authentication method settings for the securid-auth authentication method.",
        "operationId" : "putAuthMethodSettingsSecurIDIdp",
        "requestBody" : {
          "description" : "Authentication method settings",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SecurIDIdpMethodSettings"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SecurIDIdpMethodSettings"
                }
              }
            }
          }
        }
      }
    },
    "/v1/config/authmethod/certificate-auth" : {
      "get" : {
        "tags" : [ "AuthMethodSettings" ],
        "summary" : "Get authentication method settings for the certificate-auth method",
        "description" : "Gets authentication method settings for the certificate-auth authentication method.",
        "operationId" : "getAuthMethodSettingsCertificateAuth",
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CertificateAuthMethodSettings"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "AuthMethodSettings" ],
        "summary" : "Update authentication method settings for the certificate-auth method",
        "description" : "Updates authentication method settings for the certificate-auth authentication method.",
        "operationId" : "putAuthMethodSettingsCertificateAuth",
        "requestBody" : {
          "description" : "Authentication method settings",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CertificateAuthMethodSettings"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CertificateAuthMethodSettings"
                }
              }
            }
          }
        }
      }
    },
    "/v1/jwt/login" : {
      "post" : {
        "tags" : [ "JWT Authentication" ],
        "summary" : "Create JWT Access and Refresh Token",
        "description" : "Create JWT Access and Refresh token",
        "operationId" : "login",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/JwtTokenCreationRequest"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/JWTAuthenticationResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad request",
            "content" : {
              "application/json" : { }
            }
          },
          "500" : {
            "description" : "Unable to create JWT token",
            "content" : {
              "application/json" : { }
            }
          }
        }
      }
    },
    "/v1/jwt/refreshToken" : {
      "post" : {
        "tags" : [ "JWT Authentication" ],
        "summary" : "Create new Access and Refresh Token using refresh token",
        "description" : "Create JWT Access and Refresh token",
        "operationId" : "refreshToken",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/RefreshTokenRequest"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/JWTAuthenticationResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad request",
            "content" : {
              "application/json" : { }
            }
          },
          "500" : {
            "description" : "Unable to create JWT token",
            "content" : {
              "application/json" : { }
            }
          }
        }
      }
    },
    "/v1/config/adminusers/change-password" : {
      "post" : {
        "tags" : [ "AdminUserSettings" ],
        "summary" : "Change user password.",
        "description" : "This will take user, old password and new password as parameter",
        "operationId" : "changeUserPassword",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ChangePasswordSettings"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "content" : {
              "text/plain" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad request to change admin user password",
            "content" : {
              "text/plain" : { }
            }
          },
          "500" : {
            "description" : "Unable to change admin user password",
            "content" : {
              "text/plain" : { }
            }
          }
        }
      }
    },
    "/v1/config/adminusers" : {
      "get" : {
        "tags" : [ "AdminUserSettings" ],
        "summary" : "Get all UAG Admin Users",
        "description" : "Get the list of all UAG Admin Users",
        "operationId" : "getAllAdminUsers",
        "parameters" : [ {
          "name" : "excludeSamlUsers",
          "in" : "query",
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AdminUsersList"
                }
              }
            }
          },
          "500" : {
            "description" : "Unable to get admin users",
            "content" : {
              "application/json" : { }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "AdminUserSettings" ],
        "summary" : "Update admin user",
        "description" : "Update a UAG Admin user",
        "operationId" : "updateAdminUser",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ModifiedAdminUser"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AdminUser"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad request to update admin user",
            "content" : {
              "application/json" : { }
            }
          },
          "500" : {
            "description" : "Unable to update admin user",
            "content" : {
              "application/json" : { }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "AdminUserSettings" ],
        "summary" : "Create new user",
        "description" : "Create a new UAG Admin user",
        "operationId" : "createAdminUser",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/AdminUser"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AdminUser"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad request to create admin user",
            "content" : {
              "application/json" : { }
            }
          },
          "500" : {
            "description" : "Unable to create admin user",
            "content" : {
              "application/json" : { }
            }
          }
        }
      }
    },
    "/v1/config/adminusers/{name}" : {
      "get" : {
        "tags" : [ "AdminUserSettings" ],
        "summary" : "Get details of a single user.",
        "description" : "Get the details of a single Admin user.",
        "operationId" : "getAdminUser",
        "parameters" : [ {
          "name" : "name",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AdminUser"
                }
              }
            }
          },
          "500" : {
            "description" : "Unable to get the specified admin user",
            "content" : {
              "application/json" : { }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "AdminUserSettings" ],
        "summary" : "Delete a User",
        "description" : "Delete a UAG Admin user by username",
        "operationId" : "deleteAdminUser",
        "parameters" : [ {
          "name" : "name",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AdminUser"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad request to delete admin user",
            "content" : {
              "application/json" : { }
            }
          },
          "500" : {
            "description" : "Unable to delete admin user",
            "content" : {
              "application/json" : { }
            }
          }
        }
      }
    },
    "/v1/config/authmethod" : {
      "get" : {
        "tags" : [ "AuthMethodSettings" ],
        "summary" : "Get all authentication method settings",
        "description" : "Get all the authentication method settings.",
        "operationId" : "getAllAuthMethodSettings",
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AuthMethodSettingsList"
                }
              }
            }
          },
          "500" : {
            "description" : "Unable to get list of auth method settings",
            "content" : {
              "application/json" : { }
            }
          }
        }
      }
    },
    "/v1/config/authmethod/ocsp/certificate" : {
      "put" : {
        "tags" : [ "AuthMethodSettings" ],
        "summary" : "Upload OCSP certificate",
        "description" : "This operation is valid only for certificate authentication.",
        "operationId" : "uploadOcspCertificate",
        "requestBody" : {
          "content" : {
            "*/*" : {
              "schema" : {
                "type" : "string"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad request to upload OCSP certificate",
            "content" : {
              "application/json" : { }
            }
          },
          "500" : {
            "description" : "Unable to upload OCSP certificate",
            "content" : {
              "application/json" : { }
            }
          }
        }
      }
    },
    "/v1/config/edgeservice/contentgateway" : {
      "put" : {
        "tags" : [ "EdgeServiceSettings" ],
        "summary" : "Create or update Airwatch Content Gateway settings",
        "description" : "Explicit endpoint for creating a Airwatch Content Gateway edge service settings if it does not exist, otherwise update the existing one.",
        "operationId" : "createOrUpdateAirWatchCGEdgeServiceSettings",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/AirWatchCGEdgeServiceSettings"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/EdgeServiceSettings"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad request to update Content Gateway edge service setting",
            "content" : {
              "application/json" : { }
            }
          },
          "500" : {
            "description" : "Unable to update Content Gateway edge service setting",
            "content" : {
              "application/json" : { }
            }
          }
        }
      }
    },
    "/v1/config/edgeservice/seg" : {
      "put" : {
        "tags" : [ "EdgeServiceSettings" ],
        "summary" : "Create or update Airwatch SEG settings",
        "description" : "Explicit endpoint for creating a Airwatch SEG edge service settings if it does not exist, otherwise update the existing one.",
        "operationId" : "createOrUpdateAirWatchSEGEdgeServiceSettings",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/AirWatchSEGEdgeServiceSettings"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/EdgeServiceSettings"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad request to update SEG edge service setting",
            "content" : {
              "application/json" : { }
            }
          },
          "500" : {
            "description" : "Unable to update SEG edge service setting",
            "content" : {
              "application/json" : { }
            }
          }
        }
      }
    },
    "/v1/config/edgeservice/tunnelgateway" : {
      "put" : {
        "tags" : [ "EdgeServiceSettings" ],
        "summary" : "Create or update Airwatch Tunnel edge server settings",
        "description" : "Explicit endpoint for creating a Airwatch Tunnel Server edge service settings if it does not exist, otherwise update the existing one.",
        "operationId" : "createOrUpdateAirWatchTunnelServerEdgeServiceSettings",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/AirWatchTunnelServerEdgeServiceSettings"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/EdgeServiceSettings"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad request to update Tunnel Server edge service setting",
            "content" : {
              "application/json" : { }
            }
          },
          "500" : {
            "description" : "Unable to update Tunnel Server edge service setting",
            "content" : {
              "application/json" : { }
            }
          }
        }
      }
    },
    "/v1/config/edgeservice/view" : {
      "put" : {
        "tags" : [ "EdgeServiceSettings" ],
        "summary" : "Create or update View edge server settings",
        "description" : "Explicit endpoint for creating a View edge service settings if it does not exist, otherwise update the existing one.",
        "operationId" : "createOrUpdateViewEdgeServiceSettings",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ViewEdgeServiceSettings"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/EdgeServiceSettings"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad request to update View edge service setting",
            "content" : {
              "application/json" : { }
            }
          },
          "500" : {
            "description" : "Unable to update View edge service setting",
            "content" : {
              "application/json" : { }
            }
          }
        }
      }
    },
    "/v1/config/edgeservice/webreverseproxy" : {
      "put" : {
        "tags" : [ "EdgeServiceSettings" ],
        "summary" : "Create or update Workspace Portal edge server settings",
        "description" : "Explicit endpoint for creating a Workspace Portal edge service settings if it does not exist, otherwise update the existing one.",
        "operationId" : "createOrUpdateWsPortalEdgeServiceSettings",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/WsPortalEdgeServiceSettings"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/EdgeServiceSettings"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad request to update WebReverseProxy edge service setting",
            "content" : {
              "application/json" : { }
            }
          },
          "500" : {
            "description" : "Unable to update WebReverseProxy edge service setting",
            "content" : {
              "application/json" : { }
            }
          }
        }
      }
    },
    "/v1/config/edgeservice/{edgeServiceType}/{instanceId}" : {
      "get" : {
        "tags" : [ "EdgeServiceSettings" ],
        "summary" : "Get edge service settings for a given instance ID",
        "description" : "Gets edge service settings for the specified type and instance ID. This is used for edge services where multiple instances of same edge service can be configured",
        "operationId" : "getEdgeServiceSettings_2",
        "parameters" : [ {
          "name" : "edgeServiceType",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "WEB_REVERSE_PROXY", "VIEW", "TUNNEL_GATEWAY", "SEG", "CONTENT_GATEWAY", "DUMMY_TYPE", "WEB_REVERSE_PROXY" ]
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/EdgeServiceSettings"
                }
              }
            }
          },
          "404" : {
            "description" : "Specified edge service is not configured, applicable to unique edge services (i.,e., that can have single instance) only",
            "content" : {
              "application/json" : { }
            }
          },
          "500" : {
            "description" : "Unable to get specified instance of edge service",
            "content" : {
              "application/json" : { }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "EdgeServiceSettings" ],
        "summary" : "Deletes edge service settings",
        "description" : "Deletes edge service settings for a specified type and instance ID",
        "operationId" : "deleteEdgeServiceSetting",
        "parameters" : [ {
          "name" : "edgeServiceType",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "WEB_REVERSE_PROXY", "VIEW", "TUNNEL_GATEWAY", "SEG", "CONTENT_GATEWAY", "DUMMY_TYPE", "WEB_REVERSE_PROXY" ]
          }
        }, {
          "name" : "instanceId",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/EdgeServiceSettingsList"
                }
              }
            }
          },
          "400" : {
            "description" : "Attempt to delete a configured unique edge service",
            "content" : {
              "application/json" : { }
            }
          },
          "404" : {
            "description" : "Attempt to delete non-unique edge service instance that does not exist",
            "content" : {
              "application/json" : { }
            }
          },
          "500" : {
            "description" : "Unable to delete specified instance of edge service",
            "content" : {
              "application/json" : { }
            }
          }
        }
      }
    },
    "/v1/config/edgeservice" : {
      "get" : {
        "tags" : [ "EdgeServiceSettings" ],
        "summary" : "Get all edge service settings",
        "description" : "Get all the edge service settings.",
        "operationId" : "getAllEdgeServiceSettings",
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/EdgeServiceSettingsList"
                }
              }
            }
          },
          "500" : {
            "description" : "Unable to get configured edge service settings list",
            "content" : {
              "application/json" : { }
            }
          }
        }
      }
    },
    "/v1/config/edgeservice/{edgeServiceType}" : {
      "get" : {
        "tags" : [ "EdgeServiceSettings" ],
        "summary" : "Get edge service settings",
        "description" : "Gets edge service settings for the specified type.",
        "operationId" : "getEdgeServiceSettings_1",
        "parameters" : [ {
          "name" : "edgeServiceType",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "ROOT", "WEB_REVERSE_PROXY", "VIEW", "TUNNEL_GATEWAY", "CONTENT_GATEWAY", "SEG" ]
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/EdgeServiceSettings"
                }
              }
            }
          },
          "404" : {
            "description" : "Specified edge service is not configured, applicable to unique edge services (i.,e., that can have single instance) only",
            "content" : {
              "application/json" : { }
            }
          },
          "500" : {
            "description" : "Unable to get specified edge service setting",
            "content" : {
              "application/json" : { }
            }
          }
        }
      }
    },
    "/v1/config/general" : {
      "get" : {
        "tags" : [ "GeneralSettings" ],
        "summary" : "Get general settings",
        "description" : "Get the settings which contain configuration info for the Access Point",
        "operationId" : "getGeneralSettings",
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GeneralSettings"
                }
              }
            }
          },
          "500" : {
            "description" : "Unable to get general settings",
            "content" : {
              "application/json" : { }
            }
          }
        }
      }
    },
    "/v1/monitor/support-archive" : {
      "get" : {
        "tags" : [ "MonitoringOperations" ],
        "summary" : "Get log archive",
        "description" : "Gets a ZIP archive of all Access Point log files. NOTE: this API does not work through the Swagger UI or Postman. To experiment with the API, enter the URL directly into the browser. e.g. https://uaghost:9443/rest/v1/monitor/support-archive",
        "operationId" : "getLogArchive",
        "responses" : {
          "200" : {
            "content" : {
              "application/zip" : { }
            }
          },
          "500" : {
            "description" : "Unable to get log archive",
            "content" : {
              "application/zip" : { }
            }
          }
        }
      }
    },
    "/v1/monitor/stats" : {
      "get" : {
        "tags" : [ "MonitoringOperations" ],
        "summary" : "Get Stats",
        "description" : "Get Stats",
        "operationId" : "getStats",
        "responses" : {
          "200" : {
            "content" : {
              "application/xml" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "500" : {
            "description" : "Unable to get UAG stats",
            "content" : {
              "application/xml" : { }
            }
          }
        }
      }
    },
    "/v1/config/nic" : {
      "get" : {
        "tags" : [ "NicSettings" ],
        "summary" : "Get all NIC settings",
        "description" : "Get all the NIC settings.",
        "operationId" : "getAllNicSettings",
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/NicSettingsList"
                }
              }
            }
          },
          "500" : {
            "description" : "Unable to get NIC settings",
            "content" : {
              "application/json" : { }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "NicSettings" ],
        "summary" : "Update the specific NIC configuration.",
        "operationId" : "submitNicConfig",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/NicSettings"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "content" : {
              "text/plain" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "500" : {
            "description" : "Unable to update NIC settings update",
            "content" : {
              "text/plain" : { }
            }
          }
        }
      }
    },
    "/v1/config/nic/{nic}" : {
      "get" : {
        "tags" : [ "NicSettings" ],
        "summary" : "Get network settings for a specific NIC",
        "description" : "Gets network settings for a specific NIC.",
        "operationId" : "getNicSettings",
        "parameters" : [ {
          "name" : "nic",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string",
            "enum" : [ "eth0", "eth1", "eth2" ]
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/NicSettingsList"
                }
              },
              "text/plain" : {
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "500" : {
            "description" : "Unable to get NIC settings",
            "content" : {
              "application/json" : { },
              "text/plain" : { }
            }
          }
        }
      }
    },
    "/v1/config/settings" : {
      "get" : {
        "tags" : [ "UAGSettings" ],
        "summary" : "Get settings",
        "description" : "Get the settings which contain configuration info for UAG",
        "operationId" : "getSettings",
        "parameters" : [ {
          "name" : "format",
          "in" : "query",
          "schema" : {
            "type" : "string",
            "default" : "JSON",
            "enum" : [ "JSON", "INI" ]
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Settings"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad request to get settings",
            "content" : {
              "application/json" : { }
            }
          },
          "500" : {
            "description" : "Unable to get Settings",
            "content" : {
              "application/json" : { }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "UAGSettings" ],
        "summary" : "Create or update settings",
        "description" : "Create settings if they do not exist; else, update the existing ones.",
        "operationId" : "createOrUpdateSettings",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Settings"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Settings"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad request for settings update",
            "content" : {
              "application/json" : { }
            }
          },
          "500" : {
            "description" : "Unable to update Settings",
            "content" : {
              "application/json" : { }
            }
          }
        }
      }
    },
    "/v1/config/certs/ssl/{entity}" : {
      "get" : {
        "tags" : [ "ServerCertificate" ],
        "summary" : "Get server certificate",
        "description" : "Gets the SSL certificate used by the Access Point HTTPS Proxy, the PCoIP and BLAST Secure Gateway OR by the admin interface on 9443",
        "operationId" : "getSslCertificate_1",
        "parameters" : [ {
          "name" : "entity",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string",
            "default" : "end_user",
            "enum" : [ "end_user", "admin" ]
          }
        } ],
        "responses" : {
          "default" : {
            "description" : "default response",
            "content" : {
              "application/json" : { }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "ServerCertificate" ],
        "summary" : "Update server certificate",
        "description" : "Updates the SSL certificate to use for the Access Point HTTPS Proxy, the PCoIP and BLAST Secure Gateway OR for the admin interface on 9443 SSL certificates should include the full chain of authority and the private key associated with the certificate.",
        "operationId" : "updateSslCertificate_1",
        "parameters" : [ {
          "name" : "entity",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string",
            "default" : "end_user",
            "enum" : [ "end_user", "admin" ]
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CertificateChainAndKeyWrapper"
              }
            }
          }
        },
        "responses" : {
          "default" : {
            "description" : "default response",
            "content" : {
              "application/json" : { }
            }
          }
        }
      }
    },
    "/v1/config/certs/ssl/details/{entity}" : {
      "get" : {
        "tags" : [ "ServerCertificate" ],
        "summary" : "Get server certificate details",
        "description" : "Gets the SSL certificate details used by the Access Point HTTPS Proxy, the PCoIP and BLAST Secure Gateway OR by the admin interface on 9443",
        "operationId" : "getSslCertificateDetails",
        "parameters" : [ {
          "name" : "entity",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string",
            "default" : "end_user",
            "enum" : [ "end_user", "admin" ]
          }
        } ],
        "responses" : {
          "default" : {
            "description" : "default response",
            "content" : {
              "application/json" : { }
            }
          }
        }
      }
    },
    "/v1/config/certs/ssl/pfx" : {
      "put" : {
        "tags" : [ "ServerCertificate" ],
        "summary" : "Update server certificate with pfx",
        "description" : "Updates the SSL certificate to use for the Access Point HTTPS Proxy and the BLAST Secure Gateway. SSL certificates should include the full chain of authority and the private key associated with the certificate.",
        "operationId" : "updateSslCertificateWithPfx",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PfxCertStoreWrapper"
              }
            }
          }
        },
        "responses" : {
          "default" : {
            "description" : "default response",
            "content" : {
              "application/json" : { }
            }
          }
        }
      }
    },
    "/v1/config/certs/ssl/pfx/{entity}" : {
      "put" : {
        "tags" : [ "ServerCertificate" ],
        "summary" : "Update server certificate with pfx",
        "description" : "Updates the SSL certificate to use for the Access Point HTTPS Proxy, the PCoIP and BLAST Secure Gateway OR for the admin interface on 9443 SSL certificates should include the full chain of authority and the private key associated with the certificate.",
        "operationId" : "updateSslCertificateWithPfx_1",
        "parameters" : [ {
          "name" : "entity",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "default" : "end_user",
              "enum" : [ "end_user", "admin" ]
            }
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/PfxCertStoreWrapper"
              }
            }
          }
        },
        "responses" : {
          "default" : {
            "description" : "default response",
            "content" : {
              "application/json" : { }
            }
          }
        }
      }
    },
    "/v1/config/syslog" : {
      "get" : {
        "tags" : [ "Syslog server Settings" ],
        "summary" : "Get all Syslog server  Settings",
        "description" : "Get the complete info includes all syslog server settings",
        "operationId" : "getSyslogSettings",
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SyslogSettings"
                }
              }
            }
          },
          "500" : {
            "description" : "Unable to get Syslog Settings",
            "content" : {
              "application/json" : { }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Syslog server Settings" ],
        "summary" : "Create/Update syslog settings",
        "description" : "Create/Update syslog settings",
        "operationId" : "createOrUpdateSyslogSettings",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SyslogSettings"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SyslogSettings"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad request for syslog settings update",
            "content" : {
              "application/json" : { }
            }
          },
          "500" : {
            "description" : "Unable to update syslog Settings",
            "content" : {
              "application/json" : { }
            }
          }
        }
      }
    },
    "/v1/config/syslog/{hostName}" : {
      "get" : {
        "tags" : [ "Syslog server Settings" ],
        "summary" : "Get specific syslog server Settings",
        "description" : "Get Syslog Server Settings",
        "operationId" : "getSyslogServerSettings",
        "parameters" : [ {
          "name" : "hostName",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SyslogSettings"
                }
              }
            }
          },
          "500" : {
            "description" : "Unable to get Syslog server Settings",
            "content" : {
              "application/json" : { }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Syslog server Settings" ],
        "summary" : "Create or update specific syslog server settings",
        "description" : "Create or update existing syslog server settings",
        "operationId" : "updateSyslogServerSettings",
        "parameters" : [ {
          "name" : "hostName",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SyslogServerSettings"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SyslogSettings"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad request for Syslog settings update",
            "content" : {
              "application/json" : { }
            }
          },
          "500" : {
            "description" : "Unable to update Syslog Settings",
            "content" : {
              "application/json" : { }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Syslog server Settings" ],
        "summary" : "Delete specific syslog server Settings",
        "description" : "Delete specific syslog server settings",
        "operationId" : "deleteSyslogServerSettings",
        "parameters" : [ {
          "name" : "hostName",
          "in" : "path",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SyslogSettings"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad request for syslog settings removal",
            "content" : {
              "application/json" : { }
            }
          },
          "500" : {
            "description" : "Unable to remove syslog Settings",
            "content" : {
              "application/json" : { }
            }
          }
        }
      }
    },
    "/v1/config/system" : {
      "get" : {
        "tags" : [ "SystemSettings" ],
        "summary" : "Get system settings",
        "description" : "Get the settings which contain configuration info for the Unified Access Gateway",
        "operationId" : "getSystemSettings",
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SystemSettings"
                }
              }
            }
          },
          "500" : {
            "description" : "Unable to get System Settings",
            "content" : {
              "application/json" : { }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "SystemSettings" ],
        "summary" : "Create or update system settings",
        "description" : "Create a system settings if it doesn't exist; else, update the existing one.",
        "operationId" : "createOrUpdateSystemSettings",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SystemSettings"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SystemSettings"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad request for system settings update",
            "content" : {
              "application/json" : { }
            }
          },
          "500" : {
            "description" : "Unable to update System Settings",
            "content" : {
              "application/json" : { }
            }
          }
        }
      }
    }
  },
  "components" : {
    "schemas" : {
      "RadiusAuthMethodSettings" : {
        "required" : [ "accountingPort", "accountingPort_2", "authPort", "authPort_2", "authType", "authType_2", "directAuthChainedUsername", "enableBasicMSCHAPv2Validation", "enableBasicMSCHAPv2Validation_2", "enabled", "enabledAux", "hostName", "hostName_2", "nameIdSuffix", "numAttempts", "numAttempts_2", "radiusCustomPassphraseHint", "radiusDisplayHint", "realmPrefix", "realmPrefix_2", "realmSuffix", "realmSuffix_2", "serverTimeout", "serverTimeout_2", "sharedSecret", "sharedSecret_2", "showDomainIfUserInputAvailable" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "object",
            "description" : "The name of the authentication method.",
            "readOnly" : false
          },
          "className" : {
            "type" : "object",
            "description" : "The name of the class that implements the authentication method.",
            "readOnly" : true
          },
          "displayName" : {
            "type" : "object",
            "description" : "The name of the method useful for display to the user.",
            "readOnly" : true
          },
          "jarFile" : {
            "type" : "object",
            "description" : "The path name of the JAR file that contains the authentication method.",
            "readOnly" : true
          },
          "authMethod" : {
            "type" : "object",
            "description" : "The formal name (URN) of the authentication method.",
            "readOnly" : true
          },
          "versionNum" : {
            "type" : "object",
            "description" : "The version of the authentication method.",
            "readOnly" : true
          },
          "authMethodConfigUuid" : {
            "type" : "object",
            "description" : "",
            "readOnly" : false
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "",
            "example" : false
          },
          "radiusDisplayHint" : {
            "type" : "string",
            "description" : "Login page passphrase hint",
            "example" : "Login page passphrase hint"
          },
          "radiusCustomPassphraseHint" : {
            "type" : "string",
            "description" : "Custom passphrase hint for login page",
            "example" : "Custom passphrase hint for login page"
          },
          "directAuthChainedUsername" : {
            "type" : "boolean",
            "description" : "Enable direct authentication to RADIUS server",
            "example" : false
          },
          "numAttempts" : {
            "type" : "string",
            "description" : "Number of attempts to RADIUS server",
            "example" : "Number of attempts to RADIUS server"
          },
          "serverTimeout" : {
            "type" : "string",
            "description" : "Server timeout in seconds",
            "example" : "Server timeout in seconds"
          },
          "hostName" : {
            "type" : "string",
            "description" : "RADIUS Server Hostname/Address",
            "example" : "RADIUS Server Hostname/Address"
          },
          "authPort" : {
            "type" : "string",
            "description" : "Authentication port",
            "example" : "Authentication port"
          },
          "accountingPort" : {
            "type" : "string",
            "description" : "Accounting port",
            "example" : "Accounting port"
          },
          "authType" : {
            "type" : "string",
            "description" : "Authentication attributeUIType: PAP, CHAP, MS-CHAPv1, or MS-CHAPv2.",
            "example" : "Authentication attributeUIType: PAP, CHAP, MS-CHAPv1, or MS-CHAPv2."
          },
          "sharedSecret" : {
            "type" : "string",
            "description" : "Shared secret",
            "example" : "Shared secret"
          },
          "realmPrefix" : {
            "type" : "string",
            "description" : "Realm prefix",
            "example" : "Realm prefix"
          },
          "realmSuffix" : {
            "type" : "string",
            "description" : "Realm suffix",
            "example" : "Realm suffix"
          },
          "enableBasicMSCHAPv2Validation" : {
            "type" : "boolean",
            "description" : "Enable basic MSCHAPv2 validation",
            "example" : false
          },
          "enabledAux" : {
            "type" : "boolean",
            "description" : "Enable secondary server",
            "example" : false
          },
          "numAttempts_2" : {
            "type" : "string",
            "description" : "Number of attempts to secondary RADIUS server",
            "example" : "Number of attempts to secondary RADIUS server"
          },
          "serverTimeout_2" : {
            "type" : "string",
            "description" : "Server timeout in seconds for secondary server",
            "example" : "Server timeout in seconds for secondary server"
          },
          "hostName_2" : {
            "type" : "string",
            "description" : "RADIUS Server Hostname/Address for secondary server",
            "example" : "RADIUS Server Hostname/Address for secondary server"
          },
          "authPort_2" : {
            "type" : "string",
            "description" : "Authentication port for secondary server",
            "example" : "Authentication port for secondary server"
          },
          "accountingPort_2" : {
            "type" : "string",
            "description" : "Accounting port for secondary server",
            "example" : "Accounting port for secondary server"
          },
          "authType_2" : {
            "type" : "string",
            "description" : "Authentication attributeUIType for secondary server: PAP, CHAP, MS-CHAPv1, or MS-CHAPv2.",
            "example" : "Authentication attributeUIType for secondary server: PAP, CHAP, MS-CHAPv1, or MS-CHAPv2."
          },
          "sharedSecret_2" : {
            "type" : "string",
            "description" : "Shared secret for secondary server",
            "example" : "Shared secret for secondary server"
          },
          "nameIdSuffix" : {
            "type" : "object",
            "description" : "Name Id Suffix",
            "example" : "Name Id Suffix"
          },
          "realmPrefix_2" : {
            "type" : "string",
            "description" : "Realm prefix for secondary server",
            "example" : "Realm prefix for secondary server"
          },
          "realmSuffix_2" : {
            "type" : "string",
            "description" : "Realm suffix for secondary server",
            "example" : "Realm suffix for secondary server"
          },
          "enableBasicMSCHAPv2Validation_2" : {
            "type" : "boolean",
            "description" : "Enable basic MSCHAPv2 validation for secondary server",
            "example" : false
          },
          "showDomainIfUserInputAvailable" : {
            "type" : "boolean",
            "description" : "Display domain on login page",
            "example" : false
          }
        }
      },
      "SecurIDIdpMethodSettings" : {
        "required" : [ "enabled", "nameIdSuffix" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "object",
            "description" : "The name of the authentication method.",
            "readOnly" : false
          },
          "className" : {
            "type" : "object",
            "description" : "The name of the class that implements the authentication method.",
            "readOnly" : true
          },
          "displayName" : {
            "type" : "object",
            "description" : "The name of the method useful for display to the user.",
            "readOnly" : true
          },
          "jarFile" : {
            "type" : "object",
            "description" : "The path name of the JAR file that contains the authentication method.",
            "readOnly" : true
          },
          "authMethod" : {
            "type" : "object",
            "description" : "The formal name (URN) of the authentication method.",
            "readOnly" : true
          },
          "versionNum" : {
            "type" : "object",
            "description" : "The version of the authentication method.",
            "readOnly" : true
          },
          "authMethodConfigUuid" : {
            "type" : "object",
            "description" : "",
            "readOnly" : false
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "",
            "example" : false
          },
          "certificateRest" : {
            "type" : "string",
            "description" : "SSL Certificate of the RSA SecurId Authentication Manager server ",
            "example" : "SSL Certificate of the RSA SecurId Authentication Manager server "
          },
          "accessKeyRest" : {
            "type" : "string",
            "description" : "SecurID Server Access Key",
            "example" : "SecurID Server Access Key"
          },
          "serverPortRest" : {
            "type" : "string",
            "description" : "Authentication port",
            "example" : "Authentication port"
          },
          "serverHostnameRest" : {
            "type" : "string",
            "description" : "RADIUS Server Hostname/Address",
            "example" : "RADIUS Server Hostname/Address"
          },
          "authenticationTimeoutRest" : {
            "type" : "string",
            "description" : "Authentication Attempt Timeout in seconds",
            "example" : "Authentication Attempt Timeout in seconds"
          },
          "hostname" : {
            "type" : "string",
            "description" : "Connector host name without the scheme",
            "example" : "Connector host name without the scheme"
          },
          "nameIdSuffix" : {
            "type" : "string",
            "description" : "Name Id Suffix",
            "example" : "Name Id Suffix"
          }
        }
      },
      "CertificateAuthMethodSettings" : {
        "required" : [ "caCertificates", "certificatePolicies", "consentForm", "crlLocation", "enableCertCRL", "enableCertRevocation", "enableConsentForm", "enableOCSP", "enableOCSPCRLFailover", "enabled", "ocspURL", "ocspURLSource", "requestTimeout", "sendOCSPNonce", "userIdSource", "validateUpn" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "object",
            "description" : "The name of the authentication method.",
            "readOnly" : false
          },
          "className" : {
            "type" : "object",
            "description" : "The name of the class that implements the authentication method.",
            "readOnly" : true
          },
          "displayName" : {
            "type" : "object",
            "description" : "The name of the method useful for display to the user.",
            "readOnly" : true
          },
          "jarFile" : {
            "type" : "object",
            "description" : "The path name of the JAR file that contains the authentication method.",
            "readOnly" : true
          },
          "authMethod" : {
            "type" : "object",
            "description" : "The formal name (URN) of the authentication method.",
            "readOnly" : true
          },
          "versionNum" : {
            "type" : "object",
            "description" : "The version of the authentication method.",
            "readOnly" : true
          },
          "authMethodConfigUuid" : {
            "type" : "object",
            "description" : "",
            "readOnly" : false
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "",
            "example" : false
          },
          "caCertificates" : {
            "type" : "string",
            "description" : "A list of trusted CA certificates in PEM format.",
            "example" : "A list of trusted CA certificates in PEM format."
          },
          "userIdSource" : {
            "type" : "string",
            "description" : "Select the search order for locating the user identifier within the certificate. upn: UserPrincipalName value from the Subject Alternative Name; email: Email address from the Subject Alternative Name; subject: UID value from the Subject ",
            "example" : "Select the search order for locating the user identifier within the certificate. upn: UserPrincipalName value from the Subject Alternative Name; email: Email address from the Subject Alternative Name; subject: UID value from the Subject "
          },
          "validateUpn" : {
            "type" : "boolean",
            "description" : "",
            "example" : false
          },
          "requestTimeout" : {
            "type" : "string",
            "description" : "Timeout in seconds to wait for a response.  A value of zero will wait indefinitely.",
            "example" : "Timeout in seconds to wait for a response.  A value of zero will wait indefinitely."
          },
          "certificatePolicies" : {
            "type" : "string",
            "description" : "Object Identifier (OID) list that is accepted in the Certificate Policies extension",
            "example" : "Object Identifier (OID) list that is accepted in the Certificate Policies extension"
          },
          "enableCertRevocation" : {
            "type" : "boolean",
            "description" : "",
            "example" : false
          },
          "enableCertCRL" : {
            "type" : "boolean",
            "description" : "",
            "example" : false
          },
          "crlLocation" : {
            "type" : "string",
            "description" : "CRL location to use for revocation check (e.g. http://crlurl.crl or file:///crlFile.crl)",
            "example" : "CRL location to use for revocation check (e.g. http://crlurl.crl or file:///crlFile.crl)"
          },
          "enableOCSP" : {
            "type" : "boolean",
            "description" : "",
            "example" : false
          },
          "enableOCSPCRLFailover" : {
            "type" : "boolean",
            "description" : "",
            "example" : false
          },
          "sendOCSPNonce" : {
            "type" : "boolean",
            "description" : "",
            "example" : false
          },
          "ocspURL" : {
            "type" : "string",
            "description" : "OCSP URL to use for revocation check (e.g. http://ocspurl.com).",
            "example" : "OCSP URL to use for revocation check (e.g. http://ocspurl.com)."
          },
          "ocspURLSource" : {
            "type" : "string",
            "description" : "Source for OCSP URL: configuration, certificate or both",
            "example" : "Source for OCSP URL: configuration, certificate or both"
          },
          "enableConsentForm" : {
            "type" : "boolean",
            "description" : "",
            "example" : false
          },
          "consentForm" : {
            "type" : "string",
            "description" : "The content of the consent form to be displayed",
            "example" : "The content of the consent form to be displayed"
          }
        }
      },
      "JWTAuthenticationResponse" : {
        "type" : "object",
        "properties" : {
          "accessToken" : {
            "type" : "string"
          },
          "accessTokenExpiryTime" : {
            "type" : "string",
            "format" : "date-time"
          },
          "refreshToken" : {
            "type" : "string"
          },
          "refreshTokenExpiryTime" : {
            "type" : "string",
            "format" : "date-time"
          }
        }
      },
      "JwtTokenCreationRequest" : {
        "type" : "object",
        "properties" : {
          "username" : {
            "minLength" : 1,
            "type" : "string"
          },
          "password" : {
            "minLength" : 1,
            "type" : "string"
          },
          "refreshTokenExpiryInHours" : {
            "maximum" : 48,
            "minimum" : 3,
            "type" : "integer",
            "format" : "int32"
          }
        }
      },
      "RefreshTokenRequest" : {
        "type" : "object",
        "properties" : {
          "refreshToken" : {
            "minLength" : 1,
            "type" : "string"
          },
          "refreshTokenExpiryInHours" : {
            "maximum" : 48,
            "minimum" : 3,
            "type" : "integer",
            "format" : "int32"
          }
        }
      },
      "ChangePasswordSettings" : {
        "required" : [ "newPassword", "oldPassword", "userName" ],
        "type" : "object",
        "properties" : {
          "userName" : {
            "type" : "string",
            "description" : "User Name for which password is being changed."
          },
          "oldPassword" : {
            "type" : "string",
            "description" : "Old password of the user."
          },
          "newPassword" : {
            "type" : "string",
            "description" : "New Password for the user."
          }
        }
      },
      "AdminUser" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "password" : {
            "type" : "string"
          },
          "enabled" : {
            "type" : "boolean"
          },
          "roles" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "ROLE_MONITORING", "ROLE_ADMIN", "ROLE_ANONYMOUS" ]
            }
          },
          "userType" : {
            "type" : "string",
            "enum" : [ "INTERNAL", "EXTERNAL" ]
          },
          "adminMonitoringPasswordPreExpired" : {
            "type" : "boolean"
          }
        },
        "description" : "List of UAG Users."
      },
      "AdminUsersList" : {
        "required" : [ "adminUsersList" ],
        "type" : "object",
        "properties" : {
          "adminUsersList" : {
            "type" : "array",
            "description" : "List of UAG Users.",
            "items" : {
              "$ref" : "#/components/schemas/AdminUser"
            }
          }
        },
        "description" : "List of Admin Users"
      },
      "AdminSAMLSettings" : {
        "type" : "object",
        "properties" : {
          "enable" : {
            "type" : "boolean"
          },
          "entityId" : {
            "type" : "string"
          },
          "spEntityId" : {
            "type" : "string"
          },
          "signAuthNRequestWithAdminCert" : {
            "type" : "boolean"
          }
        },
        "description" : "UAG Admin SAML Configuration"
      },
      "ModifiedAdminUser" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "password" : {
            "type" : "string"
          },
          "enabled" : {
            "type" : "boolean"
          },
          "roles" : {
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "ROLE_MONITORING", "ROLE_ADMIN", "ROLE_ANONYMOUS" ]
            }
          },
          "userType" : {
            "type" : "string",
            "enum" : [ "INTERNAL", "EXTERNAL" ]
          },
          "adminMonitoringPasswordPreExpired" : {
            "type" : "boolean"
          }
        }
      },
      "AuthMethodSettingsList" : {
        "required" : [ "authMethodSettingsList" ],
        "type" : "object",
        "properties" : {
          "authMethodSettingsList" : {
            "type" : "array",
            "description" : "List of authentication method settings.",
            "items" : {
              "$ref" : "#/components/schemas/AuthMethodSettings"
            }
          }
        },
        "description" : "Authenication method settings."
      },
      "AuthMethodSettings" : {
        "required" : [ "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "The name of the authentication method."
          },
          "authMethod" : {
            "type" : "string",
            "description" : "The formal name (URN) of the authentication method.",
            "readOnly" : true
          },
          "empty" : {
            "type" : "boolean"
          }
        },
        "additionalProperties" : {
          "type" : "string",
          "description" : "List of authentication method settings."
        },
        "description" : "List of authentication method settings."
      },
      "BodyPart" : {
        "type" : "object",
        "properties" : {
          "contentDisposition" : {
            "$ref" : "#/components/schemas/ContentDisposition"
          },
          "entity" : {
            "type" : "object"
          },
          "headers" : {
            "type" : "object",
            "properties" : {
              "empty" : {
                "type" : "boolean"
              }
            },
            "additionalProperties" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              }
            }
          },
          "mediaType" : {
            "$ref" : "#/components/schemas/MediaType"
          },
          "messageBodyWorkers" : {
            "$ref" : "#/components/schemas/MessageBodyWorkers"
          },
          "parent" : {
            "$ref" : "#/components/schemas/MultiPart"
          },
          "providers" : {
            "$ref" : "#/components/schemas/Providers"
          },
          "parameterizedHeaders" : {
            "type" : "object",
            "properties" : {
              "empty" : {
                "type" : "boolean"
              }
            },
            "additionalProperties" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/ParameterizedHeader"
              }
            }
          }
        }
      },
      "ContentDisposition" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string"
          },
          "parameters" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            }
          },
          "fileName" : {
            "type" : "string"
          },
          "creationDate" : {
            "type" : "string",
            "format" : "date-time"
          },
          "modificationDate" : {
            "type" : "string",
            "format" : "date-time"
          },
          "readDate" : {
            "type" : "string",
            "format" : "date-time"
          },
          "size" : {
            "type" : "integer",
            "format" : "int64"
          }
        }
      },
      "FormDataBodyPart" : {
        "type" : "object",
        "properties" : {
          "contentDisposition" : {
            "$ref" : "#/components/schemas/ContentDisposition"
          },
          "entity" : {
            "type" : "object"
          },
          "headers" : {
            "type" : "object",
            "properties" : {
              "empty" : {
                "type" : "boolean"
              }
            },
            "additionalProperties" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              }
            }
          },
          "mediaType" : {
            "$ref" : "#/components/schemas/MediaType"
          },
          "messageBodyWorkers" : {
            "$ref" : "#/components/schemas/MessageBodyWorkers"
          },
          "parent" : {
            "$ref" : "#/components/schemas/MultiPart"
          },
          "providers" : {
            "$ref" : "#/components/schemas/Providers"
          },
          "name" : {
            "type" : "string"
          },
          "value" : {
            "type" : "string"
          },
          "content" : {
            "type" : "object"
          },
          "fileName" : {
            "type" : "string"
          },
          "formDataContentDisposition" : {
            "$ref" : "#/components/schemas/FormDataContentDisposition"
          },
          "simple" : {
            "type" : "boolean"
          },
          "parameterizedHeaders" : {
            "type" : "object",
            "properties" : {
              "empty" : {
                "type" : "boolean"
              }
            },
            "additionalProperties" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/ParameterizedHeader"
              }
            }
          }
        }
      },
      "FormDataContentDisposition" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string"
          },
          "parameters" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            }
          },
          "fileName" : {
            "type" : "string"
          },
          "creationDate" : {
            "type" : "string",
            "format" : "date-time"
          },
          "modificationDate" : {
            "type" : "string",
            "format" : "date-time"
          },
          "readDate" : {
            "type" : "string",
            "format" : "date-time"
          },
          "size" : {
            "type" : "integer",
            "format" : "int64"
          },
          "name" : {
            "type" : "string"
          }
        }
      },
      "MediaType" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string"
          },
          "subtype" : {
            "type" : "string"
          },
          "parameters" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            }
          },
          "wildcardType" : {
            "type" : "boolean"
          },
          "wildcardSubtype" : {
            "type" : "boolean"
          }
        }
      },
      "MessageBodyWorkers" : {
        "type" : "object"
      },
      "MultiPart" : {
        "type" : "object",
        "properties" : {
          "contentDisposition" : {
            "$ref" : "#/components/schemas/ContentDisposition"
          },
          "entity" : {
            "type" : "object"
          },
          "headers" : {
            "type" : "object",
            "properties" : {
              "empty" : {
                "type" : "boolean"
              }
            },
            "additionalProperties" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              }
            }
          },
          "mediaType" : {
            "$ref" : "#/components/schemas/MediaType"
          },
          "messageBodyWorkers" : {
            "$ref" : "#/components/schemas/MessageBodyWorkers"
          },
          "parent" : {
            "$ref" : "#/components/schemas/MultiPart"
          },
          "providers" : {
            "$ref" : "#/components/schemas/Providers"
          },
          "bodyParts" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/BodyPart"
            }
          },
          "parameterizedHeaders" : {
            "type" : "object",
            "properties" : {
              "empty" : {
                "type" : "boolean"
              }
            },
            "additionalProperties" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/ParameterizedHeader"
              }
            }
          }
        }
      },
      "MultivaluedMapStringParameterizedHeader" : {
        "type" : "object",
        "properties" : {
          "empty" : {
            "type" : "boolean"
          }
        },
        "additionalProperties" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/components/schemas/ParameterizedHeader"
          }
        }
      },
      "MultivaluedMapStringString" : {
        "type" : "object",
        "properties" : {
          "empty" : {
            "type" : "boolean"
          }
        },
        "additionalProperties" : {
          "type" : "array",
          "items" : {
            "type" : "string"
          }
        }
      },
      "ParameterizedHeader" : {
        "type" : "object",
        "properties" : {
          "value" : {
            "type" : "string"
          },
          "parameters" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            }
          }
        }
      },
      "Providers" : {
        "type" : "object"
      },
      "DevicePolicySettings" : {
        "required" : [ "name" ],
        "type" : "object",
        "properties" : {
          "hostedResourceMap" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/ResourceSettings"
            }
          },
          "settingsId" : {
            "type" : "string"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the device policy check service provider."
          },
          "complianceCheckInterval" : {
            "type" : "integer",
            "description" : "Compliance check interval.",
            "format" : "int64"
          },
          "complianceCheckTimeunit" : {
            "type" : "string",
            "description" : "Timeunit for compliance check Interval",
            "enum" : [ "NANOSECONDS", "MICROSECONDS", "MILLISECONDS", "SECONDS", "MINUTES", "HOURS", "DAYS" ]
          },
          "complianceServerHealthCheckInterval" : {
            "type" : "integer",
            "description" : "Account details check interval from compliance server",
            "format" : "int32"
          },
          "allowedStatuses" : {
            "type" : "array",
            "description" : "List of statuses allowed by admin to gain access",
            "items" : {
              "$ref" : "#/components/schemas/DeviceStatus"
            }
          }
        },
        "description" : "List of device policy settings.",
        "discriminator" : {
          "propertyName" : "name"
        }
      },
      "DeviceStatus" : {
        "type" : "object",
        "properties" : {
          "errorMessage" : {
            "type" : "string"
          },
          "statusValue" : {
            "type" : "string"
          },
          "allowed" : {
            "type" : "boolean"
          },
          "iniFieldName" : {
            "type" : "string"
          }
        },
        "description" : "List of statuses allowed by admin to gain access"
      },
      "Flags" : {
        "type" : "object",
        "properties" : {
          "flag" : {
            "type" : "array",
            "items" : {
              "pattern" : "^\\w{1,64}(?:[, \\t]+\\w{1,64}){0,15}$",
              "type" : "string"
            }
          }
        }
      },
      "HostedResourceMetadata" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "pattern" : "^[[\\p{L}\\p{N}\\p{M}_.-]+( [\\p{L}\\p{N}\\p{M}_.-]+)]{1,50}$",
            "type" : "string"
          },
          "path" : {
            "type" : "string"
          },
          "sha256Sum" : {
            "type" : "string",
            "xml" : {
              "name" : "sha256sum"
            }
          },
          "params" : {
            "type" : "string"
          },
          "flags" : {
            "$ref" : "#/components/schemas/Flags"
          },
          "executable" : {
            "type" : "string"
          },
          "isObtainedfromURL" : {
            "type" : "boolean"
          },
          "fileType" : {
            "type" : "string",
            "enum" : [ "Windows", "Mac" ]
          },
          "trustedSigningCertificates" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/PublicKeyOrCert"
            }
          },
          "osType" : {
            "type" : "string"
          }
        },
        "xml" : {
          "name" : "download"
        }
      },
      "OpswatDevicePolicySettings" : {
        "required" : [ "name", "password", "userName" ],
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/DevicePolicySettings"
        }, {
          "type" : "object",
          "properties" : {
            "allowedStatuses" : {
              "type" : "array",
              "description" : "List of statuses allowed by admin to gain access",
              "items" : {
                "type" : "string",
                "description" : "List of statuses allowed by admin to gain access",
                "enum" : [ "COMPLIANT", "NON_COMPLIANT", "OUT_OF_LICENSE_USAGE", "NOT_FOUND", "ASSESSMENT_PENDING", "OTHERS" ]
              }
            },
            "userName" : {
              "type" : "string",
              "description" : "User name for configured tenant."
            },
            "password" : {
              "type" : "string",
              "description" : "Password for configured user on tenant."
            },
            "hostName" : {
              "type" : "string",
              "description" : "Opswat host name."
            },
            "complianceCheckFastInterval" : {
              "type" : "integer",
              "description" : "Compliance check fast interval.",
              "format" : "int64"
            },
            "complianceCheckInitialDelay" : {
              "type" : "integer",
              "description" : "Compliance Check initial delay",
              "format" : "int64"
            }
          }
        } ]
      },
      "PublicKeyOrCert" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "data" : {
            "type" : "string"
          }
        }
      },
      "ResourceSettings" : {
        "type" : "object",
        "properties" : {
          "resourceURLSettings" : {
            "$ref" : "#/components/schemas/ServerSettings"
          },
          "hostedResourceMetadata" : {
            "$ref" : "#/components/schemas/HostedResourceMetadata"
          }
        },
        "description" : "List of edge service settings."
      },
      "ServerSettings" : {
        "type" : "object",
        "properties" : {
          "url" : {
            "type" : "string",
            "format" : "uri"
          },
          "urlThumbprints" : {
            "pattern" : "^\\s*\\*$||(((sha1|sha256|sha384|sha512|SHA1|SHA256|SHA384|SHA512)=)?([0-9a-fA-F][0-9a-fA-F][: ]?)*[0-9a-fA-F][0-9a-fA-F], *)*(((sha1|sha256|sha384|sha512|SHA1|SHA256|SHA384|SHA512)=)?([0-9a-fA-F][0-9a-fA-F][: ]?)*[0-9a-fA-F][0-9a-fA-F])",
            "type" : "string",
            "description" : "List of acceptable SSL server certificate thumbprints for the proxyDestinationUrl. If blank, a valid certificate is required. If '*', any certificate is allowed. Otherwise, this is a comma-separated list of thumbprints. A thumbprint is of the format [alg=]xx:xx... where alg can be sha1(default) or md5 and the 'xx' are hexidecimal digits. The ':' separator can also be a space or missing. Case in a thumbprint is ignored."
          },
          "trustedCertificates" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/PublicKeyOrCert"
            }
          },
          "urlResponseRefreshInterval" : {
            "type" : "integer",
            "format" : "int64"
          }
        },
        "description" : "JWT Issuer encryption public key url Settings "
      },
      "WorkspaceOneIntelligenceRiskScoreSettings" : {
        "required" : [ "name" ],
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/DevicePolicySettings"
        }, {
          "type" : "object",
          "properties" : {
            "allowedStatuses" : {
              "type" : "array",
              "description" : "List of statuses allowed by admin to gain access",
              "items" : {
                "type" : "string",
                "description" : "List of statuses allowed by admin to gain access",
                "enum" : [ "LOW", "MEDIUM", "HIGH", "OTHERS" ]
              }
            },
            "workspaceOneIntelligenceSettingsName" : {
              "type" : "string"
            }
          }
        } ]
      },
      "DevicePolicySettingsList" : {
        "required" : [ "devicePolicySettingsList" ],
        "type" : "object",
        "properties" : {
          "devicePolicySettingsList" : {
            "type" : "array",
            "description" : "List of device policy settings.",
            "items" : {
              "$ref" : "#/components/schemas/DevicePolicySettings"
            }
          }
        },
        "description" : "Device Policy settings list"
      },
      "AirWatchCGEdgeServiceSettings" : {
        "required" : [ "airwatchComponentsInstalled", "airwatchServerHostname", "apiServerPassword", "apiServerUrl", "apiServerUsername", "disableAutoConfigUpdate", "enabled", "identifier", "organizationGroupCode" ],
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/EdgeServiceSettings"
        }, {
          "type" : "object",
          "properties" : {
            "apiServerUrl" : {
              "type" : "string",
              "description" : "AirWatch API Server URL Format is [http[s]://]hostname[:port]."
            },
            "apiServerUsername" : {
              "type" : "string",
              "description" : "AirWatch Admin Console username"
            },
            "apiServerPassword" : {
              "type" : "string",
              "description" : "AirWatch Admin Console password"
            },
            "organizationGroupCode" : {
              "type" : "string",
              "description" : "Organization Group Code"
            },
            "airwatchServerHostname" : {
              "type" : "string",
              "description" : "AirWatch Application Hostname"
            },
            "reinitializeGatewayProcess" : {
              "type" : "boolean",
              "description" : "Forcibly re-initialize the Gateway"
            },
            "outboundProxyHost" : {
              "type" : "string",
              "description" : "Outbound Proxy Host"
            },
            "outboundProxyPort" : {
              "type" : "string",
              "description" : "Outbound Proxy Port"
            },
            "outboundProxyUsername" : {
              "type" : "string",
              "description" : "Outbound Proxy Username"
            },
            "ntlmAuthentication" : {
              "type" : "boolean",
              "description" : "Whether the outbound proxy requires NTLM authentication?"
            },
            "outboundProxyPassword" : {
              "type" : "string",
              "description" : "Outbound Proxy Password"
            },
            "airwatchComponentsInstalled" : {
              "type" : "string",
              "description" : "AirWatch Components installed on this appliance"
            },
            "disableAutoConfigUpdate" : {
              "type" : "boolean",
              "description" : "Disable automatic update of configuration changes from UEM console"
            },
            "airwatchAgentStartUpMode" : {
              "type" : "string"
            },
            "serviceHost" : {
              "type" : "string",
              "description" : "Service Hostname"
            },
            "servicePort" : {
              "type" : "string",
              "description" : "Service Port"
            },
            "serviceStatsPort" : {
              "type" : "string",
              "description" : "Service Stats Port"
            },
            "serviceName" : {
              "type" : "string",
              "description" : "Service Name"
            },
            "serviceInstallStatus" : {
              "type" : "boolean",
              "description" : "Service Installation Status"
            },
            "serviceInstallationMessage" : {
              "type" : "string",
              "description" : "Service Installation Message"
            },
            "runningMode" : {
              "type" : "string",
              "description" : "AirWatch Edge Service Running Mode"
            },
            "serviceConfigurationFailed" : {
              "type" : "boolean",
              "description" : "AirWatch Edge Service Configure Status"
            },
            "cgConfigurationId" : {
              "type" : "string",
              "description" : "Content Gateway Configuration ID"
            }
          }
        } ]
      },
      "AirWatchSEGEdgeServiceSettings" : {
        "required" : [ "airwatchComponentsInstalled", "airwatchServerHostname", "apiServerPassword", "apiServerUrl", "apiServerUsername", "disableAutoConfigUpdate", "enabled", "identifier", "organizationGroupCode" ],
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/EdgeServiceSettings"
        }, {
          "type" : "object",
          "properties" : {
            "apiServerUrl" : {
              "type" : "string",
              "description" : "AirWatch API Server URL Format is [http[s]://]hostname[:port]."
            },
            "apiServerUsername" : {
              "type" : "string",
              "description" : "AirWatch Admin Console username"
            },
            "apiServerPassword" : {
              "type" : "string",
              "description" : "AirWatch Admin Console password"
            },
            "organizationGroupCode" : {
              "type" : "string",
              "description" : "Organization Group Code"
            },
            "airwatchServerHostname" : {
              "type" : "string",
              "description" : "AirWatch Application Hostname"
            },
            "reinitializeGatewayProcess" : {
              "type" : "boolean",
              "description" : "Forcibly re-initialize the Gateway"
            },
            "outboundProxyHost" : {
              "type" : "string",
              "description" : "Outbound Proxy Host"
            },
            "outboundProxyPort" : {
              "type" : "string",
              "description" : "Outbound Proxy Port"
            },
            "outboundProxyUsername" : {
              "type" : "string",
              "description" : "Outbound Proxy Username"
            },
            "ntlmAuthentication" : {
              "type" : "boolean",
              "description" : "Whether the outbound proxy requires NTLM authentication?"
            },
            "outboundProxyPassword" : {
              "type" : "string",
              "description" : "Outbound Proxy Password"
            },
            "airwatchComponentsInstalled" : {
              "type" : "string",
              "description" : "AirWatch Components installed on this appliance"
            },
            "disableAutoConfigUpdate" : {
              "type" : "boolean",
              "description" : "Disable automatic update of configuration changes from UEM console"
            },
            "airwatchAgentStartUpMode" : {
              "type" : "string"
            },
            "serviceHost" : {
              "type" : "string",
              "description" : "Service Hostname"
            },
            "servicePort" : {
              "type" : "string",
              "description" : "Service Port"
            },
            "serviceStatsPort" : {
              "type" : "string",
              "description" : "Service Stats Port"
            },
            "serviceName" : {
              "type" : "string",
              "description" : "Service Name"
            },
            "serviceInstallStatus" : {
              "type" : "boolean",
              "description" : "Service Installation Status"
            },
            "serviceInstallationMessage" : {
              "type" : "string",
              "description" : "Service Installation Message"
            },
            "runningMode" : {
              "type" : "string",
              "description" : "AirWatch Edge Service Running Mode"
            },
            "serviceConfigurationFailed" : {
              "type" : "boolean",
              "description" : "AirWatch Edge Service Configure Status"
            },
            "memConfigurationId" : {
              "type" : "string",
              "description" : "AirWatch MEM Configuration ID"
            },
            "pfxCerts" : {
              "type" : "string"
            },
            "pfxCertsPassword" : {
              "type" : "string"
            },
            "pfxCertAlias" : {
              "type" : "string"
            },
            "pfxCertsThumbprint" : {
              "type" : "string"
            }
          }
        } ]
      },
      "AirWatchTunnelServerEdgeServiceSettings" : {
        "required" : [ "airwatchComponentsInstalled", "airwatchServerHostname", "apiServerPassword", "apiServerUrl", "apiServerUsername", "configuredService", "disableAutoConfigUpdate", "enabled", "identifier", "organizationGroupCode", "tunnelConfigurationId" ],
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/EdgeServiceSettings"
        }, {
          "type" : "object",
          "properties" : {
            "apiServerUrl" : {
              "type" : "string",
              "description" : "AirWatch API Server URL Format is [http[s]://]hostname[:port]."
            },
            "apiServerUsername" : {
              "type" : "string",
              "description" : "AirWatch Admin Console username"
            },
            "apiServerPassword" : {
              "type" : "string",
              "description" : "AirWatch Admin Console password"
            },
            "organizationGroupCode" : {
              "type" : "string",
              "description" : "Organization Group Code"
            },
            "airwatchServerHostname" : {
              "type" : "string",
              "description" : "AirWatch Application Hostname"
            },
            "reinitializeGatewayProcess" : {
              "type" : "boolean",
              "description" : "Forcibly re-initialize the Gateway"
            },
            "outboundProxyHost" : {
              "type" : "string",
              "description" : "Outbound Proxy Host"
            },
            "outboundProxyPort" : {
              "type" : "string",
              "description" : "Outbound Proxy Port"
            },
            "outboundProxyUsername" : {
              "type" : "string",
              "description" : "Outbound Proxy Username"
            },
            "ntlmAuthentication" : {
              "type" : "boolean",
              "description" : "Whether the outbound proxy requires NTLM authentication?"
            },
            "outboundProxyPassword" : {
              "type" : "string",
              "description" : "Outbound Proxy Password"
            },
            "airwatchComponentsInstalled" : {
              "type" : "string",
              "description" : "AirWatch Components installed on this appliance"
            },
            "disableAutoConfigUpdate" : {
              "type" : "boolean",
              "description" : "Disable automatic update of configuration changes from UEM console"
            },
            "airwatchAgentStartUpMode" : {
              "type" : "string"
            },
            "serviceHost" : {
              "type" : "string",
              "description" : "Service Hostname"
            },
            "servicePort" : {
              "type" : "string",
              "description" : "Service Port"
            },
            "serviceStatsPort" : {
              "type" : "string",
              "description" : "Service Stats Port"
            },
            "serviceName" : {
              "type" : "string",
              "description" : "Service Name"
            },
            "serviceInstallStatus" : {
              "type" : "boolean",
              "description" : "Service Installation Status"
            },
            "serviceInstallationMessage" : {
              "type" : "string",
              "description" : "Service Installation Message"
            },
            "runningMode" : {
              "type" : "string",
              "description" : "AirWatch Edge Service Running Mode"
            },
            "serviceConfigurationFailed" : {
              "type" : "boolean",
              "description" : "AirWatch Edge Service Configure Status"
            },
            "configuredService" : {
              "type" : "string",
              "description" : "A read only property used to identify which service is enabled in WS1 UEM console : vpn is the only supported value",
              "enum" : [ "WEB_REVERSE_PROXY", "VIEW", "TUNNEL_GATEWAY", "SEG", "CONTENT_GATEWAY", "DUMMY_TYPE" ]
            },
            "tunnelConfigurationId" : {
              "type" : "string",
              "description" : "Tunnel Config GUID"
            }
          }
        } ]
      },
      "CertificateChainAndKeyWrapper" : {
        "required" : [ "certChainPem", "privateKeyPem" ],
        "type" : "object",
        "properties" : {
          "privateKeyPem" : {
            "minLength" : 1,
            "type" : "string",
            "description" : "Private key for the certificate in PEM format"
          },
          "certChainPem" : {
            "type" : "string",
            "description" : "Entire certificate chain in PEM format. Chain will be stored in the order target cert, intermediate certs, root cert if present"
          }
        }
      },
      "EdgeServiceSettings" : {
        "required" : [ "enabled", "identifier" ],
        "type" : "object",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "Whether this service is enabled"
          },
          "identifier" : {
            "type" : "string",
            "description" : "The type of edge service."
          },
          "proxyDestinationUrl" : {
            "type" : "string",
            "description" : "Users will make HTTP requests to the Access Point to access a service, and the requests will be proxied to this URL, where the service lives."
          },
          "proxyDestinationUrlThumbprints" : {
            "pattern" : "^\\s*$||(((sha1|sha256|sha384|sha512|SHA1|SHA256|SHA384|SHA512)=)?([0-9a-fA-F][0-9a-fA-F][: ]?)*[0-9a-fA-F][0-9a-fA-F], *)*(((sha1|sha256|sha384|sha512|SHA1|SHA256|SHA384|SHA512)=)?([0-9a-fA-F][0-9a-fA-F][: ]?)*[0-9a-fA-F][0-9a-fA-F])",
            "type" : "string",
            "description" : "List of acceptable SSL server certificate thumbprints for the proxyDestinationUrl. If blank, a valid certificate is required. If '*', any certificate is allowed. Otherwise, this is a comma-separated list of thumbprints. A thumbprint is of the format [alg=]xx:xx... where alg can be sha1(default) or md5 and the 'xx' are hexidecimal digits. The ':' separator can also be a space or missing. Case in a thumbprint is ignored."
          },
          "authMethods" : {
            "type" : "string",
            "description" : "Comma-separated list of the names of authentication methods to use for the edge service. If blank or null, no AP authentication is enforced."
          },
          "healthCheckUrl" : {
            "type" : "string",
            "description" : "Health check url to be used to check health of the backend. If notprovided /favicon.ico will be used"
          },
          "samlSP" : {
            "type" : "string",
            "description" : "The name of the SAML service provider for the View XMLAPI broker. This name must either match the name of a configured service provider metadata or be the special value \"DEMO\"."
          },
          "hostEntries" : {
            "type" : "array",
            "description" : "The list of host entries to be added in /etc/hosts/",
            "items" : {
              "type" : "string",
              "description" : "The list of host entries to be added in /etc/hosts/"
            }
          },
          "trustedCertificates" : {
            "type" : "array",
            "description" : "The list of trusted certificates to be added in /etc/pki/trust/anchors/",
            "items" : {
              "$ref" : "#/components/schemas/PublicKeyOrCert"
            }
          },
          "devicePolicyServiceProvider" : {
            "type" : "string",
            "description" : "Name of the device policy check service provider.",
            "enum" : [ "OPSWAT", "Workspace_ONE_Intelligence_Risk_Score" ]
          },
          "customExecutableList" : {
            "type" : "array",
            "description" : "List of custom executables",
            "items" : {
              "type" : "string",
              "description" : "List of custom executables"
            }
          },
          "redirectHostPortMappingList" : {
            "type" : "string",
            "description" : "Comma seperated values of source host:port to redirect host:port. Port is optional, 443 is assumed by default. Host and port should be separated with a colon (:). Each entry should be in source-host[:port]_redirect-host[:port] format eg: extrenalhost1.com_uag1.com, externalhost2.com_uag1.com, externalhost3.com:12443_uag3.com:12443"
          },
          "canonicalizationEnabled" : {
            "type" : "boolean",
            "description" : "The default value is true for horizon and false for web reverse proxy"
          },
          "hostRedirectionEnabled" : {
            "type" : "boolean",
            "description" : "This configuration is required for the handling for redirection response from the backend service, Although introduced for Horizon broker use case, but it is not tied to Horizon broker and can be used for the WRP use cases as well."
          },
          "originHeaderDetailsList" : {
            "type" : "array",
            "description" : "List of origins from which calls will be allowed and corresponding flag for rewrite of origin header. If enabled the origin header if any in the request will be rewritten to the value specified in Proxy destination URL",
            "items" : {
              "$ref" : "#/components/schemas/OriginHeaderDetails"
            }
          },
          "originCheckEnabled" : {
            "type" : "boolean",
            "description" : "Default is true. If set to false, the origin check will be disabled. Currently works only for Horizon"
          },
          "uniqueInstanceId" : {
            "type" : "string"
          },
          "redirectHostMappingList" : {
            "type" : "string",
            "writeOnly" : true
          }
        },
        "description" : "List of edge service settings.",
        "discriminator" : {
          "propertyName" : "identifier"
        }
      },
      "OriginHeaderDetails" : {
        "type" : "object",
        "properties" : {
          "origin" : {
            "type" : "string"
          },
          "originRewriteEnabled" : {
            "type" : "boolean"
          },
          "autoGenerated" : {
            "type" : "boolean"
          }
        },
        "description" : "List of origins from which calls will be allowed and corresponding flag for rewrite of origin header. If enabled the origin header if any in the request will be rewritten to the value specified in Proxy destination URL"
      },
      "PfxCertStoreWrapper" : {
        "required" : [ "pfxKeystore" ],
        "type" : "object",
        "properties" : {
          "pfxKeystore" : {
            "type" : "string",
            "description" : "PFX certificate store in base64 encoded format"
          },
          "password" : {
            "type" : "string",
            "description" : "PFX certificate store password"
          },
          "alias" : {
            "type" : "string",
            "description" : "If the pfx certificate store has multiple certificates then an alias has to be provided. This is optional by default for pfx certificate store having only one certificate"
          }
        }
      },
      "ViewEdgeServiceSettings" : {
        "required" : [ "blastEnabled", "enabled", "identifier", "pcoipEnabled", "tunnelEnabled" ],
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/EdgeServiceSettings"
        }, {
          "type" : "object",
          "properties" : {
            "pcoipEnabled" : {
              "type" : "boolean",
              "description" : "Enable / disable PC over IP support."
            },
            "pcoipExternalUrl" : {
              "type" : "string",
              "description" : "Override the default PCoIP External URL value. Format is [pcoip://]IP[:port]. Default value (Access Point's IP address:4172) will be used if not set."
            },
            "blastEnabled" : {
              "type" : "boolean",
              "description" : "Enable / disable BLAST secure gateway support."
            },
            "blastUrls" : {
              "type" : "string",
              "description" : "Comma seperated list of URLs that can be used by Horizon Clients to establish Horizon Blast sessions, in addition to the primary external URL. Format is [https://]host1[:port],[https://]host2[:port]."
            },
            "blastExternalUrl" : {
              "type" : "string",
              "description" : "Override the default BLAST External URL value. Format is [https://]host[:port][?queryParams]. Default value (Access Point's host:443) will be used if not set."
            },
            "blastReverseConnectionEnabled" : {
              "type" : "boolean",
              "description" : "Enable / disable BLAST reverse connection."
            },
            "blastReverseExternalUrlOutside" : {
              "type" : "string",
              "description" : "Override the internet facing BLAST Reverse External URL value. Format is [https://]host[:port]. More values can be provided in comma separated format."
            },
            "blastReverseExternalUrlInside" : {
              "type" : "string",
              "description" : "Override the internal facing BLAST Reverse External URL value. Format is [https://]host[:port]. More values can be provided in comma separated format."
            },
            "proxyBlastPemCert" : {
              "type" : "string",
              "description" : "Certificate of any proxy if present in front of UAG for forwarding blast connections. In PEM format and only leaf certificate"
            },
            "blastAllowedHostHeaderValues" : {
              "type" : "string",
              "description" : "Comma separated list of all allowed host[:port] combinations. If non empty, then incoming host header should match one of the host name in the list. Use '__empty__' to allow empty value. '__empty__' can also be used along with host[:port] combination in a comma-separated format."
            },
            "proxyBlastSHA1Thumbprint" : {
              "type" : "string",
              "description" : "SHA1 thumbprint of any proxy certificate in front of UAG for forwarding blast connections"
            },
            "proxyBlastSHA256Thumbprint" : {
              "type" : "string",
              "description" : "SHA256 thumbprint of any proxy certificate in front of UAG for for forwarding blast connections."
            },
            "maxActiveBlastSessions" : {
              "type" : "integer",
              "format" : "int64"
            },
            "tunnelEnabled" : {
              "type" : "boolean",
              "description" : "Enable / disable Secure Tunnel support."
            },
            "tunnelExternalUrl" : {
              "type" : "string",
              "description" : "Override the default Secure Tunnel External URL value. Format is [https://]host[:port]. Default value (Access Point's host:443) will be used if not set."
            },
            "tunnelUrls" : {
              "type" : "string",
              "description" : "Comma seperated list of URLs that can be used by Horizon Clients to establish Horizon Tunnel sessions, in addition to the primary external URL. Format is [https://]host1[:port],[https://]host2[:port]."
            },
            "proxyTunnelPemCert" : {
              "type" : "string",
              "description" : "Certificate of any proxy if present in front of UAG for forwarding tunnel connections. In PEM format and only leaf certificate"
            },
            "xmlAPISigningCertificateFlag" : {
              "type" : "string",
              "description" : "XML Signing Certificate Type ",
              "enum" : [ "PEM", "PFX", "NONE" ]
            },
            "xmlSigningPemCertSettings" : {
              "$ref" : "#/components/schemas/CertificateChainAndKeyWrapper"
            },
            "xmlSigningPfxCertSettings" : {
              "$ref" : "#/components/schemas/PfxCertStoreWrapper"
            },
            "xmlSigningSwitch" : {
              "type" : "string",
              "description" : "XML Signing Switch Settings ",
              "enum" : [ "ON", "OFF", "AUTO" ]
            },
            "xmlSigningEnabled" : {
              "type" : "boolean"
            },
            "proxyTunnelSHA1Thumbprint" : {
              "type" : "string",
              "description" : "SHA1 thumbprint of any proxy certificate in front of UAG forforwarding tunnel connections"
            },
            "proxyTunnelSHA256Thumbprint" : {
              "type" : "string",
              "description" : "SHA256 thumbprint of any proxy certificate in front of UAG for for forwarding tunnel connections."
            },
            "proxyPattern" : {
              "type" : "string",
              "description" : "Regular expression matching URI paths that are forwarded to the destination URL."
            },
            "smartCardHintPrompt" : {
              "type" : "boolean",
              "description" : "Enable / disable the password hint for Certificate - Auth"
            },
            "matchWindowsUserName" : {
              "type" : "boolean",
              "description" : "This boolean variable if configured true for securId-auth then then we enforce SecureID and Windows user name matching"
            },
            "gatewayLocation" : {
              "type" : "string",
              "description" : "This is gateway-location header value which is used for Fine Grained Policy(FGP) by the backend services"
            },
            "windowsSSOEnabled" : {
              "type" : "boolean",
              "description" : "This boolean variable if configured true for radius-auth then then the Windows login should use the name and passcode that was used in the first successful RADIUS access-request"
            },
            "logoutOnCertRemoval" : {
              "type" : "boolean",
              "description" : "This boolean variable if configured true for cert-auth then then UAG would use the configured value to communicate to client whether to logout when certificateis removed (smart card removed/device cert removed)"
            },
            "udpTunnelServerEnabled" : {
              "type" : "boolean",
              "description" : "Enable UDP tunnel server"
            },
            "queryBrokerInterval" : {
              "type" : "integer",
              "description" : "Querying connection broker polling time in seconds",
              "format" : "int32"
            },
            "disableWebClient" : {
              "type" : "boolean",
              "description" : "Disable resource launch using Horizon Html client"
            },
            "complianceCheckOnAuthentication" : {
              "type" : "boolean",
              "description" : "Enables Compliance Check On Authentication"
            },
            "proxyDestinationIPSupport" : {
              "type" : "string",
              "description" : "Configuration for backend proxy (ideally View CS) supporting IP modes",
              "enum" : [ "IPV4", "IPV6", "IPV4_IPV6" ]
            },
            "clientEncryptionMode" : {
              "type" : "string",
              "description" : "Client encryption mode",
              "enum" : [ "DISABLED", "ALLOWED", "REQUIRED" ]
            },
            "radiusClassAttributeList" : {
              "type" : "string",
              "description" : "Class attributes to be used to authorize the user in case of Radiusauthentication. This is a comma separated list. Only applicable if auth method is Radius"
            },
            "foreverAppsEnabled" : {
              "type" : "boolean",
              "description" : "Enable Forever Applications"
            },
            "pcoipDisableLegacyCertificate" : {
              "type" : "boolean"
            },
            "securityHeaders" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "string",
                "description" : "Key,Value pair of the security headers to be added to response"
              },
              "description" : "Key,Value pair of the security headers to be added to response"
            },
            "jwtSettings" : {
              "type" : "string",
              "description" : "JWT Settings Name"
            },
            "jwtIssuerSettings" : {
              "type" : "string",
              "description" : "JWT Issuer Settings Name"
            },
            "jwtAudiences" : {
              "type" : "array",
              "description" : "JWT expected Audience list",
              "items" : {
                "type" : "string",
                "description" : "JWT expected Audience list"
              }
            },
            "disclaimerText" : {
              "type" : "string",
              "description" : "Disclaimer text to be shown to user pre-auth"
            },
            "idpEntityID" : {
              "type" : "string",
              "description" : "Configure IDP entity for identity bridging"
            },
            "oidcConfigurationId" : {
              "type" : "string",
              "description" : "Configure OIDC Provider ID for OIDC Auth"
            },
            "allowedAudiences" : {
              "type" : "string",
              "description" : "Comma separated values of allowed audiences to be matched againstaudience restriction in the SAML assertion. If empty or not setup then audience restrictions will notbe validated while validating SAML assertion"
            },
            "radiusUsernameLabel" : {
              "type" : "string",
              "description" : "Customized username label for RADIUS auth screen"
            },
            "radiusPasscodeLabel" : {
              "type" : "string",
              "description" : "Customized passcode label for RADIUS auth screen"
            },
            "samlUnauthUsernameAttribute" : {
              "type" : "string",
              "description" : "Attribute to look for in SAML assertion to get Horizon Unauthenticated user"
            },
            "defaultUnauthUsername" : {
              "type" : "string",
              "description" : "The user name to use for Horizon unauthenticated access"
            },
            "proxyDestinationPreLoginMessageEnabled" : {
              "type" : "boolean",
              "description" : "Enable or disable connection server pre-login message to be shown to user. Defaults to true"
            },
            "rewriteOriginHeader" : {
              "type" : "boolean"
            },
            "enableClientCertEkuCheck" : {
              "type" : "boolean"
            },
            "enableAuthOnRedirectedSite" : {
              "type" : "boolean"
            }
          }
        } ]
      },
      "WsPortalEdgeServiceSettings" : {
        "required" : [ "enabled", "identifier", "instanceId", "proxyPattern" ],
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/EdgeServiceSettings"
        }, {
          "type" : "object",
          "properties" : {
            "instanceId" : {
              "pattern" : "^(?!.*\\/\\/).*",
              "type" : "string",
              "description" : "Instance ID for identifying a Web reverse proxy instance"
            },
            "externalUrl" : {
              "type" : "string",
              "description" : "Override the default External URL value. Format is [https://]host[:port]. Default value (Access Point's host:443) will be used if not set."
            },
            "proxyPattern" : {
              "type" : "string",
              "description" : "Proxy pattern"
            },
            "unSecurePattern" : {
              "type" : "string",
              "description" : "Unsecure URL pattern for login page, static content"
            },
            "authCookie" : {
              "type" : "string",
              "description" : "Authentication Cookie name"
            },
            "loginRedirectURL" : {
              "type" : "string",
              "description" : "login Redirect URL"
            },
            "proxyHostPattern" : {
              "type" : "string",
              "description" : "Proxy host pattern"
            },
            "keyTabPrincipalName" : {
              "type" : "string",
              "description" : "KeyTab principal name to identify the keyTab to usefor Kerberos Constrained Delegation"
            },
            "targetSPN" : {
              "type" : "string",
              "description" : "Target Service principal name. If not provided and keytab principal is set then it will be worked as HTTP/<host name of web rev proxy>@<realm of the principal name chosen>"
            },
            "keyTabFilePath" : {
              "type" : "string"
            },
            "idpEntityID" : {
              "type" : "string",
              "description" : "Configure IDP entity for identity bridging"
            },
            "oidcConfigurationId" : {
              "type" : "string",
              "description" : "Configure OIDC Provider ID for OIDC Auth"
            },
            "allowedAudiences" : {
              "type" : "string",
              "description" : "Comma separated values of allowed audiences to be matched againstaudience restriction in the SAML assertion. If empty or not setup then audience restrictions will notbe validated while validating SAML assertion"
            },
            "landingPagePath" : {
              "type" : "string",
              "description" : "Configure the path to landing page in IDP initiated flow. By defaultpath will be set to '/'"
            },
            "userNameHeader" : {
              "type" : "string",
              "description" : "Configure the name of the USER ID header to authenticate the userfor USER name based auth"
            },
            "wrpAuthConsumeType" : {
              "type" : "string",
              "enum" : [ "SAML", "CERTIFICATE" ]
            },
            "keyTabRealm" : {
              "type" : "string"
            },
            "samlAttributeHeaderMap" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "string"
              }
            },
            "securityHeaders" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "string",
                "description" : "Key,Value pair of the security headers to be added to response"
              },
              "description" : "Key,Value pair of the security headers to be added to response"
            }
          }
        } ]
      },
      "EdgeServiceSettingsList" : {
        "required" : [ "edgeServiceSettingsList" ],
        "type" : "object",
        "properties" : {
          "edgeServiceSettingsList" : {
            "type" : "array",
            "description" : "List of edge service settings.",
            "items" : {
              "$ref" : "#/components/schemas/EdgeServiceSettings"
            }
          }
        },
        "description" : "Edge service settings."
      },
      "ConfiguredAuthMethod" : {
        "required" : [ "authMethodName" ],
        "type" : "object",
        "properties" : {
          "authMethodName" : {
            "type" : "string",
            "description" : "The Auth method name "
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "Flag to check if auth method being enabled.",
            "readOnly" : true
          }
        },
        "description" : "List of auth method with enabled status flag."
      },
      "ConfiguredEdgeService" : {
        "required" : [ "edgeServiceName" ],
        "type" : "object",
        "properties" : {
          "edgeServiceName" : {
            "type" : "string",
            "description" : "The edge service name "
          },
          "enabled" : {
            "type" : "boolean",
            "description" : "Flag to check if edge service is enabled/disabled",
            "readOnly" : true
          },
          "hasServiceConfigurationFailed" : {
            "type" : "boolean",
            "description" : "Flag to check if edge service  is configured/misConfigured",
            "readOnly" : true
          }
        },
        "description" : "List of edge service with enabled status flag."
      },
      "ConfiguredEdgeServicesAndAuthMethodList" : {
        "required" : [ "authMethodList", "edgeServiceList", "fipsEnabled", "tlsPortSharingEnabled", "uagName", "wrpAuthConsumeTypes" ],
        "type" : "object",
        "properties" : {
          "edgeServiceList" : {
            "type" : "array",
            "description" : "List of edge service with enabled status flag.",
            "items" : {
              "$ref" : "#/components/schemas/ConfiguredEdgeService"
            }
          },
          "authMethodList" : {
            "type" : "array",
            "description" : "List of auth method with enabled status flag.",
            "items" : {
              "$ref" : "#/components/schemas/ConfiguredAuthMethod"
            }
          },
          "wrpAuthConsumeTypes" : {
            "type" : "array",
            "description" : "List of wrp auth consume types.",
            "items" : {
              "type" : "string",
              "description" : "List of wrp auth consume types.",
              "enum" : [ "SAML", "CERTIFICATE" ]
            }
          },
          "tlsPortSharingEnabled" : {
            "type" : "boolean",
            "description" : "TLS port sharing enabled property."
          },
          "uagName" : {
            "type" : "string",
            "description" : "Appliance Name"
          },
          "fipsEnabled" : {
            "type" : "boolean",
            "description" : "fips flag."
          },
          "adminCertRolledBack" : {
            "type" : "boolean",
            "description" : "A read-only property to indicate if uploaded certificate on Admin interface was successful or it was rolled back to a generated self-signed cert"
          },
          "user" : {
            "$ref" : "#/components/schemas/AdminUser"
          },
          "privileges" : {
            "type" : "array",
            "description" : "Privileges granted to logged in user",
            "items" : {
              "type" : "string",
              "description" : "Privileges granted to logged in user",
              "enum" : [ "FULL", "CONFIG_RO", "LOGLEVEL_RW", "LOGS_DOWNLOAD", "CONFIG_DOWNLOAD", "PASSWORD_CHANGE", "ANONYMOUS" ]
            }
          },
          "gatewaySpec" : {
            "type" : "string",
            "description" : "Gateway specification"
          }
        }
      },
      "UAGFeatureFlagInfo" : {
        "type" : "object",
        "properties" : {
          "featureName" : {
            "type" : "string"
          },
          "enabled" : {
            "type" : "boolean"
          },
          "environment" : {
            "type" : "string",
            "enum" : [ "PRODUCTION", "DEVELOPMENT" ]
          }
        }
      },
      "CustomExecutableList" : {
        "required" : [ "customExecutableList" ],
        "type" : "object",
        "properties" : {
          "customExecutableList" : {
            "type" : "array",
            "description" : "List of edge service settings.",
            "items" : {
              "$ref" : "#/components/schemas/ResourceSettings"
            }
          }
        },
        "description" : "List of Resources"
      },
      "GeneralSettings" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Name of UAG appliance"
          },
          "source" : {
            "type" : "string",
            "description" : "Path of OVA file"
          },
          "target" : {
            "type" : "string",
            "description" : "Location in vCenter server, where UAG instance is deployed"
          },
          "ds" : {
            "type" : "string",
            "description" : "vSphere data store name"
          },
          "diskMode" : {
            "type" : "string",
            "description" : "vSphere disk provisioning mode"
          },
          "netInternet" : {
            "type" : "string",
            "description" : "vSphere Internet facing network name"
          },
          "netManagementNetwork" : {
            "type" : "string",
            "description" : "vSphere network name for management network, which hosts the administrative REST API"
          },
          "netBackendNetwork" : {
            "type" : "string",
            "description" : "vSphere network to route traffic to backend services"
          },
          "ipMode0" : {
            "type" : "string",
            "description" : "IP Address mode for NIC 1"
          },
          "ipMode1" : {
            "type" : "string",
            "description" : "IP Address mode for NIC 2"
          },
          "ipMode2" : {
            "type" : "string",
            "description" : "IP Address mode for NIC 3"
          },
          "ip0" : {
            "type" : "string",
            "description" : "NIC 1 (eth0) IPv4 address"
          },
          "eth0ErrorMsg" : {
            "type" : "string",
            "description" : "NIC 1 (eth0) error msg during update."
          },
          "eth0CustomConfig" : {
            "pattern" : "^(([a-zA-Z0-9\\-]+)\\^[a-zA-Z0-9\\-]+=[a-zA-Z0-9:!,~'\"%#_@\\[\\]\\.\\s\\-]*;)+$",
            "type" : "string",
            "description" : "Custom configuration to apply in .network files of given nic. Formatted as SectionName^Parameter=Value;. Refer: https://man7.org/linux/man-pages/man5/systemd.network.5.html",
            "example" : "DHCP^UseDNS=false;DHCP^UseNTP=false;"
          },
          "routes0" : {
            "type" : "string",
            "description" : "Comma separated list of IPv4 custom routes for NIC 1 (eth0) in the form ipv4-network-address/bits ipv4-gateway-address"
          },
          "netmask0" : {
            "type" : "string",
            "description" : "Internet Netmask"
          },
          "gateway0" : {
            "type" : "string",
            "description" : "Internet Default Gateway"
          },
          "forceNetmask0" : {
            "type" : "string",
            "description" : "Internet Netmask"
          },
          "forceIpv6Prefix0" : {
            "type" : "string",
            "description" : "Internet Netmask"
          },
          "ip0AllocationMode" : {
            "type" : "string",
            "description" : "IP Allocation Mode for NIC 1",
            "enum" : [ "STATICV4", "STATICV6", "DHCPV4", "DHCPV6", "AUTOV6", "STATICV4_STATICV6", "STATICV4_DHCPV6", "STATICV4_AUTOV6", "DHCPV4_STATICV6", "DHCPV4_DHCPV6", "DHCPV4_AUTOV6", "Static", "Dynamic" ]
          },
          "defaultGateway" : {
            "type" : "string",
            "description" : "The default gateway address"
          },
          "v6DefaultGateway" : {
            "type" : "string",
            "description" : "The default IPv6 gateway address"
          },
          "ip1" : {
            "type" : "string",
            "description" : "NIC 2 (eth1) IPv4 address"
          },
          "eth1ErrorMsg" : {
            "type" : "string",
            "description" : "NIC 2 (eth1) error msg during update."
          },
          "eth1CustomConfig" : {
            "pattern" : "^(([a-zA-Z0-9\\-]+)\\^[a-zA-Z0-9\\-]+=[a-zA-Z0-9:!,~'\"%#_@\\[\\]\\.\\s\\-]*;)+$",
            "type" : "string",
            "description" : "Custom configuration to apply in .network files of given nic. Formatted as SectionName^Parameter=Value;. Refer: https://man7.org/linux/man-pages/man5/systemd.network.5.html",
            "example" : "DHCP^UseDNS=false;DHCP^UseNTP=false;"
          },
          "routes1" : {
            "type" : "string",
            "description" : "Comma separated list of IPv4 custom routes for NIC 2 (eth1) in the form ipv4-network-address/bits ipv4-gateway-address"
          },
          "netmask1" : {
            "type" : "string",
            "description" : "Management Network Netmask"
          },
          "gateway1" : {
            "type" : "string",
            "description" : "Management Network Default Gateway"
          },
          "forceNetmask1" : {
            "type" : "string",
            "description" : "Overriding Management Netmask"
          },
          "forceIpv6Prefix1" : {
            "type" : "string",
            "description" : "Management Netmask"
          },
          "ip1AllocationMode" : {
            "type" : "string",
            "description" : "IP Allocation Mode",
            "enum" : [ "STATICV4", "STATICV6", "DHCPV4", "DHCPV6", "AUTOV6", "STATICV4_STATICV6", "STATICV4_DHCPV6", "STATICV4_AUTOV6", "DHCPV4_STATICV6", "DHCPV4_DHCPV6", "DHCPV4_AUTOV6", "Static", "Dynamic" ]
          },
          "ip2" : {
            "type" : "string",
            "description" : "NIC 3 (eth2) IPv4 address"
          },
          "eth2ErrorMsg" : {
            "type" : "string",
            "description" : "NIC 3 (eth2) error msg during update."
          },
          "eth2CustomConfig" : {
            "pattern" : "^(([a-zA-Z0-9\\-]+)\\^[a-zA-Z0-9\\-]+=[a-zA-Z0-9:!,~'\"%#_@\\[\\]\\.\\s\\-]*;)+$",
            "type" : "string",
            "description" : "Custom configuration to apply in .network files of given nic. Formatted as SectionName^Parameter=Value;. Refer: https://man7.org/linux/man-pages/man5/systemd.network.5.html",
            "example" : "DHCP^UseDNS=false;DHCP^UseNTP=false;"
          },
          "routes2" : {
            "type" : "string",
            "description" : "Comma separated list of IPv4 custom routes for NIC 3 (eth2) in the form ipv4-network-address/bits ipv4-gateway-address"
          },
          "netmask2" : {
            "type" : "string",
            "description" : "Backend Network Netmask"
          },
          "gateway2" : {
            "type" : "string",
            "description" : "Backend Network Default Gateway"
          },
          "forceNetmask2" : {
            "type" : "string",
            "description" : "Overriding Backend Netmask"
          },
          "forceIpv6Prefix2" : {
            "type" : "string",
            "description" : "Backend Netmask"
          },
          "ip2AllocationMode" : {
            "type" : "string",
            "description" : "IP Allocation Mode",
            "enum" : [ "STATICV4", "STATICV6", "DHCPV4", "DHCPV6", "AUTOV6", "STATICV4_STATICV6", "STATICV4_DHCPV6", "STATICV4_AUTOV6", "DHCPV4_STATICV6", "DHCPV4_DHCPV6", "DHCPV4_AUTOV6", "Static", "Dynamic" ]
          },
          "deploymentOption" : {
            "type" : "string",
            "description" : "number of NICs. It can be onenic,twonic,threenic,onenic-large,twonic-large,threenic-large"
          },
          "DNS" : {
            "type" : "string",
            "description" : "DNS server addresses"
          },
          "DNS0" : {
            "type" : "string",
            "description" : "Internet DNS"
          },
          "forwardrules" : {
            "type" : "string",
            "description" : "Comma separated list of forward rules in the form {tcp|udp}/listening-port-number/destination-ip-address:destination-port-number"
          },
          "v6ip0" : {
            "type" : "string",
            "description" : "NIC 1 (eth0) IPv6 address"
          },
          "v6ip1" : {
            "type" : "string",
            "description" : "NIC 2 (eth1) IPv6 address"
          },
          "v6ip2" : {
            "type" : "string",
            "description" : "NIC 3 (eth2) IPv6 address"
          },
          "ipv6prefix0" : {
            "type" : "string",
            "description" : "NIC 1 (eth0) Host Network Prefix"
          },
          "ipv6prefix1" : {
            "type" : "string",
            "description" : "NIC 2 (eth1) Host Network Prefix"
          },
          "ipv6prefix2" : {
            "type" : "string",
            "description" : "NIC 3 (eth2) Host Network Prefix"
          }
        },
        "description" : "General settings."
      },
      "IdPExternalMetadataSettings" : {
        "type" : "object",
        "properties" : {
          "entityID" : {
            "type" : "string"
          },
          "metadata" : {
            "type" : "string"
          },
          "forceAuthN" : {
            "type" : "boolean"
          },
          "allowUnencrypted" : {
            "type" : "boolean"
          },
          "encryptionCertificateType" : {
            "type" : "string"
          },
          "certificateChainAndKeyWrapper" : {
            "$ref" : "#/components/schemas/CertificateChainAndKeyWrapper"
          }
        },
        "description" : "List of keyTabs settings - usually from powershell on first boot."
      },
      "IdPExternalMetadataSettingsList" : {
        "required" : [ "idPExternalMetadataSettingsList" ],
        "type" : "object",
        "properties" : {
          "idPExternalMetadataSettingsList" : {
            "type" : "array",
            "description" : "List of keyTabs settings - usually from powershell on first boot.",
            "items" : {
              "$ref" : "#/components/schemas/IdPExternalMetadataSettings"
            }
          }
        },
        "description" : "Identity provider external metadata settings"
      },
      "IdpMetadataWrapper" : {
        "type" : "object",
        "properties" : {
          "metadataXml" : {
            "type" : "string"
          }
        },
        "description" : "Identity provider metadata response"
      },
      "JWTIssuerSettings" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "pattern" : "^[[\\p{L}\\p{N}\\p{M}_.-]+( [\\p{L}\\p{N}\\p{M}_.-]+)]{1,50}$",
            "type" : "string"
          },
          "issuer" : {
            "type" : "string"
          },
          "jwtType" : {
            "type" : "string",
            "enum" : [ "CONSUMER", "PRODUCER" ]
          },
          "jsonWebKeySet" : {
            "type" : "string"
          },
          "jwtSigningPemCertSettings" : {
            "$ref" : "#/components/schemas/CertificateChainAndKeyWrapper"
          },
          "jwtSigningPfxCertSettings" : {
            "$ref" : "#/components/schemas/PfxCertStoreWrapper"
          },
          "encryptionPublicKey" : {
            "type" : "array",
            "description" : "JWT Issuer encryption public key Settings ",
            "items" : {
              "$ref" : "#/components/schemas/PublicKeyOrCert"
            }
          },
          "encryptionPublicKeyURLSettings" : {
            "$ref" : "#/components/schemas/ServerSettings"
          }
        },
        "description" : "List of JWT Issuer settings."
      },
      "JWTIssuerSettingsList" : {
        "required" : [ "jwtIssuerSettingsList" ],
        "type" : "object",
        "properties" : {
          "jwtIssuerSettingsList" : {
            "type" : "array",
            "description" : "List of JWT Issuer settings.",
            "items" : {
              "$ref" : "#/components/schemas/JWTIssuerSettings"
            }
          }
        },
        "description" : "JWT Issuer Settings List"
      },
      "JWTSettings" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "pattern" : "^[[\\p{L}\\p{N}\\p{M}_.-]+( [\\p{L}\\p{N}\\p{M}_.-]+)]{1,50}$",
            "type" : "string"
          },
          "issuer" : {
            "type" : "string"
          },
          "jwtType" : {
            "type" : "string",
            "enum" : [ "CONSUMER", "PRODUCER" ]
          },
          "jsonWebKeySet" : {
            "type" : "string"
          },
          "publicKeys" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/PublicKeyOrCert"
            }
          },
          "publicKeyURLSettings" : {
            "$ref" : "#/components/schemas/ServerSettings"
          }
        },
        "description" : "List of JWT settings."
      },
      "JWTSettingsList" : {
        "required" : [ "jwtSettingsList" ],
        "type" : "object",
        "properties" : {
          "jwtSettingsList" : {
            "type" : "array",
            "description" : "List of JWT settings.",
            "items" : {
              "$ref" : "#/components/schemas/JWTSettings"
            }
          }
        },
        "description" : "JWT Settings List"
      },
      "KerberosRealmSettings" : {
        "required" : [ "kdcHostNameList", "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "pattern" : "^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\\-]*[A-Za-z0-9])$",
            "type" : "string",
            "description" : "Name of the realm for Kerberos Constrained Delegation."
          },
          "kdcHostNameList" : {
            "type" : "array",
            "description" : "kdc host name list",
            "items" : {
              "type" : "string",
              "description" : "kdc host name list"
            }
          },
          "kdcTimeout" : {
            "type" : "integer",
            "description" : "time to wait for kdc to respond. This value is provided in seconds.by default the value is set as 3 seconds (KDC default if not provided)",
            "format" : "int32"
          },
          "noOfWRPsUsingThisRealm" : {
            "type" : "integer",
            "description" : "A read only property to indicate the number of web reverse proxies using this realm",
            "format" : "int32"
          }
        },
        "description" : "List of keyTabs settings - usually from powershell on first boot."
      },
      "KerberosRealmSettingsList" : {
        "required" : [ "kerberosRealmSettingsList" ],
        "type" : "object",
        "properties" : {
          "kerberosRealmSettingsList" : {
            "type" : "array",
            "description" : "List of keyTabs settings - usually from powershell on first boot.",
            "items" : {
              "$ref" : "#/components/schemas/KerberosRealmSettings"
            }
          }
        },
        "description" : "Kerberos Realm settings."
      },
      "KerberosKeyTabSettings" : {
        "required" : [ "keyTab" ],
        "type" : "object",
        "properties" : {
          "principalName" : {
            "type" : "string",
            "description" : "Principal name to be used in the keyTab file.if not provided the first principal name in the keytab file will be extracted and set on this field."
          },
          "keyTab" : {
            "type" : "string",
            "description" : "Base64 encoded keyTab file content"
          },
          "keyTabFilePath" : {
            "type" : "string"
          },
          "realm" : {
            "type" : "string"
          }
        },
        "description" : "List of keyTabs settings - usually from powershell on first boot."
      },
      "LoadBalancerSettings" : {
        "required" : [ "groupID", "loadBalancerMode", "virtualIPAddress" ],
        "type" : "object",
        "properties" : {
          "virtualIPAddress" : {
            "type" : "string",
            "description" : "Virtual IP address used by Load Balancer"
          },
          "groupID" : {
            "type" : "integer",
            "description" : "Load balancer Group ID. Give value between 1 - 255",
            "format" : "int32"
          },
          "loadBalancerMode" : {
            "type" : "string",
            "description" : "Mode for Load Balancer. ONEARM - UAG in a cluster load balancing each otherINLINE - UAG acting as load balancer load balancing other UAG's behind it",
            "enum" : [ "DISABLED", "ONEARM" ]
          }
        },
        "description" : "Load Balancer Settings"
      },
      "PathSegment" : {
        "type" : "object",
        "properties" : {
          "path" : {
            "type" : "string"
          },
          "matrixParameters" : {
            "type" : "object",
            "properties" : {
              "empty" : {
                "type" : "boolean"
              }
            },
            "additionalProperties" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              }
            }
          }
        }
      },
      "SecureEmailGatewayHealthStats" : {
        "type" : "object",
        "properties" : {
          "diagnosticExportTime" : {
            "type" : "integer",
            "format" : "int64"
          },
          "apiConnectivity" : {
            "type" : "string"
          },
          "policyDataLoaded" : {
            "type" : "string"
          },
          "totalDevicePolicyCount" : {
            "type" : "integer",
            "format" : "int32"
          },
          "lastPolicyPartialUpdate" : {
            "type" : "integer",
            "format" : "int64"
          },
          "lastPolicyFullUpdate" : {
            "type" : "integer",
            "format" : "int64"
          },
          "lastPolicyDeltaUpdate" : {
            "type" : "integer",
            "format" : "int64"
          },
          "policyDeltaSyncEnabled" : {
            "type" : "boolean"
          },
          "emailServerConnectivity" : {
            "type" : "string"
          },
          "requestsSinceSEGstartup" : {
            "type" : "integer",
            "format" : "int64"
          },
          "lastHourRequests" : {
            "type" : "integer",
            "format" : "int64"
          },
          "last24hourRequests" : {
            "type" : "integer",
            "format" : "int64"
          },
          "clusteringEnabled" : {
            "type" : "boolean"
          },
          "nodesOffline" : {
            "type" : "string"
          },
          "nodesOnline" : {
            "type" : "string"
          },
          "nodesSynchronized" : {
            "type" : "boolean"
          },
          "syncStat" : {
            "$ref" : "#/components/schemas/SegCommandStats"
          },
          "itemOperationsStat" : {
            "$ref" : "#/components/schemas/SegCommandStats"
          },
          "sendMailStat" : {
            "$ref" : "#/components/schemas/SegCommandStats"
          },
          "smartForwardStat" : {
            "$ref" : "#/components/schemas/SegCommandStats"
          },
          "smartReplyStat" : {
            "$ref" : "#/components/schemas/SegCommandStats"
          }
        }
      },
      "SegCommandStats" : {
        "type" : "object",
        "properties" : {
          "latency" : {
            "type" : "integer",
            "format" : "int32"
          },
          "count" : {
            "type" : "integer",
            "format" : "int64"
          }
        }
      },
      "NicSettings" : {
        "required" : [ "allocationMode", "ipv4Address", "ipv4Netmask", "nic" ],
        "type" : "object",
        "properties" : {
          "ipv4Address" : {
            "type" : "string",
            "description" : "New IPV4 address for the Nic."
          },
          "ipv4Netmask" : {
            "type" : "string",
            "description" : "New IPV4 netmask for the Nic."
          },
          "ipv4DefaultGateway" : {
            "type" : "string",
            "description" : "New IPV4 default gateway"
          },
          "nic" : {
            "type" : "string",
            "description" : "The NIC identifier, can have value eth0,eth1,eth2 based on VM configuration selected",
            "enum" : [ "eth0", "eth1", "eth2" ]
          },
          "allocationMode" : {
            "type" : "string",
            "description" : "The IP allocation mode.",
            "enum" : [ "STATICV4", "STATICV6", "DHCPV4", "DHCPV6", "AUTOV6", "STATICV4_STATICV6", "STATICV4_DHCPV6", "STATICV4_AUTOV6", "DHCPV4_STATICV6", "DHCPV4_DHCPV6", "DHCPV4_AUTOV6", "Static", "Dynamic" ]
          },
          "ipv4StaticRoutes" : {
            "type" : "string",
            "description" : "The IPV4 static routes to be defined for this NIC. Comma separated list of routes in the form ipv4-network-address/bits ipv4-gateway address or ipv4-network-address/bits eg: 20.2.0.0/16 10.2.0.1, 30.2.0.0/16"
          },
          "customConfig" : {
            "pattern" : "^(([a-zA-Z0-9\\-]+)\\^[a-zA-Z0-9\\-]+=[a-zA-Z0-9:!,~'\"%#_@\\[\\]\\.\\s\\-]*;)+$",
            "type" : "string",
            "description" : "Custom configuration to apply in .network files of given nic. Formatted as SectionName^Parameter=Value;. Refer: https://man7.org/linux/man-pages/man5/systemd.network.5.html",
            "example" : "DHCP^UseDNS=false;DHCP^UseNTP=false;"
          }
        }
      },
      "NicSettingsList" : {
        "required" : [ "nicSettingsList" ],
        "type" : "object",
        "properties" : {
          "nicSettingsList" : {
            "type" : "array",
            "description" : "List of Nic settings.",
            "items" : {
              "$ref" : "#/components/schemas/NicSettings"
            }
          }
        }
      },
      "OidcOpMetadataSettings" : {
        "required" : [ "oidcClientId", "oidcClientSecret", "oidcConfigUrl", "oidcConfigurationId" ],
        "type" : "object",
        "properties" : {
          "oidcConfigurationId" : {
            "type" : "string",
            "description" : "Friendly name for OIDC configuration."
          },
          "oidcClientId" : {
            "type" : "string",
            "description" : "Client ID obtained from OIDC provider."
          },
          "oidcClientSecret" : {
            "type" : "string",
            "description" : "Client secret obtained from OIDC provider."
          },
          "oidcConfigUrl" : {
            "type" : "string",
            "description" : "Configuration URL published by OIDC provider. Generally ends with /.well-known/openid-configuration"
          },
          "oidcConfigUrlThumbprints" : {
            "type" : "string",
            "description" : "Thumbprint of leaf certificate if OIDC provider is not using a CA signed certificate."
          },
          "oidcTrustedCertificates" : {
            "type" : "array",
            "description" : "The list of certificates to trust if OIDC provider is not using a CA signed certificate.",
            "items" : {
              "$ref" : "#/components/schemas/PublicKeyOrCert"
            }
          },
          "oidcTimeoutSeconds" : {
            "type" : "integer",
            "description" : "Timeout in seconds for communication with OIDC provider. Default value: 60. Min: 1, Max: 120",
            "format" : "int32"
          },
          "oidcForceAuthPrompt" : {
            "type" : "boolean",
            "description" : "Indicates if user needs to be re-authenticated without honouring an already authenticated IDP session. Default value: false"
          }
        },
        "description" : "List of OIDC settings - usually from powershell on first boot."
      },
      "OidcOpMetadataSettingsList" : {
        "required" : [ "oidcOpMetadataSettingsList" ],
        "type" : "object",
        "properties" : {
          "oidcOpMetadataSettingsList" : {
            "type" : "array",
            "description" : "List of OIDC settings - usually from powershell on first boot.",
            "items" : {
              "$ref" : "#/components/schemas/OidcOpMetadataSettings"
            }
          }
        },
        "description" : "List of configured OIDC provider Metadata Settings"
      },
      "OutboundProxySettings" : {
        "required" : [ "includedHosts", "name", "proxyUrl" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "pattern" : "^[[\\p{L}\\p{N}\\p{M}_.-]+( [\\p{L}\\p{N}\\p{M}_.-]+)]{1,50}$",
            "type" : "string",
            "description" : "Name of the Proxy, should be unique. Allowed characters include letters and numbers of most languages and the special characters dot, hyphen, underscore and whitespace."
          },
          "proxyType" : {
            "type" : "string",
            "description" : "Type of Proxy ",
            "enum" : [ "HTTP" ]
          },
          "proxyUrl" : {
            "type" : "string",
            "description" : "Proxy Server Url",
            "format" : "uri"
          },
          "testHostUrl" : {
            "type" : "string",
            "description" : "Url to test proxy server connection",
            "format" : "uri"
          },
          "includedHosts" : {
            "type" : "array",
            "description" : "List of all included Hosts through this proxy. atleast one host is required",
            "items" : {
              "type" : "string",
              "description" : "List of all included Hosts through this proxy. atleast one host is required"
            }
          },
          "authType" : {
            "type" : "string",
            "description" : "Type of Authentication ",
            "enum" : [ "NTLM", "Basic" ]
          },
          "userName" : {
            "type" : "string",
            "description" : "Username for Authentication "
          },
          "password" : {
            "type" : "string",
            "description" : "Password for Authentication"
          },
          "domain" : {
            "type" : "string",
            "description" : "Domain for NTLM Authentication"
          },
          "workstation" : {
            "type" : "string",
            "description" : "Workstation for NTLM Authentication"
          },
          "trustedCertificates" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/PublicKeyOrCert"
            }
          }
        },
        "description" : "List of Outbound Proxy settings."
      },
      "OutboundProxySettingsList" : {
        "required" : [ "outboundProxySettingsList" ],
        "type" : "object",
        "properties" : {
          "outboundProxySettingsList" : {
            "type" : "array",
            "description" : "List of Outbound Proxy settings.",
            "items" : {
              "$ref" : "#/components/schemas/OutboundProxySettings"
            }
          }
        },
        "description" : "Outbound Proxy Settings List"
      },
      "PackageUpdateSettings" : {
        "type" : "object",
        "properties" : {
          "packageUpdatesScheme" : {
            "type" : "string",
            "enum" : [ "OFF", "ON_NEXT_BOOT", "ON_EVERY_BOOT" ]
          },
          "packageUpdatesOSURL" : {
            "type" : "string"
          },
          "packageUpdatesURL" : {
            "type" : "string"
          },
          "trustedCertificates" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/PublicKeyOrCert"
            }
          }
        },
        "description" : "Package updates settings"
      },
      "SecurityAgentSettings" : {
        "required" : [ "enabled", "name" ],
        "type" : "object",
        "properties" : {
          "enabled" : {
            "type" : "boolean",
            "description" : "Flag to indicate if Wazuh is enabled"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the security agent"
          }
        },
        "description" : "List of security agent settings.",
        "discriminator" : {
          "propertyName" : "name"
        }
      },
      "WazuhAgentSettings" : {
        "required" : [ "enabled", "name", "wazuhServerHostAndPort" ],
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/SecurityAgentSettings"
        }, {
          "type" : "object",
          "properties" : {
            "wazuhServerHostAndPort" : {
              "type" : "string",
              "description" : "The manager IP address or hostname and port separated by colon"
            },
            "wazuhProtocol" : {
              "type" : "string",
              "description" : "The communication protocol between the manager and the agent.",
              "enum" : [ "TCP", "UDP" ]
            },
            "wazuhRegistrationHostAndPort" : {
              "type" : "string",
              "description" : "Wazuh manager that is used for agent registration."
            },
            "wazuhRegistrationPassword" : {
              "type" : "string",
              "description" : "Wazuh Registration Password."
            },
            "wazuhEnrollmentDelay" : {
              "minimum" : 1,
              "type" : "integer",
              "description" : "The time that agentd should wait after a successful registration.",
              "format" : "int64"
            },
            "wazuhKeepAliveInterval" : {
              "minimum" : 1,
              "type" : "integer",
              "description" : "The time between agent checks for manager connection",
              "format" : "int64"
            },
            "wazuhTimeReconnect" : {
              "minimum" : 1,
              "type" : "integer",
              "description" : "The time interval for the agent to reconnect with the Wazuh manager when connectivity is lost.",
              "format" : "int64"
            },
            "wazuhAgentName" : {
              "pattern" : "(^[a-zA-Z\\d_.-]{2,100}$)?",
              "type" : "string",
              "description" : "Wazuh Agent name."
            },
            "wazuhAgentGroups" : {
              "pattern" : "(^[a-zA-Z\\d ,._-]{2,100}$)?",
              "type" : "string",
              "description" : "Wazuh Agent Groups."
            },
            "wazuhServerCACertificate" : {
              "type" : "string",
              "description" : " Certificate of Authority for Host SSL Validation."
            },
            "wazuhAgentCertificate" : {
              "type" : "string",
              "description" : "CA signed certificate for SSL agent verification."
            },
            "wazuhAgentKey" : {
              "type" : "string",
              "description" : "Key for SSL agent verification."
            }
          }
        } ]
      },
      "SecurityAgentSettingsList" : {
        "required" : [ "securityAgentSettingsList" ],
        "type" : "object",
        "properties" : {
          "securityAgentSettingsList" : {
            "type" : "array",
            "description" : "List of security agent settings.",
            "items" : {
              "$ref" : "#/components/schemas/SecurityAgentSettings"
            }
          }
        },
        "description" : "List of configured Security Agents"
      },
      "Link" : {
        "type" : "object",
        "properties" : {
          "href" : {
            "type" : "string",
            "format" : "uri"
          }
        },
        "description" : "The resource HATEOAS links. Usually includes a \"self\" link for this resource",
        "readOnly" : true,
        "example" : {
          "self" : {
            "href" : "https://example.com/path-to-self"
          }
        }
      },
      "SpMediaType" : {
        "type" : "object",
        "properties" : {
          "spName" : {
            "type" : "string"
          },
          "metadataXml" : {
            "type" : "string"
          },
          "encryptAssertion" : {
            "type" : "boolean"
          },
          "_links" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/Link"
            },
            "description" : "The resource HATEOAS links. Usually includes a \"self\" link for this resource",
            "readOnly" : true,
            "example" : {
              "self" : {
                "href" : "https://example.com/path-to-self"
              }
            }
          }
        }
      },
      "SpMediaTypes" : {
        "type" : "object",
        "properties" : {
          "items" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/SpMediaType"
            }
          },
          "_links" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/Link"
            },
            "description" : "The resource HATEOAS links. Usually includes a \"self\" link for this resource",
            "readOnly" : true,
            "example" : {
              "self" : {
                "href" : "https://example.com/path-to-self"
              }
            }
          }
        }
      },
      "SAMLSPMetadataSetting" : {
        "type" : "object",
        "properties" : {
          "spName" : {
            "type" : "string"
          },
          "metadataXml" : {
            "type" : "string"
          },
          "encryptAssertion" : {
            "type" : "boolean"
          }
        }
      },
      "SAMLSPMetadataSettingsList" : {
        "type" : "object",
        "properties" : {
          "items" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/SAMLSPMetadataSetting"
            }
          }
        },
        "description" : "Service provider metadata."
      },
      "ArtifactMetadata" : {
        "type" : "object",
        "properties" : {
          "serviceName" : {
            "type" : "string"
          },
          "artifactName" : {
            "type" : "string"
          },
          "logLocation" : {
            "type" : "string"
          },
          "statusCommand" : {
            "type" : "string"
          },
          "installCommand" : {
            "type" : "string"
          },
          "uninstalledState" : {
            "type" : "string"
          },
          "executable" : {
            "type" : "string"
          }
        }
      },
      "ArtifactMetadataList" : {
        "type" : "object",
        "properties" : {
          "artifactMetadataList" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ArtifactMetadata"
            }
          }
        }
      },
      "CoreDumpSettings" : {
        "type" : "object",
        "properties" : {
          "maxSizeMb" : {
            "maximum" : 2048,
            "minimum" : 16,
            "type" : "integer",
            "description" : "Maximum size of the core dump to be collected in MB. [16-2048]",
            "format" : "int32"
          },
          "maxTimeSeconds" : {
            "maximum" : 900,
            "minimum" : 0,
            "type" : "integer",
            "description" : "Maximum duration in seconds post which core dump collection is aborted. Use zero to disable core dump collection. [0-900]",
            "format" : "int32"
          }
        }
      },
      "HeapDumpSettings" : {
        "type" : "object",
        "properties" : {
          "maxHeapDumpFileCount" : {
            "maximum" : 10,
            "minimum" : 0,
            "type" : "integer",
            "description" : "Defines maximum number of heapDump files to be retained on UAG file system. If count is set to zero, heap dump collection will be disabled and collected dump files will be removed.",
            "format" : "int32",
            "default" : 1
          },
          "heapDumpCollectionThresholdPc" : {
            "maximum" : 100,
            "minimum" : 1,
            "type" : "integer",
            "description" : "When system reaches threshold, heap dump collection will happen. provided backup files count is more than 0.",
            "format" : "int32",
            "default" : 100
          }
        }
      },
      "KerberosKeyTabSettingsList" : {
        "required" : [ "kerberosKeyTabSettings" ],
        "type" : "object",
        "properties" : {
          "kerberosKeyTabSettings" : {
            "type" : "array",
            "description" : "List of keyTabs settings - usually from powershell on first boot.",
            "items" : {
              "$ref" : "#/components/schemas/KerberosKeyTabSettings"
            }
          }
        },
        "description" : "Keytab settings."
      },
      "NodeInfo" : {
        "type" : "object",
        "properties" : {
          "index" : {
            "type" : "string",
            "description" : "Index"
          },
          "ipv4Addr" : {
            "type" : "string",
            "description" : "IPv4 Addr"
          }
        },
        "description" : "List of Current Topology State"
      },
      "OCSPSigningCertList" : {
        "type" : "object",
        "properties" : {
          "ocspSigningCerts" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        },
        "description" : "OCSP signing certs PEM list"
      },
      "PasswordPolicySettings" : {
        "type" : "object",
        "properties" : {
          "passwordPolicyMinLen" : {
            "type" : "integer",
            "description" : "Minimum password Length",
            "format" : "int32"
          },
          "passwordPolicyMinClass" : {
            "type" : "integer",
            "description" : "Minimum No of Character Classes",
            "format" : "int32"
          },
          "passwordPolicyDifok" : {
            "type" : "integer",
            "description" : "Minimum Number of Characters different from previous",
            "format" : "int32"
          },
          "passwordPolicyUnlockTime" : {
            "type" : "integer",
            "description" : "Time for which the account should stay locked",
            "format" : "int64"
          },
          "passwordPolicyFailedLockout" : {
            "type" : "integer",
            "description" : "No. of attempts after which the user account should be locked",
            "format" : "int32"
          }
        },
        "description" : "Password Policy Settings"
      },
      "SAMLIdpMetadataSetting" : {
        "type" : "object",
        "properties" : {
          "hostName" : {
            "type" : "string"
          },
          "useHostBasedId" : {
            "type" : "boolean"
          }
        },
        "description" : "SAML IDP SSO configuration."
      },
      "Settings" : {
        "type" : "object",
        "properties" : {
          "generalSettings" : {
            "$ref" : "#/components/schemas/GeneralSettings"
          },
          "topologySettings" : {
            "$ref" : "#/components/schemas/TopologySettings"
          },
          "systemSettings" : {
            "$ref" : "#/components/schemas/SystemSettings"
          },
          "edgeServiceSettingsList" : {
            "$ref" : "#/components/schemas/EdgeServiceSettingsList"
          },
          "authMethodSettingsList" : {
            "$ref" : "#/components/schemas/AuthMethodSettingsList"
          },
          "kerberosKeyTabSettingsList" : {
            "$ref" : "#/components/schemas/KerberosKeyTabSettingsList"
          },
          "kerberosRealmSettingsList" : {
            "$ref" : "#/components/schemas/KerberosRealmSettingsList"
          },
          "certificateWrapper" : {
            "$ref" : "#/components/schemas/CertificateChainAndKeyWrapper"
          },
          "certificateWrapperAdmin" : {
            "$ref" : "#/components/schemas/CertificateChainAndKeyWrapper"
          },
          "serviceProviderMetadataList" : {
            "$ref" : "#/components/schemas/SAMLSPMetadataSettingsList"
          },
          "ssoSamlIdpSetting" : {
            "$ref" : "#/components/schemas/SAMLIdpMetadataSetting"
          },
          "identityProviderMetaData" : {
            "$ref" : "#/components/schemas/CertificateChainAndKeyWrapper"
          },
          "pfxCertStoreWrapper" : {
            "$ref" : "#/components/schemas/PfxCertStoreWrapper"
          },
          "pfxCertStoreWrapperAdmin" : {
            "$ref" : "#/components/schemas/PfxCertStoreWrapper"
          },
          "idpMediaType" : {
            "$ref" : "#/components/schemas/IdpMetadataWrapper"
          },
          "idPExternalMetadataSettingsList" : {
            "$ref" : "#/components/schemas/IdPExternalMetadataSettingsList"
          },
          "devicePolicySettingsList" : {
            "$ref" : "#/components/schemas/DevicePolicySettingsList"
          },
          "loadBalancerSettings" : {
            "$ref" : "#/components/schemas/LoadBalancerSettings"
          },
          "jwtSettingsList" : {
            "$ref" : "#/components/schemas/JWTSettingsList"
          },
          "jwtIssuerSettingsList" : {
            "$ref" : "#/components/schemas/JWTIssuerSettingsList"
          },
          "workspaceOneIntelligenceSettingsList" : {
            "$ref" : "#/components/schemas/WS1IntelligenceSettingsList"
          },
          "workspaceOneIntelligenceDataSettings" : {
            "$ref" : "#/components/schemas/WorkspaceOneIntelligenceDataSettings"
          },
          "outboundProxySettingsList" : {
            "$ref" : "#/components/schemas/OutboundProxySettingsList"
          },
          "ocspSigningCertList" : {
            "$ref" : "#/components/schemas/OCSPSigningCertList"
          },
          "packageUpdatesSettings" : {
            "$ref" : "#/components/schemas/PackageUpdateSettings"
          },
          "adminUsersList" : {
            "$ref" : "#/components/schemas/AdminUsersList"
          },
          "customExecutableList" : {
            "$ref" : "#/components/schemas/CustomExecutableList"
          },
          "syslogSettings" : {
            "$ref" : "#/components/schemas/SyslogSettings"
          },
          "adminSAMLSettings" : {
            "$ref" : "#/components/schemas/AdminSAMLSettings"
          },
          "securityAgentSettingsList" : {
            "$ref" : "#/components/schemas/SecurityAgentSettingsList"
          },
          "oidcOpMetadataSettingsList" : {
            "$ref" : "#/components/schemas/OidcOpMetadataSettingsList"
          },
          "hasErrorHappened" : {
            "type" : "boolean"
          },
          "artifactMetadataList" : {
            "$ref" : "#/components/schemas/ArtifactMetadataList"
          }
        }
      },
      "SnmpSettings" : {
        "type" : "object",
        "properties" : {
          "version" : {
            "type" : "string",
            "description" : "SNMP version",
            "enum" : [ "V1_V2C", "V3" ]
          },
          "usmUser" : {
            "type" : "string",
            "description" : "SNMPv3 User-based Security Model (USM) User name"
          },
          "engineID" : {
            "type" : "string",
            "description" : "An SNMP engine's administratively-unique identifier used for SNMP v3"
          },
          "securityLevel" : {
            "type" : "string",
            "description" : "SNMPv3 Security Level",
            "enum" : [ "NO_AUTH_NO_PRIV", "AUTH_NO_PRIV", "AUTH_PRIV" ]
          },
          "authPassword" : {
            "type" : "string",
            "description" : "SNMPv3 Authentication Password"
          },
          "privacyAlgorithm" : {
            "type" : "string",
            "description" : "SNMPv3 Privacy Algorithm",
            "enum" : [ "AES", "DES" ]
          },
          "privacyPassword" : {
            "type" : "string",
            "description" : "SNMPv3 Privacy Password"
          },
          "communityName" : {
            "type" : "string",
            "description" : "SNMP Community name to be used for SNMPv1 and SNMPv2c"
          },
          "authAlgorithm" : {
            "type" : "string"
          }
        },
        "description" : "SNMP settings"
      },
      "SshPublicKey" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "data" : {
            "type" : "string"
          }
        }
      },
      "SyslogServerSettings" : {
        "type" : "object",
        "properties" : {
          "syslogCategory" : {
            "type" : "string",
            "description" : "Type of log to be sent to remote syslog server.  Valid values [ALL, AUDIT_ONLY]"
          },
          "syslogCategoryList" : {
            "type" : "array",
            "description" : "Types of log to be sent to remote syslog server.  Valid values [ALL, AUDIT, APPLICATION, TRACEABILITY, STATS, DEPLOYMENT]. If both syslogCategory and syslogCategoryList are configured, syslogCategory is ignored.",
            "items" : {
              "type" : "string",
              "description" : "Types of log to be sent to remote syslog server.  Valid values [ALL, AUDIT, APPLICATION, TRACEABILITY, STATS, DEPLOYMENT]. If both syslogCategory and syslogCategoryList are configured, syslogCategory is ignored.",
              "enum" : [ "ALL", "AUDIT", "APPLICATION", "SYSTEM", "TRACEABILITY", "STATS", "DEPLOYMENT" ]
            }
          },
          "syslogFormat" : {
            "type" : "string",
            "description" : "Format of log to be sent to remote syslog server.  Valid values [TEXT, JSON_TITAN, JSON_EXPANDED]",
            "enum" : [ "TEXT", "JSON_TITAN", "JSON_EXPANDED" ]
          },
          "sysLogType" : {
            "type" : "string",
            "description" : "Type of communication to be used for syslog server. Valid values [UDP, TCP, TLS, MQTT]",
            "enum" : [ "UDP", "TCP", "TLS", "MQTT" ]
          },
          "syslogSystemMessagesEnabledV2" : {
            "type" : "boolean",
            "description" : "Enable System Syslog Messages."
          },
          "validateServerCertificate" : {
            "type" : "boolean",
            "description" : "Enable Server Certificate Validation."
          },
          "syslogUrl" : {
            "type" : "string",
            "description" : "syslog server Url for TCP/UDP"
          },
          "mqttTopic" : {
            "type" : "string",
            "description" : "mqtt server topic name"
          },
          "syslogServerCACertPem" : {
            "type" : "string",
            "writeOnly" : true
          },
          "syslogSettingName" : {
            "pattern" : "^[a-zA-Z\\d_-]{2,50}$",
            "type" : "string",
            "description" : "Unique identifier for each syslog settings"
          },
          "tlsSyslogServerSettings" : {
            "$ref" : "#/components/schemas/TlsSyslogServerSettings"
          },
          "tlsMqttServerSettings" : {
            "$ref" : "#/components/schemas/TlsMqttServerSettings"
          }
        }
      },
      "SyslogSettings" : {
        "type" : "object",
        "properties" : {
          "syslogClientCertPem" : {
            "type" : "string",
            "writeOnly" : true
          },
          "syslogClientCertKeyPem" : {
            "type" : "string",
            "writeOnly" : true
          },
          "syslogSystemMessagesEnabled" : {
            "type" : "boolean",
            "writeOnly" : true
          },
          "syslogServerSettings" : {
            "type" : "array",
            "description" : "List of syslog server settings.",
            "items" : {
              "$ref" : "#/components/schemas/SyslogServerSettings"
            }
          },
          "auditSyslogServerSettings" : {
            "type" : "array",
            "writeOnly" : true,
            "items" : {
              "$ref" : "#/components/schemas/SyslogServerSettings"
            }
          }
        }
      },
      "SystemSettings" : {
        "required" : [ "coreDumpSettings", "heapDumpSettings" ],
        "type" : "object",
        "properties" : {
          "fipsEnabled" : {
            "type" : "boolean",
            "description" : "This is a read-only property to indicate that this access point is FIPS compliant/non-compliant"
          },
          "adminPasswordExpirationDays" : {
            "type" : "integer",
            "description" : "The expiration time for admin password (in days)",
            "format" : "int32"
          },
          "adminSessionIdleTimeoutMinutes" : {
            "type" : "integer",
            "description" : "The idle timeout for admin user authenticated sessions",
            "format" : "int32"
          },
          "adminMaxConcurrentSessions" : {
            "type" : "integer",
            "description" : "Maximum concurrent logged in sessions for remote admin users",
            "format" : "int32"
          },
          "rootPasswordExpirationDays" : {
            "type" : "integer",
            "description" : "Root Password Expiration Days",
            "format" : "int32"
          },
          "rootSessionIdleTimeoutSeconds" : {
            "type" : "integer",
            "description" : "The idle timeout for root authenticated sessions",
            "format" : "int32"
          },
          "osLoginUsername" : {
            "type" : "string",
            "description" : "Non-root user for UAG local console login configurable at deploy time. If this is configured, root access will be disabled"
          },
          "osMaxLoginLimit" : {
            "type" : "string",
            "description" : "Maximum concurrent session limit for sudo user. This field is ignored if sudo user is not configured"
          },
          "monitoringUsersPasswordExpirationDays" : {
            "maximum" : 999,
            "minimum" : 0,
            "type" : "integer",
            "description" : "The expiration time for monitoring Users password (in days).",
            "format" : "int32"
          },
          "adminPasswordPolicySettings" : {
            "$ref" : "#/components/schemas/PasswordPolicySettings"
          },
          "passwordPolicySettings" : {
            "$ref" : "#/components/schemas/PasswordPolicySettings"
          },
          "cipherSuites" : {
            "type" : "string",
            "description" : "The set of SSL/TLS cipher suites to be enabled for inbound connections. Format: a comma separated list of cipher suite names. If not set, a default list is used."
          },
          "outboundCipherSuites" : {
            "type" : "string",
            "description" : "The set of TLS cipher suites for outbound connections from UAG. Format: a comma separated list of cipher suite params. If not set, underlying SSL provider will present its default list of ciphers during ClientHello to the remote server"
          },
          "headersToBeLogged" : {
            "type" : "string",
            "description" : "The Headers that should be logged in info mode. Format: a comma separated list of headers to be logged. If not set, will default to X-Forwarded-For"
          },
          "sslProvider" : {
            "type" : "string",
            "description" : "SSL provider for ESManager connections. Permissible values are JDK & OPENSSL (default).",
            "enum" : [ "JDK", "OPENSSL", "OPENSSL_REFCNT" ]
          },
          "tlsNamedGroups" : {
            "type" : "string",
            "description" : "Elliptic curves that are allowed for use under Supported_groups extension during TLS handshake. Currently this configuration is supported only when sslProvider is set to JDK."
          },
          "tlsSignatureSchemes" : {
            "type" : "string",
            "description" : "Signature Schemes that are allowed for use under Signature Algorithms extension duringTLS handshake. Currently this configuration is supported only when sslProvider is set to JDK."
          },
          "tls12Enabled" : {
            "type" : "boolean",
            "description" : "TLS 1.2 enabled."
          },
          "tls13Enabled" : {
            "type" : "boolean",
            "description" : "TLS 1.3 enabled."
          },
          "adminDisclaimerText" : {
            "type" : "string",
            "description" : "Update Admin disclaimer text."
          },
          "syslogUrl" : {
            "type" : "string",
            "description" : "Overrides the default syslog server/port Format is [syslog://]hostname[:port]. Default value (localhost)  will be used if not set."
          },
          "syslogAuditUrl" : {
            "type" : "string",
            "description" : "Overrides the default syslogAudit server/port Format is [syslog://]hostname[:port]. Default value (localhost)  will be used if not set."
          },
          "sysLogType" : {
            "type" : "string",
            "description" : "Type of communication to be used for syslog server. Valid values [UDP, TCP, TLS]",
            "enum" : [ "UDP", "TCP", "TLS", "MQTT" ]
          },
          "syslogServerCACertPem" : {
            "type" : "string",
            "description" : "CA certificate of the syslog server in PEM format. Mandatory field if syslog type is TLS"
          },
          "syslogClientCertCertPem" : {
            "type" : "string",
            "description" : "Client certificate in PEM format. To be used during TLS communicationwith syslog server. Only provide if syslog server needs mutual (client-cert) authentication"
          },
          "syslogClientCertKeyPem" : {
            "type" : "string",
            "description" : "Client certificate Private key in PEM format. Only provide if syslog server needs mutual (client-cert) authentication"
          },
          "tlsSyslogServerSettings" : {
            "type" : "array",
            "description" : "List of syslog server settings. Used in TLS mode",
            "items" : {
              "$ref" : "#/components/schemas/TlsSyslogServerSettings"
            }
          },
          "healthCheckUrl" : {
            "type" : "string",
            "description" : "Health check url to be used. Default is /favicon.ico"
          },
          "enableHTTPHealthMonitor" : {
            "type" : "boolean",
            "description" : "Controls if health check should respond on port 80 or not. By default we will not send response on port 80 for health check requests"
          },
          "cookiesToBeCached" : {
            "type" : "string",
            "description" : "Set of cookies to be cached by AP"
          },
          "ipMode" : {
            "type" : "string",
            "description" : "Indicates the mode of UAG for NIC 1 (eth0)",
            "enum" : [ "STATICV4", "STATICV6", "DHCPV4", "DHCPV6", "AUTOV6", "STATICV4_STATICV6", "STATICV4_DHCPV6", "STATICV4_AUTOV6", "DHCPV4_STATICV6", "DHCPV4_DHCPV6", "DHCPV4_AUTOV6", "Static", "Dynamic" ]
          },
          "ipModeforNIC2" : {
            "type" : "string",
            "description" : "Indicates the mode of UAG for NIC 2 (eth1)",
            "enum" : [ "STATICV4", "STATICV6", "DHCPV4", "DHCPV6", "AUTOV6", "STATICV4_STATICV6", "STATICV4_DHCPV6", "STATICV4_AUTOV6", "DHCPV4_STATICV6", "DHCPV4_DHCPV6", "DHCPV4_AUTOV6", "Static", "Dynamic" ]
          },
          "ipModeforNIC3" : {
            "type" : "string",
            "description" : "Indicates the mode of UAG for NIC 3 (eth2)",
            "enum" : [ "STATICV4", "STATICV6", "DHCPV4", "DHCPV6", "AUTOV6", "STATICV4_STATICV6", "STATICV4_DHCPV6", "STATICV4_AUTOV6", "DHCPV4_STATICV6", "DHCPV4_DHCPV6", "DHCPV4_AUTOV6", "Static", "Dynamic" ]
          },
          "defaultRedirectHost" : {
            "type" : "string"
          },
          "sessionTimeout" : {
            "minimum" : 0,
            "type" : "integer",
            "description" : "Session timeout in milliseconds. Set by default to 10 hours",
            "format" : "int64"
          },
          "requestTimeoutMsec" : {
            "type" : "integer",
            "description" : "maximum time in seconds to wait for a request to be received",
            "format" : "int64"
          },
          "bodyReceiveTimeoutMsec" : {
            "type" : "integer",
            "description" : "maximum time in seconds to wait for a request body to be received",
            "format" : "int64"
          },
          "authenticationTimeout" : {
            "minimum" : 0,
            "type" : "integer",
            "description" : "maximum wait time in seconds before which authentication must happen",
            "format" : "int64"
          },
          "quiesceMode" : {
            "type" : "boolean",
            "description" : "quiesce mode"
          },
          "monitorInterval" : {
            "maximum" : 9999,
            "minimum" : 0,
            "type" : "integer",
            "description" : "This is for monitoring AP",
            "format" : "int32"
          },
          "samlCertRolloverSupported" : {
            "type" : "boolean",
            "description" : "With SAML signature certificate rollover support, the SAML SP metadata entity id will be based on signature certificate. Signature Cert based entity id supports in smoother certificate rollover with separate SP configurations on IDP. Changing this value requires IDP reconfiguration"
          },
          "samlEncryptionCertRolloverSupported" : {
            "type" : "boolean",
            "description" : "With SAML encryption certificate rollover support, the SAML SP metadata entity id will be based on signature certificate and encryption certificate. Using both the certificates for computing entity_id supports in smoother certificate rollover with separate SP configurations on IDP. Changing this value requires SP metadata to be downloaded from \"Horizon Settings\" and configured on IDP. If enabled, IDP needs to be reconfigured when Encryption and/or TLS certificate is updated in UAG"
          },
          "httpConnectionTimeout" : {
            "type" : "integer",
            "description" : "Timeout to wait for connection attempt to succeed. This will also be the response read timeout(Default value is 120 seconds)",
            "format" : "int32"
          },
          "tlsPortSharingEnabled" : {
            "type" : "boolean",
            "description" : "Enable HAProxy for TLS port sharing"
          },
          "uagName" : {
            "type" : "string",
            "description" : "Name assigned to the UAG appliance"
          },
          "ceipEnabled" : {
            "type" : "boolean",
            "description" : "Enable/disable posting CEIP data. If CEIP flag is not defined while configuring via JSON import or REST API, then, CEIP will be enabled by setting default value true"
          },
          "adminCertRolledBack" : {
            "type" : "boolean",
            "description" : "A read-only property to indicate if uploaded certificate on Admin interface was successful or it was rolled back to a generated self-signed cert"
          },
          "clientConnectionIdleTimeout" : {
            "type" : "integer",
            "description" : "Indicates the time (in seconds) a client connection can stay idle before the connection will be closed. Default value is 360 seconds (6 minutes).A value of Zero means infinite time i.e no idle timeout",
            "format" : "int32"
          },
          "sshEnabled" : {
            "type" : "boolean"
          },
          "sshPasswordAccessEnabled" : {
            "type" : "boolean"
          },
          "sshKeyAccessEnabled" : {
            "type" : "boolean"
          },
          "sshInterface" : {
            "type" : "string"
          },
          "sshPort" : {
            "type" : "string"
          },
          "sshLoginBannerText" : {
            "type" : "string"
          },
          "sshPublicKeys" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/SshPublicKey"
            }
          },
          "dns" : {
            "type" : "string",
            "description" : "DNS server addresses"
          },
          "dnsSearch" : {
            "type" : "string",
            "description" : "DNS search list"
          },
          "snmpEnabled" : {
            "type" : "boolean",
            "description" : "SNMP service enabled or disabled"
          },
          "snmpSettings" : {
            "$ref" : "#/components/schemas/SnmpSettings"
          },
          "hostClockSyncSupported" : {
            "type" : "boolean",
            "description" : "Readonly flag to indicate if the Clock sync with virtualization host is supported. Currently enabled on ESXi hypervisor."
          },
          "hostClockSyncEnabled" : {
            "type" : "boolean",
            "description" : "Flag to indicate if the Clock sync with virtualization host is enabled"
          },
          "ntpServers" : {
            "type" : "string",
            "description" : "List of primary NTP server hostnames separated by space."
          },
          "fallBackNtpServers" : {
            "type" : "string",
            "description" : "List of fallback NTP server hostnames separated by space."
          },
          "clockSkewTolerance" : {
            "type" : "integer",
            "description" : "The clock skew tolerance in seconds. Default value is 600 seconds (10 minutes)",
            "format" : "int32"
          },
          "maxConnectionsAllowedPerSession" : {
            "type" : "integer",
            "description" : "Maximum parallel input connections per session. Make it zero for ignoring limit",
            "format" : "int32"
          },
          "maxSystemCPUAllowed" : {
            "type" : "integer",
            "description" : "Maximum allowed System CPU limit. After this system CPU average over past 1 minute reaches this limit no new sessions will be allowed. UAG will start sending 503 responses for new session requests",
            "format" : "int32"
          },
          "allowedHostHeaderValues" : {
            "type" : "string",
            "description" : "Comma separated list of allowed hostnames in the http requests. The values configured here will be whitelisted in addition to the dynamically whitelisted values listed under 'autoAllowedHostHeaderValues'"
          },
          "autoAllowedHostHeaderValues" : {
            "type" : "string",
            "description" : "Auto-generated list of allowed host header values separated by comma. This is readonly field. Values are determined dynamically based on configured network and edge service settings."
          },
          "enabledAdvancedFeatures" : {
            "type" : "string",
            "description" : "Comma separated list of enabled advanced features. This is readonly field, to enable any feature, use feature settings API."
          },
          "secureRandomSource" : {
            "type" : "string",
            "description" : "Readonly field indicating the SecureRandom source configured for Java processes in this UAG. This is deploy-time-only configuration."
          },
          "forcedRestart" : {
            "type" : "boolean"
          },
          "coreDumpSettings" : {
            "$ref" : "#/components/schemas/CoreDumpSettings"
          },
          "heapDumpSettings" : {
            "$ref" : "#/components/schemas/HeapDumpSettings"
          },
          "extendedServerCertValidationEnabled" : {
            "type" : "boolean",
            "description" : "Boolean flag that indicates if the extended validation of server certificates to be enabled when UAG makes outbound TLS connections.",
            "default" : false
          },
          "unrecognizedSessionsMonitoringEnabled" : {
            "type" : "boolean",
            "description" : "Enable unrecognized requests monitoring."
          },
          "commandsFirstBoot" : {
            "type" : "string",
            "description" : "List of shell commands separated by semi-colon that run only during the first boot of UAG. Maximum length is 8kB"
          },
          "commandsEveryBoot" : {
            "type" : "string",
            "description" : "List of shell commands separated by semi-colon that run during the every boot up of UAG.  Maximum length is 8kB"
          },
          "dsComplianceOS" : {
            "type" : "boolean",
            "description" : "Readonly flag indicating if the DISA STIG compliance mode for the OS layer is enabled. This can be configured only during deploy-time."
          },
          "minSHAHashSize" : {
            "type" : "string",
            "description" : "Minimum Hash Size which will needs to be used for all thumbprints during communication and for certificate thumbprint specification."
          },
          "warnMessages" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            }
          }
        }
      },
      "TlsMqttServerSettings" : {
        "type" : "object",
        "properties" : {
          "mqttClientCertCertPem" : {
            "type" : "string",
            "description" : "Client certificate in PEM format. To be used during TLS communicationwith mqtt server. Only provide if mqtt server needs mutual (client-cert) authentication"
          },
          "mqttClientCertKeyPem" : {
            "type" : "string",
            "description" : "Client certificate Private key in PEM format.Only provide if mqtt server needs mutual (client-cert) authentication"
          },
          "mqttServerCACertPem" : {
            "type" : "string",
            "description" : "CA certificate of the mqtt server in PEM format."
          }
        },
        "description" : "List of mqtt server settings. Used in TLS mode"
      },
      "TlsSyslogServerSettings" : {
        "type" : "object",
        "properties" : {
          "hostname" : {
            "type" : "string"
          },
          "port" : {
            "type" : "integer",
            "format" : "int32"
          },
          "syslogServerCACertPemV2" : {
            "type" : "string",
            "description" : "CA certificate of the syslog server in PEM format. Mandatory field if syslog type is TLS"
          },
          "syslogClientCertPemV2" : {
            "type" : "string",
            "description" : "Client certificate in PEM format. To be used during TLS communicationwith syslog server. Only provide if syslog server needs mutual (client-cert) authentication"
          },
          "syslogClientCertKeyPemV2" : {
            "type" : "string",
            "description" : "Client certificate Private key in PEM format. Only provide if syslog server needs mutual (client-cert) authentication"
          }
        },
        "description" : "List of syslog server settings. Used in TLS mode"
      },
      "TopologySettings" : {
        "required" : [ "lateralAddr", "lateralPort", "maxNodes", "nodeIndex", "nodeInfo" ],
        "type" : "object",
        "properties" : {
          "maxNodes" : {
            "type" : "integer",
            "description" : "Max Number of BSG's",
            "format" : "int64"
          },
          "nodeIndex" : {
            "type" : "integer",
            "description" : "BSG Index",
            "format" : "int64"
          },
          "lateralAddr" : {
            "type" : "integer",
            "description" : "Node Listener's Address",
            "format" : "int64"
          },
          "lateralPort" : {
            "type" : "integer",
            "description" : "Node Listener's Port",
            "format" : "int64"
          },
          "nodeInfo" : {
            "type" : "array",
            "description" : "List of Current Topology State",
            "items" : {
              "$ref" : "#/components/schemas/NodeInfo"
            }
          }
        }
      },
      "WS1IntelligenceCredentials" : {
        "type" : "object",
        "properties" : {
          "data" : {
            "$ref" : "#/components/schemas/WS1IntelligenceData"
          }
        }
      },
      "WS1IntelligenceData" : {
        "type" : "object",
        "properties" : {
          "oauth_client" : {
            "$ref" : "#/components/schemas/WS1IntelligenceOAuthClient"
          },
          "events_base_url" : {
            "type" : "string"
          },
          "token_endpoint" : {
            "type" : "string"
          },
          "api_base_url" : {
            "type" : "string"
          }
        }
      },
      "WS1IntelligenceOAuthClient" : {
        "type" : "object",
        "properties" : {
          "client_id" : {
            "type" : "string"
          },
          "client_secret" : {
            "type" : "string"
          },
          "scopes" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "access_token_validity_secs" : {
            "type" : "integer",
            "format" : "int64"
          },
          "refresh_token_validity_secs" : {
            "type" : "integer",
            "format" : "int64"
          },
          "integration" : {
            "type" : "string"
          },
          "source_system_id" : {
            "type" : "string"
          },
          "org_id" : {
            "type" : "string"
          },
          "authorized_grant_types" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "resource_ids" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "WS1IntelligenceSettingsList" : {
        "required" : [ "workspaceOneIntelligenceSettingsList" ],
        "type" : "object",
        "properties" : {
          "workspaceOneIntelligenceSettingsList" : {
            "type" : "array",
            "description" : "List of Workspace One Intelligence settings.",
            "items" : {
              "$ref" : "#/components/schemas/WorkspaceOneIntelligenceSettings"
            }
          }
        }
      },
      "WorkspaceOneIntelligenceDataSettings" : {
        "type" : "object",
        "properties" : {
          "enabled" : {
            "type" : "boolean"
          },
          "name" : {
            "type" : "string"
          },
          "updateInterval" : {
            "type" : "integer",
            "format" : "int32"
          }
        }
      },
      "WorkspaceOneIntelligenceSettings" : {
        "required" : [ "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "pattern" : "^[[\\p{L}\\p{N}\\p{M}_.-]+( [\\p{L}\\p{N}\\p{M}_.-]+)]{1,50}$",
            "type" : "string",
            "description" : "Name to identify this setting for connection validation. List of allowed characters include letters and numbers of most languages and the special characters dot, hyphen, underscore and whitespace."
          },
          "encodedCredentialsFileContent" : {
            "type" : "string"
          },
          "urlThumbprints" : {
            "pattern" : "^\\s*\\*$||(((sha1|sha256|sha384|sha512|SHA1|SHA256|SHA384|SHA512)=)?([0-9a-fA-F][0-9a-fA-F][: ]?)*[0-9a-fA-F][0-9a-fA-F], *)*(((sha1|sha256|sha384|sha512|SHA1|SHA256|SHA384|SHA512)=)?([0-9a-fA-F][0-9a-fA-F][: ]?)*[0-9a-fA-F][0-9a-fA-F])",
            "type" : "string",
            "description" : "List of acceptable SSL server certificate thumbprints for the proxyDestinationUrl. If blank, a valid certificate is required. If '*', any certificate is allowed. Otherwise, this is a comma-separated list of thumbprints. A thumbprint is of the format [alg=]xx:xx... where alg can be sha1(default) or md5 and the 'xx' are hexidecimal digits. The ':' separator can also be a space or missing. Case in a thumbprint is ignored."
          },
          "trustedCertificates" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/PublicKeyOrCert"
            }
          },
          "ws1IntelligenceCredentials" : {
            "$ref" : "#/components/schemas/WS1IntelligenceCredentials"
          }
        }
      }
    },
    "securitySchemes" : {
      "bearerAuth" : {
        "type" : "http",
        "scheme" : "bearer",
        "bearerFormat" : "JWT"
      }
    }
  }
}