/* tslint:disable */
/* eslint-disable */
/**
 * Admin API
 * The Admin API is used to manage the ApeCloud platform. 
 *
 * 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 { ACLUser } from '../models';
// @ts-ignore
import type { ACLUserResponse } from '../models';
// @ts-ignore
import type { APIErrorResponse } from '../models';
// @ts-ignore
import type { OpsRequestName } from '../models';
/**
 * RedisApi - axios parameter creator
 * @export
 */
export const RedisApiAxiosParamCreator = function (configuration?: Configuration) {
    return {
        /**
         * 
         * @summary create redis account
         * @param {string} orgName the name of organization
         * @param {string} clusterName the name of cluster
         * @param {ACLUser} aCLUser 
         * @param {string} [component] the component type to create account
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createRedisAccount: async (orgName: string, clusterName: string, aCLUser: ACLUser, component?: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'orgName' is not null or undefined
            assertParamExists('createRedisAccount', 'orgName', orgName)
            // verify required parameter 'clusterName' is not null or undefined
            assertParamExists('createRedisAccount', 'clusterName', clusterName)
            // verify required parameter 'aCLUser' is not null or undefined
            assertParamExists('createRedisAccount', 'aCLUser', aCLUser)
            const localVarPath = `/admin/v1/data/redis/organizations/{orgName}/clusters/{clusterName}/accounts`
                .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)

            if (component !== undefined) {
                localVarQueryParameter['component'] = component;
            }


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

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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary delete redis account
         * @param {string} orgName the name of organization
         * @param {string} clusterName the name of cluster
         * @param {string} accountName the name of account
         * @param {string} [component] in which component type to delete account
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteRedisAccount: async (orgName: string, clusterName: string, accountName: string, component?: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'orgName' is not null or undefined
            assertParamExists('deleteRedisAccount', 'orgName', orgName)
            // verify required parameter 'clusterName' is not null or undefined
            assertParamExists('deleteRedisAccount', 'clusterName', clusterName)
            // verify required parameter 'accountName' is not null or undefined
            assertParamExists('deleteRedisAccount', 'accountName', accountName)
            const localVarPath = `/admin/v1/data/redis/organizations/{orgName}/clusters/{clusterName}/accounts/{accountName}`
                .replace(`{${"orgName"}}`, encodeURIComponent(String(orgName)))
                .replace(`{${"clusterName"}}`, encodeURIComponent(String(clusterName)))
                .replace(`{${"accountName"}}`, encodeURIComponent(String(accountName)));
            // 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)

            if (component !== undefined) {
                localVarQueryParameter['component'] = component;
            }


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary list redis accounts
         * @param {string} orgName the name of organization
         * @param {string} clusterName the name of cluster
         * @param {string} [component] the component type to list accounts
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        listRedisAccounts: async (orgName: string, clusterName: string, component?: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'orgName' is not null or undefined
            assertParamExists('listRedisAccounts', 'orgName', orgName)
            // verify required parameter 'clusterName' is not null or undefined
            assertParamExists('listRedisAccounts', 'clusterName', clusterName)
            const localVarPath = `/admin/v1/data/redis/organizations/{orgName}/clusters/{clusterName}/accounts`
                .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)

            if (component !== undefined) {
                localVarQueryParameter['component'] = component;
            }


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

            return {
                url: toPathString(localVarUrlObj),
                options: localVarRequestOptions,
            };
        },
        /**
         * 
         * @summary update redis account
         * @param {string} orgName the name of organization
         * @param {string} clusterName the name of cluster
         * @param {string} accountName the name of account
         * @param {ACLUser} aCLUser 
         * @param {string} [component] in which component type to update account
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateRedisAccount: async (orgName: string, clusterName: string, accountName: string, aCLUser: ACLUser, component?: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
            // verify required parameter 'orgName' is not null or undefined
            assertParamExists('updateRedisAccount', 'orgName', orgName)
            // verify required parameter 'clusterName' is not null or undefined
            assertParamExists('updateRedisAccount', 'clusterName', clusterName)
            // verify required parameter 'accountName' is not null or undefined
            assertParamExists('updateRedisAccount', 'accountName', accountName)
            // verify required parameter 'aCLUser' is not null or undefined
            assertParamExists('updateRedisAccount', 'aCLUser', aCLUser)
            const localVarPath = `/admin/v1/data/redis/organizations/{orgName}/clusters/{clusterName}/accounts/{accountName}`
                .replace(`{${"orgName"}}`, encodeURIComponent(String(orgName)))
                .replace(`{${"clusterName"}}`, encodeURIComponent(String(clusterName)))
                .replace(`{${"accountName"}}`, encodeURIComponent(String(accountName)));
            // 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)

            if (component !== undefined) {
                localVarQueryParameter['component'] = component;
            }


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

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

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

/**
 * RedisApi - functional programming interface
 * @export
 */
export const RedisApiFp = function(configuration?: Configuration) {
    const localVarAxiosParamCreator = RedisApiAxiosParamCreator(configuration)
    return {
        /**
         * 
         * @summary create redis account
         * @param {string} orgName the name of organization
         * @param {string} clusterName the name of cluster
         * @param {ACLUser} aCLUser 
         * @param {string} [component] the component type to create account
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async createRedisAccount(orgName: string, clusterName: string, aCLUser: ACLUser, component?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<OpsRequestName>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.createRedisAccount(orgName, clusterName, aCLUser, component, options);
            const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
            const localVarOperationServerBasePath = operationServerMap['RedisApi.createRedisAccount']?.[localVarOperationServerIndex]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
        },
        /**
         * 
         * @summary delete redis account
         * @param {string} orgName the name of organization
         * @param {string} clusterName the name of cluster
         * @param {string} accountName the name of account
         * @param {string} [component] in which component type to delete account
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async deleteRedisAccount(orgName: string, clusterName: string, accountName: string, component?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<OpsRequestName>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.deleteRedisAccount(orgName, clusterName, accountName, component, options);
            const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
            const localVarOperationServerBasePath = operationServerMap['RedisApi.deleteRedisAccount']?.[localVarOperationServerIndex]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
        },
        /**
         * 
         * @summary list redis accounts
         * @param {string} orgName the name of organization
         * @param {string} clusterName the name of cluster
         * @param {string} [component] the component type to list accounts
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async listRedisAccounts(orgName: string, clusterName: string, component?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ACLUserResponse>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.listRedisAccounts(orgName, clusterName, component, options);
            const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
            const localVarOperationServerBasePath = operationServerMap['RedisApi.listRedisAccounts']?.[localVarOperationServerIndex]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
        },
        /**
         * 
         * @summary update redis account
         * @param {string} orgName the name of organization
         * @param {string} clusterName the name of cluster
         * @param {string} accountName the name of account
         * @param {ACLUser} aCLUser 
         * @param {string} [component] in which component type to update account
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        async updateRedisAccount(orgName: string, clusterName: string, accountName: string, aCLUser: ACLUser, component?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<OpsRequestName>> {
            const localVarAxiosArgs = await localVarAxiosParamCreator.updateRedisAccount(orgName, clusterName, accountName, aCLUser, component, options);
            const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
            const localVarOperationServerBasePath = operationServerMap['RedisApi.updateRedisAccount']?.[localVarOperationServerIndex]?.url;
            return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
        },
    }
};

/**
 * RedisApi - factory interface
 * @export
 */
export const RedisApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
    const localVarFp = RedisApiFp(configuration)
    return {
        /**
         * 
         * @summary create redis account
         * @param {RedisApiCreateRedisAccountRequest} requestParameters Request parameters.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        createRedisAccount(requestParameters: RedisApiCreateRedisAccountRequest, options?: RawAxiosRequestConfig): AxiosPromise<OpsRequestName> {
            return localVarFp.createRedisAccount(requestParameters.orgName, requestParameters.clusterName, requestParameters.aCLUser, requestParameters.component, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary delete redis account
         * @param {RedisApiDeleteRedisAccountRequest} requestParameters Request parameters.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        deleteRedisAccount(requestParameters: RedisApiDeleteRedisAccountRequest, options?: RawAxiosRequestConfig): AxiosPromise<OpsRequestName> {
            return localVarFp.deleteRedisAccount(requestParameters.orgName, requestParameters.clusterName, requestParameters.accountName, requestParameters.component, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary list redis accounts
         * @param {RedisApiListRedisAccountsRequest} requestParameters Request parameters.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        listRedisAccounts(requestParameters: RedisApiListRedisAccountsRequest, options?: RawAxiosRequestConfig): AxiosPromise<ACLUserResponse> {
            return localVarFp.listRedisAccounts(requestParameters.orgName, requestParameters.clusterName, requestParameters.component, options).then((request) => request(axios, basePath));
        },
        /**
         * 
         * @summary update redis account
         * @param {RedisApiUpdateRedisAccountRequest} requestParameters Request parameters.
         * @param {*} [options] Override http request option.
         * @throws {RequiredError}
         */
        updateRedisAccount(requestParameters: RedisApiUpdateRedisAccountRequest, options?: RawAxiosRequestConfig): AxiosPromise<OpsRequestName> {
            return localVarFp.updateRedisAccount(requestParameters.orgName, requestParameters.clusterName, requestParameters.accountName, requestParameters.aCLUser, requestParameters.component, options).then((request) => request(axios, basePath));
        },
    };
};

/**
 * RedisApi - interface
 * @export
 * @interface RedisApi
 */
export interface RedisApiInterface {
    /**
     * 
     * @summary create redis account
     * @param {RedisApiCreateRedisAccountRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RedisApiInterface
     */
    createRedisAccount(requestParameters: RedisApiCreateRedisAccountRequest, options?: RawAxiosRequestConfig): AxiosPromise<OpsRequestName>;

    /**
     * 
     * @summary delete redis account
     * @param {RedisApiDeleteRedisAccountRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RedisApiInterface
     */
    deleteRedisAccount(requestParameters: RedisApiDeleteRedisAccountRequest, options?: RawAxiosRequestConfig): AxiosPromise<OpsRequestName>;

    /**
     * 
     * @summary list redis accounts
     * @param {RedisApiListRedisAccountsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RedisApiInterface
     */
    listRedisAccounts(requestParameters: RedisApiListRedisAccountsRequest, options?: RawAxiosRequestConfig): AxiosPromise<ACLUserResponse>;

    /**
     * 
     * @summary update redis account
     * @param {RedisApiUpdateRedisAccountRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RedisApiInterface
     */
    updateRedisAccount(requestParameters: RedisApiUpdateRedisAccountRequest, options?: RawAxiosRequestConfig): AxiosPromise<OpsRequestName>;

}

/**
 * Request parameters for createRedisAccount operation in RedisApi.
 * @export
 * @interface RedisApiCreateRedisAccountRequest
 */
export interface RedisApiCreateRedisAccountRequest {
    /**
     * the name of organization
     * @type {string}
     * @memberof RedisApiCreateRedisAccount
     */
    readonly orgName: string

    /**
     * the name of cluster
     * @type {string}
     * @memberof RedisApiCreateRedisAccount
     */
    readonly clusterName: string

    /**
     * 
     * @type {ACLUser}
     * @memberof RedisApiCreateRedisAccount
     */
    readonly aCLUser: ACLUser

    /**
     * the component type to create account
     * @type {string}
     * @memberof RedisApiCreateRedisAccount
     */
    readonly component?: string
}

/**
 * Request parameters for deleteRedisAccount operation in RedisApi.
 * @export
 * @interface RedisApiDeleteRedisAccountRequest
 */
export interface RedisApiDeleteRedisAccountRequest {
    /**
     * the name of organization
     * @type {string}
     * @memberof RedisApiDeleteRedisAccount
     */
    readonly orgName: string

    /**
     * the name of cluster
     * @type {string}
     * @memberof RedisApiDeleteRedisAccount
     */
    readonly clusterName: string

    /**
     * the name of account
     * @type {string}
     * @memberof RedisApiDeleteRedisAccount
     */
    readonly accountName: string

    /**
     * in which component type to delete account
     * @type {string}
     * @memberof RedisApiDeleteRedisAccount
     */
    readonly component?: string
}

/**
 * Request parameters for listRedisAccounts operation in RedisApi.
 * @export
 * @interface RedisApiListRedisAccountsRequest
 */
export interface RedisApiListRedisAccountsRequest {
    /**
     * the name of organization
     * @type {string}
     * @memberof RedisApiListRedisAccounts
     */
    readonly orgName: string

    /**
     * the name of cluster
     * @type {string}
     * @memberof RedisApiListRedisAccounts
     */
    readonly clusterName: string

    /**
     * the component type to list accounts
     * @type {string}
     * @memberof RedisApiListRedisAccounts
     */
    readonly component?: string
}

/**
 * Request parameters for updateRedisAccount operation in RedisApi.
 * @export
 * @interface RedisApiUpdateRedisAccountRequest
 */
export interface RedisApiUpdateRedisAccountRequest {
    /**
     * the name of organization
     * @type {string}
     * @memberof RedisApiUpdateRedisAccount
     */
    readonly orgName: string

    /**
     * the name of cluster
     * @type {string}
     * @memberof RedisApiUpdateRedisAccount
     */
    readonly clusterName: string

    /**
     * the name of account
     * @type {string}
     * @memberof RedisApiUpdateRedisAccount
     */
    readonly accountName: string

    /**
     * 
     * @type {ACLUser}
     * @memberof RedisApiUpdateRedisAccount
     */
    readonly aCLUser: ACLUser

    /**
     * in which component type to update account
     * @type {string}
     * @memberof RedisApiUpdateRedisAccount
     */
    readonly component?: string
}

/**
 * RedisApi - object-oriented interface
 * @export
 * @class RedisApi
 * @extends {BaseAPI}
 */
export class RedisApi extends BaseAPI implements RedisApiInterface {
    /**
     * 
     * @summary create redis account
     * @param {RedisApiCreateRedisAccountRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RedisApi
     */
    public createRedisAccount(requestParameters: RedisApiCreateRedisAccountRequest, options?: RawAxiosRequestConfig) {
        return RedisApiFp(this.configuration).createRedisAccount(requestParameters.orgName, requestParameters.clusterName, requestParameters.aCLUser, requestParameters.component, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary delete redis account
     * @param {RedisApiDeleteRedisAccountRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RedisApi
     */
    public deleteRedisAccount(requestParameters: RedisApiDeleteRedisAccountRequest, options?: RawAxiosRequestConfig) {
        return RedisApiFp(this.configuration).deleteRedisAccount(requestParameters.orgName, requestParameters.clusterName, requestParameters.accountName, requestParameters.component, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary list redis accounts
     * @param {RedisApiListRedisAccountsRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RedisApi
     */
    public listRedisAccounts(requestParameters: RedisApiListRedisAccountsRequest, options?: RawAxiosRequestConfig) {
        return RedisApiFp(this.configuration).listRedisAccounts(requestParameters.orgName, requestParameters.clusterName, requestParameters.component, options).then((request) => request(this.axios, this.basePath));
    }

    /**
     * 
     * @summary update redis account
     * @param {RedisApiUpdateRedisAccountRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof RedisApi
     */
    public updateRedisAccount(requestParameters: RedisApiUpdateRedisAccountRequest, options?: RawAxiosRequestConfig) {
        return RedisApiFp(this.configuration).updateRedisAccount(requestParameters.orgName, requestParameters.clusterName, requestParameters.accountName, requestParameters.aCLUser, requestParameters.component, options).then((request) => request(this.axios, this.basePath));
    }
}

