All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.blazebit.query.connector.kandji.invoker.ServerConfiguration Maven / Gradle / Ivy

The newest version!
/*
 * Kandji API
 * # Welcome to the Kandji API Documentation  You can find your API URL in Settings > Access. The API URL will follow the below formats.  - US - `https://SubDomain.api.kandji.io` - EU - `https://SubDomain.api.eu.kandji.io`  For information on how to obtain an API token, please refer to the following support article.  [https://support.kandji.io/api](https://support.kandji.io/api)  #### Rate Limit  The Kandji API currently has an API rate limit of 10,000 requests per hour per customer.  #### Request Methods  HTTP request methods supported by the Kandji API.  | Method | Definition | | --- | --- | | GET | The `GET` method requests a representation of the specified resource. | | POST | The `POST` method submits an entity to the specified resource. | | PATCH | The `PATCH` method applies partial modifications to a resource. | | DELETE | The `DELETE` method deletes the specified resource. |  #### Response codes  Not all response codes apply to every endpoint.  | Code | Response | | --- | --- | | 200 | OK | | 201 | Created | | 204 | No content | |  | Typical response when sending the DELETE method. | | 400 | Bad Request | |  | \"Command already running\" - The command may already be running in a _Pending_ state waiting on the device. | |  | \"Command is not allowed for current device\" - The command may not be compatible with the target device. | |  | \"JSON parse error - Expecting ',' delimiter: line 3 column 2 (char 65)\" | | 401 | Unauthorized | |  | This error can occur if the token is incorrect, was revoked, or the token has expired. | | 403 | Forbidden | |  | The request was understood but cannot be authorized. | | 404 | Not found | |  | Unable to locate the resource in the Kandji tenant. | | 415 | Unsupported Media Type | |  | The request contains a media type which the server or resource does not support. | | 500 | Internal server error | | 503 | Service unavailable | |  | This error can occur if a file upload is still being processed via the custom apps API. |  #### Data structure  The API returns all structured responses in JSON schema format.  #### Examples  Code examples using the API can be found in the Kandji support [GitHub](https://github.com/kandji-inc/support/tree/main/api-tools).
 *
 * The version of the OpenAPI document: 1.0.0
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


package com.blazebit.query.connector.kandji.invoker;

import java.util.Map;

/**
 * Representing a Server configuration.
 */
@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-04-30T07:19:31.168100307Z[Etc/UTC]", comments = "Generator version: 7.10.0")
public class ServerConfiguration {
    public String URL;
    public String description;
    public Map variables;

    /**
     * @param URL A URL to the target host.
     * @param description A description of the host designated by the URL.
     * @param variables A map between a variable name and its value. The value is used for substitution in the server's URL template.
     */
    public ServerConfiguration(String URL, String description, Map variables) {
        this.URL = URL;
        this.description = description;
        this.variables = variables;
    }

    /**
     * Format URL template using given variables.
     *
     * @param variables A map between a variable name and its value.
     * @return Formatted URL.
     */
    public String URL(Map variables) {
        String url = this.URL;

        // go through variables and replace placeholders
        for (Map.Entry variable: this.variables.entrySet()) {
            String name = variable.getKey();
            ServerVariable serverVariable = variable.getValue();
            String value = serverVariable.defaultValue;

            if (variables != null && variables.containsKey(name)) {
                value = variables.get(name);
                if (serverVariable.enumValues.size() > 0 && !serverVariable.enumValues.contains(value)) {
                    throw new IllegalArgumentException("The variable " + name + " in the server URL has invalid value " + value + ".");
                }
            }
            url = url.replace("{" + name + "}", value);
        }
        return url;
    }

    /**
     * Format URL template using default server variables.
     *
     * @return Formatted URL.
     */
    public String URL() {
        return URL(null);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy