/* tslint:disable */
/* eslint-disable */
/**
 * KubeBlocks Cloud API
 * KubeBlocks Cloud API is a RESTful API for managing KubeBlocks Cloud resources.  The API is organized around REST.  Our API has predictable resource-oriented URLs, accepts `JSON-encoded` request bodies, returns `JSON-encoded` responses, and uses standard HTTP response codes, authentication, and verbs.  We use standard HTTP authentication and provide API keys to identify who you are. Your API keys carry many privileges, so be sure to keep them secret! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. 
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: support@apecloud.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


import type { Configuration } from '../configuration';
import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';
import globalAxios from 'axios';
// Some imports not used depending on template conditions
// @ts-ignore
import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common';
// @ts-ignore
import { BASE_PATH, COLLECTION_FORMATS, type RequestArgs, BaseAPI, RequiredError, operationServerMap } from '../base';
// @ts-ignore
import type { APIErrorResponse } from '../models';
// @ts-ignore
import type { CreateIPWhitelistRequest } from '../models';
// @ts-ignore
import type { IpWhitelist } from '../models';
// @ts-ignore
import type { IpWhitelistList } from '../models';
/**
 * IpWhitelistApi - axios parameter creator
 * @export
 */
export const IpWhitelistApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary Create IP whitelist
         * @param {string} orgName name of the Org
         * @param {string} clusterName name of the Cluster
         * @param {CreateIPWhitelistRequest} body 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createIPWhitelist: async (orgName: string, clusterName: string, body: CreateIPWhitelistRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'orgName' is not null or undefined
            assertParamExists('createIPWhitelist', 'orgName', orgName)
            // verify required parameter 'clusterName' is not null or undefined
            assertParamExists('createIPWhitelist', 'clusterName', clusterName)
            // verify required parameter 'body' is not null or undefined
            assertParamExists('createIPWhitelist', 'body', body)
            const localVarPath = `/api/v1/organizations/{orgName}/clusters/{clusterName}/ipWhitelist`
                .replace(`{${"orgName"}}`, encodeURIComponent(String(orgName)))
                .replace(`{${"clusterName"}}`, encodeURIComponent(String(clusterName)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication BearerToken required
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)

            // authentication DigestAuth required
            await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(body, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Delete IP whitelist
         * @param {string} orgName name of the Org
         * @param {string} clusterName name of the Cluster
         * @param {string} ipWhitelistId ID of the IP whitelist
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteIPWhiteList: async (orgName: string, clusterName: string, ipWhitelistId: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'orgName' is not null or undefined
            assertParamExists('deleteIPWhiteList', 'orgName', orgName)
            // verify required parameter 'clusterName' is not null or undefined
            assertParamExists('deleteIPWhiteList', 'clusterName', clusterName)
            // verify required parameter 'ipWhitelistId' is not null or undefined
            assertParamExists('deleteIPWhiteList', 'ipWhitelistId', ipWhitelistId)
            const localVarPath = `/api/v1/organizations/{orgName}/clusters/{clusterName}/ipWhitelist/{ipWhitelistId}`
                .replace(`{${"orgName"}}`, encodeURIComponent(String(orgName)))
                .replace(`{${"clusterName"}}`, encodeURIComponent(String(clusterName)))
                .replace(`{${"ipWhitelistId"}}`, encodeURIComponent(String(ipWhitelistId)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication BearerToken required
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)

            // authentication DigestAuth required
            await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary List IP whitelists
         * @param {string} orgName name of the Org
         * @param {string} clusterName name of the Cluster
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        listIPWhitelist: async (orgName: string, clusterName: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'orgName' is not null or undefined
            assertParamExists('listIPWhitelist', 'orgName', orgName)
            // verify required parameter 'clusterName' is not null or undefined
            assertParamExists('listIPWhitelist', 'clusterName', clusterName)
            const localVarPath = `/api/v1/organizations/{orgName}/clusters/{clusterName}/ipWhitelist`
                .replace(`{${"orgName"}}`, encodeURIComponent(String(orgName)))
                .replace(`{${"clusterName"}}`, encodeURIComponent(String(clusterName)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication BearerToken required
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)

            // authentication DigestAuth required
            await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)


    
            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary Update IP whitelist
         * @param {string} orgName name of the Org
         * @param {string} clusterName name of the Cluster
         * @param {string} ipWhitelistId ID of the IP whitelist
         * @param {CreateIPWhitelistRequest} body 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateIPWhitelist: async (orgName: string, clusterName: string, ipWhitelistId: string, body: CreateIPWhitelistRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'orgName' is not null or undefined
            assertParamExists('updateIPWhitelist', 'orgName', orgName)
            // verify required parameter 'clusterName' is not null or undefined
            assertParamExists('updateIPWhitelist', 'clusterName', clusterName)
            // verify required parameter 'ipWhitelistId' is not null or undefined
            assertParamExists('updateIPWhitelist', 'ipWhitelistId', ipWhitelistId)
            // verify required parameter 'body' is not null or undefined
            assertParamExists('updateIPWhitelist', 'body', body)
            const localVarPath = `/api/v1/organizations/{orgName}/clusters/{clusterName}/ipWhitelist/{ipWhitelistId}`
                .replace(`{${"orgName"}}`, encodeURIComponent(String(orgName)))
                .replace(`{${"clusterName"}}`, encodeURIComponent(String(clusterName)))
                .replace(`{${"ipWhitelistId"}}`, encodeURIComponent(String(ipWhitelistId)));
            // use dummy base URL string because the URL constructor only accepts absolute URLs.
            const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
            let baseOptions;
            if (configuration) {
                baseOptions = configuration.baseOptions;
            }

            const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options};
            const localVarHeaderParameter = {} as any;
            const localVarQueryParameter = {} as any;

            // authentication BearerToken required
            // http bearer authentication required
            await setBearerAuthToObject(localVarHeaderParameter, configuration)

            // authentication DigestAuth required
            await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)


    
            localVarHeaderParameter['Content-Type'] = 'application/json';

            setSearchParams(localVarUrlObj, localVarQueryParameter);
            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
            localVarRequestOptions.data = serializeDataIfNeeded(body, localVarRequestOptions, configuration)

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
    }
};

/**
 * IpWhitelistApi - functional programming interface
 * @export
 */
export const IpWhitelistApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = IpWhitelistApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary Create IP whitelist
         * @param {string} orgName name of the Org
         * @param {string} clusterName name of the Cluster
         * @param {CreateIPWhitelistRequest} body 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createIPWhitelist(orgName: string, clusterName: string, body: CreateIPWhitelistRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<IpWhitelist>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createIPWhitelist(orgName, clusterName, body, options);
            const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
            const localVarOperationServerBasePath = operationServerMap['IpWhitelistApi.createIPWhitelist']?.[localVarOperationServerIndex]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
        },
        /**
         * 
         * @summary Delete IP whitelist
         * @param {string} orgName name of the Org
         * @param {string} clusterName name of the Cluster
         * @param {string} ipWhitelistId ID of the IP whitelist
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteIPWhiteList(orgName: string, clusterName: string, ipWhitelistId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteIPWhiteList(orgName, clusterName, ipWhitelistId, options);
            const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
            const localVarOperationServerBasePath = operationServerMap['IpWhitelistApi.deleteIPWhiteList']?.[localVarOperationServerIndex]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
        },
        /**
         * 
         * @summary List IP whitelists
         * @param {string} orgName name of the Org
         * @param {string} clusterName name of the Cluster
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async listIPWhitelist(orgName: string, clusterName: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<IpWhitelistList>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.listIPWhitelist(orgName, clusterName, options);
            const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
            const localVarOperationServerBasePath = operationServerMap['IpWhitelistApi.listIPWhitelist']?.[localVarOperationServerIndex]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
        },
        /**
         * 
         * @summary Update IP whitelist
         * @param {string} orgName name of the Org
         * @param {string} clusterName name of the Cluster
         * @param {string} ipWhitelistId ID of the IP whitelist
         * @param {CreateIPWhitelistRequest} body 
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateIPWhitelist(orgName: string, clusterName: string, ipWhitelistId: string, body: CreateIPWhitelistRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<IpWhitelist>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateIPWhitelist(orgName, clusterName, ipWhitelistId, body, options);
            const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
            const localVarOperationServerBasePath = operationServerMap['IpWhitelistApi.updateIPWhitelist']?.[localVarOperationServerIndex]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
        },
    }
};

/**
 * IpWhitelistApi - factory interface
 * @export
 */
export const IpWhitelistApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = IpWhitelistApiFp(configuration)
    return {
        /**
         * 
         * @summary Create IP whitelist
         * @param {IpWhitelistApiCreateIPWhitelistRequest} requestParameters Request parameters.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createIPWhitelist(requestParameters: IpWhitelistApiCreateIPWhitelistRequest, options?: RawAxiosRequestConfig): AxiosPromise<IpWhitelist> {
            return localVarFp.createIPWhitelist(requestParameters.orgName, requestParameters.clusterName, requestParameters.body, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Delete IP whitelist
         * @param {IpWhitelistApiDeleteIPWhiteListRequest} requestParameters Request parameters.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteIPWhiteList(requestParameters: IpWhitelistApiDeleteIPWhiteListRequest, options?: RawAxiosRequestConfig): AxiosPromise<void> {
            return localVarFp.deleteIPWhiteList(requestParameters.orgName, requestParameters.clusterName, requestParameters.ipWhitelistId, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary List IP whitelists
         * @param {IpWhitelistApiListIPWhitelistRequest} requestParameters Request parameters.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        listIPWhitelist(requestParameters: IpWhitelistApiListIPWhitelistRequest, options?: RawAxiosRequestConfig): AxiosPromise<IpWhitelistList> {
            return localVarFp.listIPWhitelist(requestParameters.orgName, requestParameters.clusterName, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary Update IP whitelist
         * @param {IpWhitelistApiUpdateIPWhitelistRequest} requestParameters Request parameters.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateIPWhitelist(requestParameters: IpWhitelistApiUpdateIPWhitelistRequest, options?: RawAxiosRequestConfig): AxiosPromise<IpWhitelist> {
            return localVarFp.updateIPWhitelist(requestParameters.orgName, requestParameters.clusterName, requestParameters.ipWhitelistId, requestParameters.body, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * IpWhitelistApi - interface
 * @export
 * @interface IpWhitelistApi
 */
export interface IpWhitelistApiInterface {
    /**
     * 
     * @summary Create IP whitelist
     * @param {IpWhitelistApiCreateIPWhitelistRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof IpWhitelistApiInterface
     */
    createIPWhitelist(requestParameters: IpWhitelistApiCreateIPWhitelistRequest, options?: RawAxiosRequestConfig): AxiosPromise<IpWhitelist>;

    /**
     * 
     * @summary Delete IP whitelist
     * @param {IpWhitelistApiDeleteIPWhiteListRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof IpWhitelistApiInterface
     */
    deleteIPWhiteList(requestParameters: IpWhitelistApiDeleteIPWhiteListRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;

    /**
     * 
     * @summary List IP whitelists
     * @param {IpWhitelistApiListIPWhitelistRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof IpWhitelistApiInterface
     */
    listIPWhitelist(requestParameters: IpWhitelistApiListIPWhitelistRequest, options?: RawAxiosRequestConfig): AxiosPromise<IpWhitelistList>;

    /**
     * 
     * @summary Update IP whitelist
     * @param {IpWhitelistApiUpdateIPWhitelistRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof IpWhitelistApiInterface
     */
    updateIPWhitelist(requestParameters: IpWhitelistApiUpdateIPWhitelistRequest, options?: RawAxiosRequestConfig): AxiosPromise<IpWhitelist>;

}

/**
 * Request parameters for createIPWhitelist operation in IpWhitelistApi.
 * @export
 * @interface IpWhitelistApiCreateIPWhitelistRequest
 */
export interface IpWhitelistApiCreateIPWhitelistRequest {
    /**
     * name of the Org
     * @type {string}
     * @memberof IpWhitelistApiCreateIPWhitelist
     */
    readonly orgName: string

    /**
     * name of the Cluster
     * @type {string}
     * @memberof IpWhitelistApiCreateIPWhitelist
     */
    readonly clusterName: string

    /**
     * 
     * @type {CreateIPWhitelistRequest}
     * @memberof IpWhitelistApiCreateIPWhitelist
     */
    readonly body: CreateIPWhitelistRequest
}

/**
 * Request parameters for deleteIPWhiteList operation in IpWhitelistApi.
 * @export
 * @interface IpWhitelistApiDeleteIPWhiteListRequest
 */
export interface IpWhitelistApiDeleteIPWhiteListRequest {
    /**
     * name of the Org
     * @type {string}
     * @memberof IpWhitelistApiDeleteIPWhiteList
     */
    readonly orgName: string

    /**
     * name of the Cluster
     * @type {string}
     * @memberof IpWhitelistApiDeleteIPWhiteList
     */
    readonly clusterName: string

    /**
     * ID of the IP whitelist
     * @type {string}
     * @memberof IpWhitelistApiDeleteIPWhiteList
     */
    readonly ipWhitelistId: string
}

/**
 * Request parameters for listIPWhitelist operation in IpWhitelistApi.
 * @export
 * @interface IpWhitelistApiListIPWhitelistRequest
 */
export interface IpWhitelistApiListIPWhitelistRequest {
    /**
     * name of the Org
     * @type {string}
     * @memberof IpWhitelistApiListIPWhitelist
     */
    readonly orgName: string

    /**
     * name of the Cluster
     * @type {string}
     * @memberof IpWhitelistApiListIPWhitelist
     */
    readonly clusterName: string
}

/**
 * Request parameters for updateIPWhitelist operation in IpWhitelistApi.
 * @export
 * @interface IpWhitelistApiUpdateIPWhitelistRequest
 */
export interface IpWhitelistApiUpdateIPWhitelistRequest {
    /**
     * name of the Org
     * @type {string}
     * @memberof IpWhitelistApiUpdateIPWhitelist
     */
    readonly orgName: string

    /**
     * name of the Cluster
     * @type {string}
     * @memberof IpWhitelistApiUpdateIPWhitelist
     */
    readonly clusterName: string

    /**
     * ID of the IP whitelist
     * @type {string}
     * @memberof IpWhitelistApiUpdateIPWhitelist
     */
    readonly ipWhitelistId: string

    /**
     * 
     * @type {CreateIPWhitelistRequest}
     * @memberof IpWhitelistApiUpdateIPWhitelist
     */
    readonly body: CreateIPWhitelistRequest
}

/**
 * IpWhitelistApi - object-oriented interface
 * @export
 * @class IpWhitelistApi
 * @extends {BaseAPI}
 */
export class IpWhitelistApi extends BaseAPI implements IpWhitelistApiInterface {
    /**
     * 
     * @summary Create IP whitelist
     * @param {IpWhitelistApiCreateIPWhitelistRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof IpWhitelistApi
     */
    public createIPWhitelist(requestParameters: IpWhitelistApiCreateIPWhitelistRequest, options?: RawAxiosRequestConfig) {
        return IpWhitelistApiFp(this.configuration).createIPWhitelist(requestParameters.orgName, requestParameters.clusterName, requestParameters.body, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Delete IP whitelist
     * @param {IpWhitelistApiDeleteIPWhiteListRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof IpWhitelistApi
     */
    public deleteIPWhiteList(requestParameters: IpWhitelistApiDeleteIPWhiteListRequest, options?: RawAxiosRequestConfig) {
        return IpWhitelistApiFp(this.configuration).deleteIPWhiteList(requestParameters.orgName, requestParameters.clusterName, requestParameters.ipWhitelistId, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary List IP whitelists
     * @param {IpWhitelistApiListIPWhitelistRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof IpWhitelistApi
     */
    public listIPWhitelist(requestParameters: IpWhitelistApiListIPWhitelistRequest, options?: RawAxiosRequestConfig) {
        return IpWhitelistApiFp(this.configuration).listIPWhitelist(requestParameters.orgName, requestParameters.clusterName, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary Update IP whitelist
     * @param {IpWhitelistApiUpdateIPWhitelistRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof IpWhitelistApi
     */
    public updateIPWhitelist(requestParameters: IpWhitelistApiUpdateIPWhitelistRequest, options?: RawAxiosRequestConfig) {
        return IpWhitelistApiFp(this.configuration).updateIPWhitelist(requestParameters.orgName, requestParameters.clusterName, requestParameters.ipWhitelistId, requestParameters.body, options).then((request) => request(this.axios, this.basePath));
    }
}

