/* tslint:disable */
/* eslint-disable */
/**
 * Account Management Service API
 * Manage user subscriptions and clusters
 *
 * The version of the OpenAPI document: 0.0.1
 *
 *
 * 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, AxiosRequestConfig } 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, RequestArgs, BaseAPI, RequiredError } from '../base';
// @ts-ignore
import { AccessReview } from '../models';
// @ts-ignore
import { AccessReviewResponse } from '../models';
// @ts-ignore
import { AccessTokenCfg } from '../models';
// @ts-ignore
import { Account } from '../models';
// @ts-ignore
import { AccountGroup } from '../models';
// @ts-ignore
import { AccountGroupAssignment } from '../models';
// @ts-ignore
import { AccountGroupAssignmentList } from '../models';
// @ts-ignore
import { AccountGroupList } from '../models';
// @ts-ignore
import { AccountGroupRequest } from '../models';
// @ts-ignore
import { AccountList } from '../models';
// @ts-ignore
import { AccountPatchRequest } from '../models';
// @ts-ignore
import { BillingModel } from '../models';
// @ts-ignore
import { BillingModelList } from '../models';
// @ts-ignore
import { CapabilityList } from '../models';
// @ts-ignore
import { CapabilityReview } from '../models';
// @ts-ignore
import { CapabilityReviewRequest } from '../models';
// @ts-ignore
import { Certificate } from '../models';
// @ts-ignore
import { CertificatesRequest } from '../models';
// @ts-ignore
import { CloudResource } from '../models';
// @ts-ignore
import { CloudResourceList } from '../models';
// @ts-ignore
import { ClusterAuthorizationRequest } from '../models';
// @ts-ignore
import { ClusterAuthorizationResponse } from '../models';
// @ts-ignore
import { ClusterRegistrationRequest } from '../models';
// @ts-ignore
import { ClusterRegistrationResponse } from '../models';
// @ts-ignore
import { ClusterTransfer } from '../models';
// @ts-ignore
import { ClusterTransferList } from '../models';
// @ts-ignore
import { ClusterTransferPatchRequest } from '../models';
// @ts-ignore
import { ClusterTransferRequest } from '../models';
// @ts-ignore
import { ConsumedQuotaList } from '../models';
// @ts-ignore
import { DefaultCapability } from '../models';
// @ts-ignore
import { DefaultCapabilityList } from '../models';
// @ts-ignore
import { DeletedSubscription } from '../models';
// @ts-ignore
import { DeletedSubscriptionList } from '../models';
// @ts-ignore
import { ErrorList } from '../models';
// @ts-ignore
import { ExportControlReview } from '../models';
// @ts-ignore
import { ExportControlReviewRequest } from '../models';
// @ts-ignore
import { FeatureReview } from '../models';
// @ts-ignore
import { FeatureReviewResponse } from '../models';
// @ts-ignore
import { FeatureToggle } from '../models';
// @ts-ignore
import { FeatureToggleQueryRequest } from '../models';
// @ts-ignore
import { Label } from '../models';
// @ts-ignore
import { LabelList } from '../models';
// @ts-ignore
import { MetricsList } from '../models';
// @ts-ignore
import { NotificationContactCreateRequest } from '../models';
// @ts-ignore
import { NotificationRequest } from '../models';
// @ts-ignore
import { Organization } from '../models';
// @ts-ignore
import { OrganizationList } from '../models';
// @ts-ignore
import { OrganizationPatchRequest } from '../models';
// @ts-ignore
import { Plan } from '../models';
// @ts-ignore
import { PlanList } from '../models';
// @ts-ignore
import { PullSecretRequest } from '../models';
// @ts-ignore
import { PullSecretRotation } from '../models';
// @ts-ignore
import { PullSecretRotationList } from '../models';
// @ts-ignore
import { PullSecretRotationRequest } from '../models';
// @ts-ignore
import { Quota } from '../models';
// @ts-ignore
import { QuotaAuthorizationRequest } from '../models';
// @ts-ignore
import { QuotaAuthorizationResponse } from '../models';
// @ts-ignore
import { QuotaCostList } from '../models';
// @ts-ignore
import { QuotaList } from '../models';
// @ts-ignore
import { QuotaRulesList } from '../models';
// @ts-ignore
import { Registry } from '../models';
// @ts-ignore
import { RegistryCredential } from '../models';
// @ts-ignore
import { RegistryCredentialList } from '../models';
// @ts-ignore
import { RegistryCredentialPatchRequest } from '../models';
// @ts-ignore
import { RegistryList } from '../models';
// @ts-ignore
import { ReservedResource } from '../models';
// @ts-ignore
import { ReservedResourceList } from '../models';
// @ts-ignore
import { ReservedResourcePatchRequest } from '../models';
// @ts-ignore
import { ResourceQuota } from '../models';
// @ts-ignore
import { ResourceQuotaList } from '../models';
// @ts-ignore
import { ResourceQuotaRequest } from '../models';
// @ts-ignore
import { ResourceReview } from '../models';
// @ts-ignore
import { ResourceReviewRequest } from '../models';
// @ts-ignore
import { Role } from '../models';
// @ts-ignore
import { RoleBinding } from '../models';
// @ts-ignore
import { RoleBindingCreateRequest } from '../models';
// @ts-ignore
import { RoleBindingList } from '../models';
// @ts-ignore
import { RoleBindingRequest } from '../models';
// @ts-ignore
import { RoleList } from '../models';
// @ts-ignore
import { SKU } from '../models';
// @ts-ignore
import { SelfAccessReview } from '../models';
// @ts-ignore
import { SelfEntitlementStatus } from '../models';
// @ts-ignore
import { SelfFeatureReview } from '../models';
// @ts-ignore
import { SelfResourceReview } from '../models';
// @ts-ignore
import { SelfResourceReviewRequest } from '../models';
// @ts-ignore
import { SelfServiceLandingPageSchema } from '../models';
// @ts-ignore
import { SelfTermsReview } from '../models';
// @ts-ignore
import { SkuList } from '../models';
// @ts-ignore
import { SkuRules } from '../models';
// @ts-ignore
import { SkuRulesList } from '../models';
// @ts-ignore
import { Subscription } from '../models';
// @ts-ignore
import { SubscriptionCreateRequest } from '../models';
// @ts-ignore
import { SubscriptionList } from '../models';
// @ts-ignore
import { SubscriptionMetricList } from '../models';
// @ts-ignore
import { SubscriptionPatchRequest } from '../models';
// @ts-ignore
import { SubscriptionRoleBinding } from '../models';
// @ts-ignore
import { SubscriptionRoleBindingCreateRequest } from '../models';
// @ts-ignore
import { SubscriptionRoleBindingList } from '../models';
// @ts-ignore
import { Summary } from '../models';
// @ts-ignore
import { SupportCasesCreatedResponse } from '../models';
// @ts-ignore
import { SupportCasesRequest } from '../models';
// @ts-ignore
import { TermsReview } from '../models';
// @ts-ignore
import { TermsReviewResponse } from '../models';
// @ts-ignore
import { TokenAuthorizationRequest } from '../models';
// @ts-ignore
import { TokenAuthorizationResponse } from '../models';
/**
 * DefaultApi - axios parameter creator
 * @export
 */
export const DefaultApiAxiosParamCreator = function (configuration?: Configuration) {
  return {
    /**
     *
     * @summary Return access token generated from registries in docker format
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1AccessTokenPost: async (
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      const localVarPath = `/api/accounts_mgmt/v1/access_token`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Returns a list of accounts
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {string} [orderBy] Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
     * @param {string} [fields] Supplies a comma-separated list of fields to be returned. Fields of sub-structures and of arrays use &lt;structure&gt;.&lt;field&gt; notation. &lt;stucture&gt;.* means all field of a structure Example: For each Subscription to get id, href, plan(id and kind) and labels (all fields)  &#x60;&#x60;&#x60; ocm get subscriptions --parameter fields&#x3D;id,href,plan.id,plan.kind,labels.* --parameter fetchLabels&#x3D;true &#x60;&#x60;&#x60;
     * @param {boolean} [fetchLabels] If true, includes the labels on a subscription/organization/account in the output. Could slow request response time.
     * @param {boolean} [fetchCapabilities] If true, includes the capabilities on a subscription in the output. Could slow request response time.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1AccountsGet: async (
      page?: number,
      size?: number,
      search?: string,
      orderBy?: string,
      fields?: string,
      fetchLabels?: boolean,
      fetchCapabilities?: boolean,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      const localVarPath = `/api/accounts_mgmt/v1/accounts`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

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

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

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

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

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

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Delete an account by id
     * @param {string} id The id of record
     * @param {boolean} [deleteAssociatedResources] If true, deletes the associated resources (e.g. role bindings) for an account along with the account itself
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1AccountsIdDelete: async (
      id: string,
      deleteAssociatedResources?: boolean,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1AccountsIdDelete', 'id', id);
      const localVarPath = `/api/accounts_mgmt/v1/accounts/{id}`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Get an account by id
     * @param {string} id The id of record
     * @param {boolean} [fetchLabels] If true, includes the labels on a subscription/organization/account in the output. Could slow request response time.
     * @param {boolean} [fetchCapabilities] If true, includes the capabilities on a subscription in the output. Could slow request response time.
     * @param {boolean} [fetchRhit] If true, includes the RHIT account_id in the output. Could slow request response time.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1AccountsIdGet: async (
      id: string,
      fetchLabels?: boolean,
      fetchCapabilities?: boolean,
      fetchRhit?: boolean,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1AccountsIdGet', 'id', id);
      const localVarPath = `/api/accounts_mgmt/v1/accounts/{id}`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

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

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Returns a list of labels
     * @param {string} id The id of record
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {string} [orderBy] Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1AccountsIdLabelsGet: async (
      id: string,
      page?: number,
      size?: number,
      search?: string,
      orderBy?: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1AccountsIdLabelsGet', 'id', id);
      const localVarPath = `/api/accounts_mgmt/v1/accounts/{id}/labels`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

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

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

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Delete a label
     * @param {string} id The id of record
     * @param {string} key The key of the label
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1AccountsIdLabelsKeyDelete: async (
      id: string,
      key: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1AccountsIdLabelsKeyDelete', 'id', id);
      // verify required parameter 'key' is not null or undefined
      assertParamExists('apiAccountsMgmtV1AccountsIdLabelsKeyDelete', 'key', key);
      const localVarPath = `/api/accounts_mgmt/v1/accounts/{id}/labels/{key}`
        .replace(`{${'id'}}`, encodeURIComponent(String(id)))
        .replace(`{${'key'}}`, encodeURIComponent(String(key)));
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Get account labels by label key
     * @param {string} id The id of record
     * @param {string} key The key of the label
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1AccountsIdLabelsKeyGet: async (
      id: string,
      key: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1AccountsIdLabelsKeyGet', 'id', id);
      // verify required parameter 'key' is not null or undefined
      assertParamExists('apiAccountsMgmtV1AccountsIdLabelsKeyGet', 'key', key);
      const localVarPath = `/api/accounts_mgmt/v1/accounts/{id}/labels/{key}`
        .replace(`{${'id'}}`, encodeURIComponent(String(id)))
        .replace(`{${'key'}}`, encodeURIComponent(String(key)));
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Create a new label or update an existing label
     * @param {string} id The id of record
     * @param {string} key The key of the label
     * @param {Label} label Label data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1AccountsIdLabelsKeyPatch: async (
      id: string,
      key: string,
      label: Label,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1AccountsIdLabelsKeyPatch', 'id', id);
      // verify required parameter 'key' is not null or undefined
      assertParamExists('apiAccountsMgmtV1AccountsIdLabelsKeyPatch', 'key', key);
      // verify required parameter 'label' is not null or undefined
      assertParamExists('apiAccountsMgmtV1AccountsIdLabelsKeyPatch', 'label', label);
      const localVarPath = `/api/accounts_mgmt/v1/accounts/{id}/labels/{key}`
        .replace(`{${'id'}}`, encodeURIComponent(String(id)))
        .replace(`{${'key'}}`, encodeURIComponent(String(key)));
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        label,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Create a new label or update an existing label
     * @param {string} id The id of record
     * @param {Label} label Label data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1AccountsIdLabelsPost: async (
      id: string,
      label: Label,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1AccountsIdLabelsPost', 'id', id);
      // verify required parameter 'label' is not null or undefined
      assertParamExists('apiAccountsMgmtV1AccountsIdLabelsPost', 'label', label);
      const localVarPath = `/api/accounts_mgmt/v1/accounts/{id}/labels`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        label,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Update an account
     * @param {string} id The id of record
     * @param {AccountPatchRequest} accountPatchRequest Updated account data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1AccountsIdPatch: async (
      id: string,
      accountPatchRequest: AccountPatchRequest,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1AccountsIdPatch', 'id', id);
      // verify required parameter 'accountPatchRequest' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1AccountsIdPatch',
        'accountPatchRequest',
        accountPatchRequest,
      );
      const localVarPath = `/api/accounts_mgmt/v1/accounts/{id}`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        accountPatchRequest,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary List of pull secrets rotation
     * @param {string} id The id of record
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {string} [orderBy] Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1AccountsIdPullSecretRotationGet: async (
      id: string,
      page?: number,
      size?: number,
      search?: string,
      orderBy?: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1AccountsIdPullSecretRotationGet', 'id', id);
      const localVarPath = `/api/accounts_mgmt/v1/accounts/{id}/pull_secret_rotation`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 AccessToken required
      await setApiKeyToObject(localVarHeaderParameter, 'Authorization', configuration);

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

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

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

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

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Initiate pull secret rotation for this account id
     * @param {string} id The id of record
     * @param {PullSecretRotationRequest} [pullSecretRotationRequest] The contents of the pull secret rotation creation request
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1AccountsIdPullSecretRotationPost: async (
      id: string,
      pullSecretRotationRequest?: PullSecretRotationRequest,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1AccountsIdPullSecretRotationPost', 'id', id);
      const localVarPath = `/api/accounts_mgmt/v1/accounts/{id}/pull_secret_rotation`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        pullSecretRotationRequest,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Delete a single Pull Secret Rotation record
     * @param {string} id The id of record
     * @param {string} rotationId The id of the pull secret rotation
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1AccountsIdPullSecretRotationRotationIdDelete: async (
      id: string,
      rotationId: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1AccountsIdPullSecretRotationRotationIdDelete', 'id', id);
      // verify required parameter 'rotationId' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1AccountsIdPullSecretRotationRotationIdDelete',
        'rotationId',
        rotationId,
      );
      const localVarPath = `/api/accounts_mgmt/v1/accounts/{id}/pull_secret_rotation/{rotationId}`
        .replace(`{${'id'}}`, encodeURIComponent(String(id)))
        .replace(`{${'rotationId'}}`, encodeURIComponent(String(rotationId)));
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Get a pull secret rotation by id for a specific account
     * @param {string} id The id of record
     * @param {string} rotationId The id of the pull secret rotation
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1AccountsIdPullSecretRotationRotationIdGet: async (
      id: string,
      rotationId: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1AccountsIdPullSecretRotationRotationIdGet', 'id', id);
      // verify required parameter 'rotationId' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1AccountsIdPullSecretRotationRotationIdGet',
        'rotationId',
        rotationId,
      );
      const localVarPath = `/api/accounts_mgmt/v1/accounts/{id}/pull_secret_rotation/{rotationId}`
        .replace(`{${'id'}}`, encodeURIComponent(String(id)))
        .replace(`{${'rotationId'}}`, encodeURIComponent(String(rotationId)));
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Create a new account
     * @param {Account} account Account data
     * @param {boolean} [dryRun] If true, instructs API to avoid making any changes, but rather run through validations only.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1AccountsPost: async (
      account: Account,
      dryRun?: boolean,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'account' is not null or undefined
      assertParamExists('apiAccountsMgmtV1AccountsPost', 'account', account);
      const localVarPath = `/api/accounts_mgmt/v1/accounts`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Returns a list of available billing models
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1BillingModelsGet: async (
      page?: number,
      size?: number,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      const localVarPath = `/api/accounts_mgmt/v1/billing_models`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Get a billing model
     * @param {string} id The id of record
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1BillingModelsIdGet: async (
      id: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1BillingModelsIdGet', 'id', id);
      const localVarPath = `/api/accounts_mgmt/v1/billing_models/{id}`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Returns a list of available capabilities
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1CapabilitiesGet: async (
      page?: number,
      size?: number,
      search?: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      const localVarPath = `/api/accounts_mgmt/v1/capabilities`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

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

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Fetch certificates of a particular type
     * @param {CertificatesRequest} certificatesRequest # The payload depends on the type of the requested certificate The examples for supported types: * {\&quot;type\&quot;: \&quot;sca\&quot;, \&quot;arch\&quot;: \&quot;x86_64\&quot;}
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1CertificatesPost: async (
      certificatesRequest: CertificatesRequest,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'certificatesRequest' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1CertificatesPost',
        'certificatesRequest',
        certificatesRequest,
      );
      const localVarPath = `/api/accounts_mgmt/v1/certificates`;
      // 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 AccessToken required
      await setApiKeyToObject(localVarHeaderParameter, 'Authorization', configuration);

      // authentication Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        certificatesRequest,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Returns a list of cloud resources
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1CloudResourcesGet: async (
      page?: number,
      size?: number,
      search?: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      const localVarPath = `/api/accounts_mgmt/v1/cloud_resources`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

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

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Delete a cloud resource
     * @param {string} id The id of record
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1CloudResourcesIdDelete: async (
      id: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1CloudResourcesIdDelete', 'id', id);
      const localVarPath = `/api/accounts_mgmt/v1/cloud_resources/{id}`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Get a cloud resource
     * @param {string} id The id of record
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1CloudResourcesIdGet: async (
      id: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1CloudResourcesIdGet', 'id', id);
      const localVarPath = `/api/accounts_mgmt/v1/cloud_resources/{id}`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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 a cloud resource
     * @param {string} id The id of record
     * @param {CloudResource} cloudResource Updated cloud resource data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1CloudResourcesIdPatch: async (
      id: string,
      cloudResource: CloudResource,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1CloudResourcesIdPatch', 'id', id);
      // verify required parameter 'cloudResource' is not null or undefined
      assertParamExists('apiAccountsMgmtV1CloudResourcesIdPatch', 'cloudResource', cloudResource);
      const localVarPath = `/api/accounts_mgmt/v1/cloud_resources/{id}`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        cloudResource,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Create a new cloud resource
     * @param {CloudResource} cloudResource Cloud resource data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1CloudResourcesPost: async (
      cloudResource: CloudResource,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'cloudResource' is not null or undefined
      assertParamExists('apiAccountsMgmtV1CloudResourcesPost', 'cloudResource', cloudResource);
      const localVarPath = `/api/accounts_mgmt/v1/cloud_resources`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        cloudResource,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Authorizes new cluster creation against an exsiting RH Subscription.
     * @param {ClusterAuthorizationRequest} clusterAuthorizationRequest Cluster and authorization data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1ClusterAuthorizationsPost: async (
      clusterAuthorizationRequest: ClusterAuthorizationRequest,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'clusterAuthorizationRequest' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1ClusterAuthorizationsPost',
        'clusterAuthorizationRequest',
        clusterAuthorizationRequest,
      );
      const localVarPath = `/api/accounts_mgmt/v1/cluster_authorizations`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        clusterAuthorizationRequest,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Finds or creates a cluster registration with a registy credential token and cluster ID
     * @param {ClusterRegistrationRequest} clusterRegistrationRequest Cluster and authorization data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1ClusterRegistrationsPost: async (
      clusterRegistrationRequest: ClusterRegistrationRequest,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'clusterRegistrationRequest' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1ClusterRegistrationsPost',
        'clusterRegistrationRequest',
        clusterRegistrationRequest,
      );
      const localVarPath = `/api/accounts_mgmt/v1/cluster_registrations`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        clusterRegistrationRequest,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary List cluster transfers - returns either an empty result set or a valid ClusterTransfer instance that is within a valid transfer window.
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {string} [orderBy] Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1ClusterTransfersGet: async (
      page?: number,
      size?: number,
      search?: string,
      orderBy?: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      const localVarPath = `/api/accounts_mgmt/v1/cluster_transfers`;
      // 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 AccessToken required
      await setApiKeyToObject(localVarHeaderParameter, 'Authorization', configuration);

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

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

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

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

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Update specific cluster transfer
     * @param {string} id The id of record
     * @param {ClusterTransferPatchRequest} clusterTransferPatchRequest Updated cluster transfer
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1ClusterTransfersIdPatch: async (
      id: string,
      clusterTransferPatchRequest: ClusterTransferPatchRequest,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1ClusterTransfersIdPatch', 'id', id);
      // verify required parameter 'clusterTransferPatchRequest' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1ClusterTransfersIdPatch',
        'clusterTransferPatchRequest',
        clusterTransferPatchRequest,
      );
      const localVarPath = `/api/accounts_mgmt/v1/cluster_transfers/{id}`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        clusterTransferPatchRequest,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Initiate cluster transfer.
     * @param {ClusterTransferRequest} clusterTransferRequest The contents of the cluster transfer creation request
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1ClusterTransfersPost: async (
      clusterTransferRequest: ClusterTransferRequest,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'clusterTransferRequest' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1ClusterTransfersPost',
        'clusterTransferRequest',
        clusterTransferRequest,
      );
      const localVarPath = `/api/accounts_mgmt/v1/cluster_transfers`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        clusterTransferRequest,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Returns a list of skus
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1ConfigSkusGet: async (
      page?: number,
      size?: number,
      search?: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      const localVarPath = `/api/accounts_mgmt/v1/config/skus`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

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

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Delete a sku
     * @param {string} id The id of record
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1ConfigSkusIdDelete: async (
      id: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1ConfigSkusIdDelete', 'id', id);
      const localVarPath = `/api/accounts_mgmt/v1/config/skus/{id}`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Get a sku
     * @param {string} id The id of record
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1ConfigSkusIdGet: async (
      id: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1ConfigSkusIdGet', 'id', id);
      const localVarPath = `/api/accounts_mgmt/v1/config/skus/{id}`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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 a Sku
     * @param {string} id The id of record
     * @param {SKU} sKU Updated sku data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1ConfigSkusIdPatch: async (
      id: string,
      sKU: SKU,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1ConfigSkusIdPatch', 'id', id);
      // verify required parameter 'sKU' is not null or undefined
      assertParamExists('apiAccountsMgmtV1ConfigSkusIdPatch', 'sKU', sKU);
      const localVarPath = `/api/accounts_mgmt/v1/config/skus/{id}`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        sKU,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Create a new sku
     * @param {SKU} sKU Sku data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1ConfigSkusPost: async (
      sKU: SKU,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'sKU' is not null or undefined
      assertParamExists('apiAccountsMgmtV1ConfigSkusPost', 'sKU', sKU);
      const localVarPath = `/api/accounts_mgmt/v1/config/skus`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        sKU,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Get the authenticated account
     * @param {boolean} [fetchLabels] If true, includes the labels on a subscription/organization/account in the output. Could slow request response time.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1CurrentAccountGet: async (
      fetchLabels?: boolean,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      const localVarPath = `/api/accounts_mgmt/v1/current_account`;
      // 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 AccessToken required
      await setApiKeyToObject(localVarHeaderParameter, 'Authorization', configuration);

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

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Returns a list of default capabilities
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1DefaultCapabilitiesGet: async (
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      const localVarPath = `/api/accounts_mgmt/v1/default_capabilities`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Delete a default capability
     * @param {string} name The name of the default capability
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1DefaultCapabilitiesNameDelete: async (
      name: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'name' is not null or undefined
      assertParamExists('apiAccountsMgmtV1DefaultCapabilitiesNameDelete', 'name', name);
      const localVarPath = `/api/accounts_mgmt/v1/default_capabilities/{name}`.replace(
        `{${'name'}}`,
        encodeURIComponent(String(name)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Get default capability by label name
     * @param {string} name The name of the default capability
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1DefaultCapabilitiesNameGet: async (
      name: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'name' is not null or undefined
      assertParamExists('apiAccountsMgmtV1DefaultCapabilitiesNameGet', 'name', name);
      const localVarPath = `/api/accounts_mgmt/v1/default_capabilities/{name}`.replace(
        `{${'name'}}`,
        encodeURIComponent(String(name)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Create a new default capability or update an existing one
     * @param {string} name The name of the default capability
     * @param {DefaultCapability} defaultCapability Default capability data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1DefaultCapabilitiesNamePatch: async (
      name: string,
      defaultCapability: DefaultCapability,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'name' is not null or undefined
      assertParamExists('apiAccountsMgmtV1DefaultCapabilitiesNamePatch', 'name', name);
      // verify required parameter 'defaultCapability' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1DefaultCapabilitiesNamePatch',
        'defaultCapability',
        defaultCapability,
      );
      const localVarPath = `/api/accounts_mgmt/v1/default_capabilities/{name}`.replace(
        `{${'name'}}`,
        encodeURIComponent(String(name)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        defaultCapability,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Create a new default capability or update an existing one
     * @param {DefaultCapability} defaultCapability Label data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1DefaultCapabilitiesPost: async (
      defaultCapability: DefaultCapability,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'defaultCapability' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1DefaultCapabilitiesPost',
        'defaultCapability',
        defaultCapability,
      );
      const localVarPath = `/api/accounts_mgmt/v1/default_capabilities`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        defaultCapability,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Returns a list of deleted subscriptions
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {string} [orderBy] Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1DeletedSubscriptionsGet: async (
      page?: number,
      size?: number,
      search?: string,
      orderBy?: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      const localVarPath = `/api/accounts_mgmt/v1/deleted_subscriptions`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

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

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

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Fetches a deleted subscription by id
     * @param {string} id The id of record
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1DeletedSubscriptionsIdGet: async (
      id: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1DeletedSubscriptionsIdGet', 'id', id);
      const localVarPath = `/api/accounts_mgmt/v1/deleted_subscriptions/{id}`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Returns a list of errors
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1ErrorsGet: async (
      page?: number,
      size?: number,
      search?: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      const localVarPath = `/api/accounts_mgmt/v1/errors`;
      // 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;

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

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

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Get an error by id
     * @param {string} id The id of record
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1ErrorsIdGet: async (
      id: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1ErrorsIdGet', 'id', id);
      const localVarPath = `/api/accounts_mgmt/v1/errors/{id}`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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;

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Query a feature toggle by id
     * @param {string} id The id of record
     * @param {FeatureToggleQueryRequest} featureToggleQueryRequest The context of the query
     * @param {*} [options] Override http request option.
     * @deprecated
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1FeatureTogglesIdQueryPost: async (
      id: string,
      featureToggleQueryRequest: FeatureToggleQueryRequest,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1FeatureTogglesIdQueryPost', 'id', id);
      // verify required parameter 'featureToggleQueryRequest' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1FeatureTogglesIdQueryPost',
        'featureToggleQueryRequest',
        featureToggleQueryRequest,
      );
      const localVarPath = `/api/accounts_mgmt/v1/feature_toggles/{id}/query`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        featureToggleQueryRequest,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Returns a list of labels
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {string} [orderBy] Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1LabelsGet: async (
      page?: number,
      size?: number,
      search?: string,
      orderBy?: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      const localVarPath = `/api/accounts_mgmt/v1/labels`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

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

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

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Get a console.redhat.com landing page content JSON schema
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1LandingPageSelfServiceGet: async (
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      const localVarPath = `/api/accounts_mgmt/v1/landing_page/self_service`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Returns a list of metrics
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1MetricsGet: async (
      search?: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      const localVarPath = `/api/accounts_mgmt/v1/metrics`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Notify the owner of cluster/subscription
     * @param {NotificationRequest} notificationRequest The contents of the notification to send to the owner of a cluster/subscription in addition to the set of template parameters which are sent automatically ACCOUNT_USERNAME, FIRST_NAME, LAST_NAME, ORGANIZATION_NAME, ORGANIZATION_EXTERNAL_ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1NotifyPost: async (
      notificationRequest: NotificationRequest,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'notificationRequest' is not null or undefined
      assertParamExists('apiAccountsMgmtV1NotifyPost', 'notificationRequest', notificationRequest);
      const localVarPath = `/api/accounts_mgmt/v1/notify`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        notificationRequest,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Returns a list of organizations
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {string} [orderBy] Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
     * @param {boolean} [fetchLabels] If true, includes the labels on a subscription/organization/account in the output. Could slow request response time.
     * @param {boolean} [fetchCapabilities] If true, includes the capabilities on a subscription in the output. Could slow request response time.
     * @param {string} [fields] Supplies a comma-separated list of fields to be returned. Fields of sub-structures and of arrays use &lt;structure&gt;.&lt;field&gt; notation. &lt;stucture&gt;.* means all field of a structure Example: For each Subscription to get id, href, plan(id and kind) and labels (all fields)  &#x60;&#x60;&#x60; ocm get subscriptions --parameter fields&#x3D;id,href,plan.id,plan.kind,labels.* --parameter fetchLabels&#x3D;true &#x60;&#x60;&#x60;
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsGet: async (
      page?: number,
      size?: number,
      search?: string,
      orderBy?: string,
      fetchLabels?: boolean,
      fetchCapabilities?: boolean,
      fields?: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      const localVarPath = `/api/accounts_mgmt/v1/organizations`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

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

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

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

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

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

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Get an organization by id
     * @param {string} id The id of record
     * @param {boolean} [fetchLabels] If true, includes the labels on a subscription/organization/account in the output. Could slow request response time.
     * @param {boolean} [fetchCapabilities] If true, includes the capabilities on a subscription in the output. Could slow request response time.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsIdGet: async (
      id: string,
      fetchLabels?: boolean,
      fetchCapabilities?: boolean,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1OrganizationsIdGet', 'id', id);
      const localVarPath = `/api/accounts_mgmt/v1/organizations/{id}`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Returns a list of labels
     * @param {string} id The id of record
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {string} [orderBy] Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsIdLabelsGet: async (
      id: string,
      page?: number,
      size?: number,
      search?: string,
      orderBy?: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1OrganizationsIdLabelsGet', 'id', id);
      const localVarPath = `/api/accounts_mgmt/v1/organizations/{id}/labels`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

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

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

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Delete a label
     * @param {string} id The id of record
     * @param {string} key The key of the label
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsIdLabelsKeyDelete: async (
      id: string,
      key: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1OrganizationsIdLabelsKeyDelete', 'id', id);
      // verify required parameter 'key' is not null or undefined
      assertParamExists('apiAccountsMgmtV1OrganizationsIdLabelsKeyDelete', 'key', key);
      const localVarPath = `/api/accounts_mgmt/v1/organizations/{id}/labels/{key}`
        .replace(`{${'id'}}`, encodeURIComponent(String(id)))
        .replace(`{${'key'}}`, encodeURIComponent(String(key)));
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Get organization labels by label key
     * @param {string} id The id of record
     * @param {string} key The key of the label
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsIdLabelsKeyGet: async (
      id: string,
      key: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1OrganizationsIdLabelsKeyGet', 'id', id);
      // verify required parameter 'key' is not null or undefined
      assertParamExists('apiAccountsMgmtV1OrganizationsIdLabelsKeyGet', 'key', key);
      const localVarPath = `/api/accounts_mgmt/v1/organizations/{id}/labels/{key}`
        .replace(`{${'id'}}`, encodeURIComponent(String(id)))
        .replace(`{${'key'}}`, encodeURIComponent(String(key)));
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Create a new label or update an existing label
     * @param {string} id The id of record
     * @param {string} key The key of the label
     * @param {Label} label Label data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsIdLabelsKeyPatch: async (
      id: string,
      key: string,
      label: Label,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1OrganizationsIdLabelsKeyPatch', 'id', id);
      // verify required parameter 'key' is not null or undefined
      assertParamExists('apiAccountsMgmtV1OrganizationsIdLabelsKeyPatch', 'key', key);
      // verify required parameter 'label' is not null or undefined
      assertParamExists('apiAccountsMgmtV1OrganizationsIdLabelsKeyPatch', 'label', label);
      const localVarPath = `/api/accounts_mgmt/v1/organizations/{id}/labels/{key}`
        .replace(`{${'id'}}`, encodeURIComponent(String(id)))
        .replace(`{${'key'}}`, encodeURIComponent(String(key)));
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        label,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Create a new label or update an existing label
     * @param {string} id The id of record
     * @param {Label} label Label data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsIdLabelsPost: async (
      id: string,
      label: Label,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1OrganizationsIdLabelsPost', 'id', id);
      // verify required parameter 'label' is not null or undefined
      assertParamExists('apiAccountsMgmtV1OrganizationsIdLabelsPost', 'label', label);
      const localVarPath = `/api/accounts_mgmt/v1/organizations/{id}/labels`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        label,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Update an organization
     * @param {string} id The id of record
     * @param {OrganizationPatchRequest} organizationPatchRequest Updated organization data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsIdPatch: async (
      id: string,
      organizationPatchRequest: OrganizationPatchRequest,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1OrganizationsIdPatch', 'id', id);
      // verify required parameter 'organizationPatchRequest' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1OrganizationsIdPatch',
        'organizationPatchRequest',
        organizationPatchRequest,
      );
      const localVarPath = `/api/accounts_mgmt/v1/organizations/{id}`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        organizationPatchRequest,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Returns a summary of organizations clusters based on metrics
     * @param {string} id The id of record
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsIdSummaryDashboardGet: async (
      id: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1OrganizationsIdSummaryDashboardGet', 'id', id);
      const localVarPath = `/api/accounts_mgmt/v1/organizations/{id}/summary_dashboard`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Delete an account group assignment
     * @param {string} orgId The id of organization
     * @param {string} acctGrpAsgnId The id of account group assignment
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsAcctGrpAsgnIdDelete: async (
      orgId: string,
      acctGrpAsgnId: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'orgId' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsAcctGrpAsgnIdDelete',
        'orgId',
        orgId,
      );
      // verify required parameter 'acctGrpAsgnId' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsAcctGrpAsgnIdDelete',
        'acctGrpAsgnId',
        acctGrpAsgnId,
      );
      const localVarPath =
        `/api/accounts_mgmt/v1/organizations/{orgId}/account_group_assignments/{acctGrpAsgnId}`
          .replace(`{${'orgId'}}`, encodeURIComponent(String(orgId)))
          .replace(`{${'acctGrpAsgnId'}}`, encodeURIComponent(String(acctGrpAsgnId)));
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Get account group assignment by id
     * @param {string} orgId The id of organization
     * @param {string} acctGrpAsgnId The id of account group assignment
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsAcctGrpAsgnIdGet: async (
      orgId: string,
      acctGrpAsgnId: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'orgId' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsAcctGrpAsgnIdGet',
        'orgId',
        orgId,
      );
      // verify required parameter 'acctGrpAsgnId' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsAcctGrpAsgnIdGet',
        'acctGrpAsgnId',
        acctGrpAsgnId,
      );
      const localVarPath =
        `/api/accounts_mgmt/v1/organizations/{orgId}/account_group_assignments/{acctGrpAsgnId}`
          .replace(`{${'orgId'}}`, encodeURIComponent(String(orgId)))
          .replace(`{${'acctGrpAsgnId'}}`, encodeURIComponent(String(acctGrpAsgnId)));
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Returns a list of account group assignments for the given org
     * @param {string} orgId The id of organization
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {string} [orderBy] Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsGet: async (
      orgId: string,
      page?: number,
      size?: number,
      search?: string,
      orderBy?: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'orgId' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsGet',
        'orgId',
        orgId,
      );
      const localVarPath =
        `/api/accounts_mgmt/v1/organizations/{orgId}/account_group_assignments`.replace(
          `{${'orgId'}}`,
          encodeURIComponent(String(orgId)),
        );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

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

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

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Create a new AccountGroupAssignment
     * @param {string} orgId The id of organization
     * @param {AccountGroupAssignment} accountGroupAssignment New AccountGroup data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsPost: async (
      orgId: string,
      accountGroupAssignment: AccountGroupAssignment,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'orgId' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsPost',
        'orgId',
        orgId,
      );
      // verify required parameter 'accountGroupAssignment' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsPost',
        'accountGroupAssignment',
        accountGroupAssignment,
      );
      const localVarPath =
        `/api/accounts_mgmt/v1/organizations/{orgId}/account_group_assignments`.replace(
          `{${'orgId'}}`,
          encodeURIComponent(String(orgId)),
        );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        accountGroupAssignment,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Delete an account group
     * @param {string} orgId The id of organization
     * @param {string} acctGrpId The id of account group
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdDelete: async (
      orgId: string,
      acctGrpId: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'orgId' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdDelete',
        'orgId',
        orgId,
      );
      // verify required parameter 'acctGrpId' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdDelete',
        'acctGrpId',
        acctGrpId,
      );
      const localVarPath = `/api/accounts_mgmt/v1/organizations/{orgId}/account_groups/{acctGrpId}`
        .replace(`{${'orgId'}}`, encodeURIComponent(String(orgId)))
        .replace(`{${'acctGrpId'}}`, encodeURIComponent(String(acctGrpId)));
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Get account group by id
     * @param {string} orgId The id of organization
     * @param {string} acctGrpId The id of account group
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdGet: async (
      orgId: string,
      acctGrpId: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'orgId' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdGet',
        'orgId',
        orgId,
      );
      // verify required parameter 'acctGrpId' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdGet',
        'acctGrpId',
        acctGrpId,
      );
      const localVarPath = `/api/accounts_mgmt/v1/organizations/{orgId}/account_groups/{acctGrpId}`
        .replace(`{${'orgId'}}`, encodeURIComponent(String(orgId)))
        .replace(`{${'acctGrpId'}}`, encodeURIComponent(String(acctGrpId)));
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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 an account group
     * @param {string} orgId The id of organization
     * @param {string} acctGrpId The id of account group
     * @param {AccountGroupRequest} accountGroupRequest Updated account group data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdPatch: async (
      orgId: string,
      acctGrpId: string,
      accountGroupRequest: AccountGroupRequest,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'orgId' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdPatch',
        'orgId',
        orgId,
      );
      // verify required parameter 'acctGrpId' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdPatch',
        'acctGrpId',
        acctGrpId,
      );
      // verify required parameter 'accountGroupRequest' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdPatch',
        'accountGroupRequest',
        accountGroupRequest,
      );
      const localVarPath = `/api/accounts_mgmt/v1/organizations/{orgId}/account_groups/{acctGrpId}`
        .replace(`{${'orgId'}}`, encodeURIComponent(String(orgId)))
        .replace(`{${'acctGrpId'}}`, encodeURIComponent(String(acctGrpId)));
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        accountGroupRequest,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Returns a list of account groups for the given org
     * @param {string} orgId The id of organization
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {string} [orderBy] Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsGet: async (
      orgId: string,
      page?: number,
      size?: number,
      search?: string,
      orderBy?: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'orgId' is not null or undefined
      assertParamExists('apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsGet', 'orgId', orgId);
      const localVarPath = `/api/accounts_mgmt/v1/organizations/{orgId}/account_groups`.replace(
        `{${'orgId'}}`,
        encodeURIComponent(String(orgId)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

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

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

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Create a new AccountGroup
     * @param {string} orgId The id of organization
     * @param {AccountGroupRequest} accountGroupRequest New AccountGroup data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsPost: async (
      orgId: string,
      accountGroupRequest: AccountGroupRequest,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'orgId' is not null or undefined
      assertParamExists('apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsPost', 'orgId', orgId);
      // verify required parameter 'accountGroupRequest' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsPost',
        'accountGroupRequest',
        accountGroupRequest,
      );
      const localVarPath = `/api/accounts_mgmt/v1/organizations/{orgId}/account_groups`.replace(
        `{${'orgId'}}`,
        encodeURIComponent(String(orgId)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        accountGroupRequest,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Returns a list of consumed quota for an organization
     * @param {string} orgId The id of organization
     * @param {boolean} [forceRecalc] If true, includes that ConsumedQuota should be recalculated.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsOrgIdConsumedQuotaGet: async (
      orgId: string,
      forceRecalc?: boolean,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'orgId' is not null or undefined
      assertParamExists('apiAccountsMgmtV1OrganizationsOrgIdConsumedQuotaGet', 'orgId', orgId);
      const localVarPath = `/api/accounts_mgmt/v1/organizations/{orgId}/consumed_quota`.replace(
        `{${'orgId'}}`,
        encodeURIComponent(String(orgId)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Returns a summary of quota cost
     * @param {string} orgId The id of organization
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {boolean} [fetchRelatedResources] If true, includes the related resources in the output. Could slow request response time.
     * @param {boolean} [forceRecalc] If true, includes that ConsumedQuota should be recalculated.
     * @param {boolean} [fetchCloudAccounts] If true, includes the marketplace cloud accounts in the output. Could slow request response time.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsOrgIdQuotaCostGet: async (
      orgId: string,
      search?: string,
      page?: number,
      size?: number,
      fetchRelatedResources?: boolean,
      forceRecalc?: boolean,
      fetchCloudAccounts?: boolean,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'orgId' is not null or undefined
      assertParamExists('apiAccountsMgmtV1OrganizationsOrgIdQuotaCostGet', 'orgId', orgId);
      const localVarPath = `/api/accounts_mgmt/v1/organizations/{orgId}/quota_cost`.replace(
        `{${'orgId'}}`,
        encodeURIComponent(String(orgId)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

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

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

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

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

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Returns a list of resource quota objects
     * @param {string} orgId The id of organization
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {string} [orderBy] Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaGet: async (
      orgId: string,
      page?: number,
      size?: number,
      search?: string,
      orderBy?: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'orgId' is not null or undefined
      assertParamExists('apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaGet', 'orgId', orgId);
      const localVarPath = `/api/accounts_mgmt/v1/organizations/{orgId}/resource_quota`.replace(
        `{${'orgId'}}`,
        encodeURIComponent(String(orgId)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

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

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

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Create a new resource quota
     * @param {string} orgId The id of organization
     * @param {ResourceQuotaRequest} resourceQuotaRequest Resource quota data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaPost: async (
      orgId: string,
      resourceQuotaRequest: ResourceQuotaRequest,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'orgId' is not null or undefined
      assertParamExists('apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaPost', 'orgId', orgId);
      // verify required parameter 'resourceQuotaRequest' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaPost',
        'resourceQuotaRequest',
        resourceQuotaRequest,
      );
      const localVarPath = `/api/accounts_mgmt/v1/organizations/{orgId}/resource_quota`.replace(
        `{${'orgId'}}`,
        encodeURIComponent(String(orgId)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        resourceQuotaRequest,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Delete a resource quota
     * @param {string} orgId The id of organization
     * @param {string} quotaId The id of quota
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdDelete: async (
      orgId: string,
      quotaId: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'orgId' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdDelete',
        'orgId',
        orgId,
      );
      // verify required parameter 'quotaId' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdDelete',
        'quotaId',
        quotaId,
      );
      const localVarPath = `/api/accounts_mgmt/v1/organizations/{orgId}/resource_quota/{quotaId}`
        .replace(`{${'orgId'}}`, encodeURIComponent(String(orgId)))
        .replace(`{${'quotaId'}}`, encodeURIComponent(String(quotaId)));
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Get a resource quota by id
     * @param {string} orgId The id of organization
     * @param {string} quotaId The id of quota
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdGet: async (
      orgId: string,
      quotaId: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'orgId' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdGet',
        'orgId',
        orgId,
      );
      // verify required parameter 'quotaId' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdGet',
        'quotaId',
        quotaId,
      );
      const localVarPath = `/api/accounts_mgmt/v1/organizations/{orgId}/resource_quota/{quotaId}`
        .replace(`{${'orgId'}}`, encodeURIComponent(String(orgId)))
        .replace(`{${'quotaId'}}`, encodeURIComponent(String(quotaId)));
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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 a resource quota
     * @param {string} orgId The id of organization
     * @param {string} quotaId The id of quota
     * @param {ResourceQuotaRequest} resourceQuotaRequest Updated resource quota data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdPatch: async (
      orgId: string,
      quotaId: string,
      resourceQuotaRequest: ResourceQuotaRequest,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'orgId' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdPatch',
        'orgId',
        orgId,
      );
      // verify required parameter 'quotaId' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdPatch',
        'quotaId',
        quotaId,
      );
      // verify required parameter 'resourceQuotaRequest' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdPatch',
        'resourceQuotaRequest',
        resourceQuotaRequest,
      );
      const localVarPath = `/api/accounts_mgmt/v1/organizations/{orgId}/resource_quota/{quotaId}`
        .replace(`{${'orgId'}}`, encodeURIComponent(String(orgId)))
        .replace(`{${'quotaId'}}`, encodeURIComponent(String(quotaId)));
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        resourceQuotaRequest,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Create a new organization
     * @param {Organization} organization Organization data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsPost: async (
      organization: Organization,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'organization' is not null or undefined
      assertParamExists('apiAccountsMgmtV1OrganizationsPost', 'organization', organization);
      const localVarPath = `/api/accounts_mgmt/v1/organizations`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        organization,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Get all plans
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1PlansGet: async (
      page?: number,
      size?: number,
      search?: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      const localVarPath = `/api/accounts_mgmt/v1/plans`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

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

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Get a plan by id
     * @param {string} id The id of record
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1PlansIdGet: async (
      id: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1PlansIdGet', 'id', id);
      const localVarPath = `/api/accounts_mgmt/v1/plans/{id}`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Delete a pull secret
     * @param {string} externalResourceId The external resource id of record
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1PullSecretsExternalResourceIdDelete: async (
      externalResourceId: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'externalResourceId' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1PullSecretsExternalResourceIdDelete',
        'externalResourceId',
        externalResourceId,
      );
      const localVarPath = `/api/accounts_mgmt/v1/pull_secrets/{externalResourceId}`.replace(
        `{${'externalResourceId'}}`,
        encodeURIComponent(String(externalResourceId)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Return access token generated from registries in docker format
     * @param {PullSecretRequest} pullSecretRequest Identifier of the resource in the external service that this pull secret relates to
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1PullSecretsPost: async (
      pullSecretRequest: PullSecretRequest,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'pullSecretRequest' is not null or undefined
      assertParamExists('apiAccountsMgmtV1PullSecretsPost', 'pullSecretRequest', pullSecretRequest);
      const localVarPath = `/api/accounts_mgmt/v1/pull_secrets`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        pullSecretRequest,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Authorizes a user to consume or release a single quantity of quota
     * @param {QuotaAuthorizationRequest} quotaAuthorizationRequest User data and intention
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1QuotaAuthorizationsPost: async (
      quotaAuthorizationRequest: QuotaAuthorizationRequest,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'quotaAuthorizationRequest' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1QuotaAuthorizationsPost',
        'quotaAuthorizationRequest',
        quotaAuthorizationRequest,
      );
      const localVarPath = `/api/accounts_mgmt/v1/quota_authorizations`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        quotaAuthorizationRequest,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Returns a summary of quota cost for the authenticated user
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {boolean} [fetchRelatedResources] If true, includes the related resources in the output. Could slow request response time.
     * @param {boolean} [fetchCloudAccounts] If true, includes the marketplace cloud accounts in the output. Could slow request response time.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1QuotaCostGet: async (
      search?: string,
      page?: number,
      size?: number,
      fetchRelatedResources?: boolean,
      fetchCloudAccounts?: boolean,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      const localVarPath = `/api/accounts_mgmt/v1/quota_cost`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

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

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

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

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Returns a list of UHC product Quota Rules
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1QuotaRulesGet: async (
      page?: number,
      size?: number,
      search?: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      const localVarPath = `/api/accounts_mgmt/v1/quota_rules`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

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

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Returns a list of quotas
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1QuotasGet: async (
      page?: number,
      size?: number,
      search?: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      const localVarPath = `/api/accounts_mgmt/v1/quotas`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

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

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Delete a quota
     * @param {string} id The id of record
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1QuotasIdDelete: async (
      id: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1QuotasIdDelete', 'id', id);
      const localVarPath = `/api/accounts_mgmt/v1/quotas/{id}`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Get a quota
     * @param {string} id The id of record
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1QuotasIdGet: async (
      id: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1QuotasIdGet', 'id', id);
      const localVarPath = `/api/accounts_mgmt/v1/quotas/{id}`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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 a quota
     * @param {string} id The id of record
     * @param {Quota} quota Updated quota data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1QuotasIdPatch: async (
      id: string,
      quota: Quota,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1QuotasIdPatch', 'id', id);
      // verify required parameter 'quota' is not null or undefined
      assertParamExists('apiAccountsMgmtV1QuotasIdPatch', 'quota', quota);
      const localVarPath = `/api/accounts_mgmt/v1/quotas/{id}`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        quota,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Create a new quota
     * @param {Quota} quota Quota data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1QuotasPost: async (
      quota: Quota,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'quota' is not null or undefined
      assertParamExists('apiAccountsMgmtV1QuotasPost', 'quota', quota);
      const localVarPath = `/api/accounts_mgmt/v1/quotas`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        quota,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Returns a list of registries
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {string} [orderBy] Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1RegistriesGet: async (
      page?: number,
      size?: number,
      search?: string,
      orderBy?: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      const localVarPath = `/api/accounts_mgmt/v1/registries`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

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

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

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Get an registry by id
     * @param {string} id The id of record
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1RegistriesIdGet: async (
      id: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1RegistriesIdGet', 'id', id);
      const localVarPath = `/api/accounts_mgmt/v1/registries/{id}`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     * List Registry Credentials
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {string} [orderBy] Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1RegistryCredentialsGet: async (
      page?: number,
      size?: number,
      search?: string,
      orderBy?: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      const localVarPath = `/api/accounts_mgmt/v1/registry_credentials`;
      // 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;

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

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

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

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Delete a registry credential by id
     * @param {string} id The id of record
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1RegistryCredentialsIdDelete: async (
      id: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1RegistryCredentialsIdDelete', 'id', id);
      const localVarPath = `/api/accounts_mgmt/v1/registry_credentials/{id}`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Get a registry credentials by id
     * @param {string} id The id of record
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1RegistryCredentialsIdGet: async (
      id: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1RegistryCredentialsIdGet', 'id', id);
      const localVarPath = `/api/accounts_mgmt/v1/registry_credentials/{id}`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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 a registry credential
     * @param {string} id The id of record
     * @param {RegistryCredentialPatchRequest} registryCredentialPatchRequest Updated registry credential data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1RegistryCredentialsIdPatch: async (
      id: string,
      registryCredentialPatchRequest: RegistryCredentialPatchRequest,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1RegistryCredentialsIdPatch', 'id', id);
      // verify required parameter 'registryCredentialPatchRequest' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1RegistryCredentialsIdPatch',
        'registryCredentialPatchRequest',
        registryCredentialPatchRequest,
      );
      const localVarPath = `/api/accounts_mgmt/v1/registry_credentials/{id}`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        registryCredentialPatchRequest,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Request the creation of a registry credential
     * @param {RegistryCredential} registryCredential Registry credential data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1RegistryCredentialsPost: async (
      registryCredential: RegistryCredential,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'registryCredential' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1RegistryCredentialsPost',
        'registryCredential',
        registryCredential,
      );
      const localVarPath = `/api/accounts_mgmt/v1/registry_credentials`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        registryCredential,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Returns a list of reserved resources
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {string} [orderBy] Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1ReservedResourcesGet: async (
      page?: number,
      size?: number,
      search?: string,
      orderBy?: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      const localVarPath = `/api/accounts_mgmt/v1/reserved_resources`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

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

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

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Returns a list of resource quota objects
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {string} [orderBy] Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1ResourceQuotaGet: async (
      page?: number,
      size?: number,
      search?: string,
      orderBy?: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      const localVarPath = `/api/accounts_mgmt/v1/resource_quota`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

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

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

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Returns a list of role bindings
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {string} [orderBy] Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1RoleBindingsGet: async (
      page?: number,
      size?: number,
      search?: string,
      orderBy?: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      const localVarPath = `/api/accounts_mgmt/v1/role_bindings`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

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

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

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Delete a role binding
     * @param {string} id The id of record
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1RoleBindingsIdDelete: async (
      id: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1RoleBindingsIdDelete', 'id', id);
      const localVarPath = `/api/accounts_mgmt/v1/role_bindings/{id}`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Get a role binding
     * @param {string} id The id of record
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1RoleBindingsIdGet: async (
      id: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1RoleBindingsIdGet', 'id', id);
      const localVarPath = `/api/accounts_mgmt/v1/role_bindings/{id}`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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 a role binding
     * @param {string} id The id of record
     * @param {RoleBindingRequest} roleBindingRequest Updated role binding data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1RoleBindingsIdPatch: async (
      id: string,
      roleBindingRequest: RoleBindingRequest,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1RoleBindingsIdPatch', 'id', id);
      // verify required parameter 'roleBindingRequest' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1RoleBindingsIdPatch',
        'roleBindingRequest',
        roleBindingRequest,
      );
      const localVarPath = `/api/accounts_mgmt/v1/role_bindings/{id}`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        roleBindingRequest,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Create a new role binding
     * @param {RoleBindingCreateRequest} roleBindingCreateRequest Role binding data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1RoleBindingsPost: async (
      roleBindingCreateRequest: RoleBindingCreateRequest,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'roleBindingCreateRequest' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1RoleBindingsPost',
        'roleBindingCreateRequest',
        roleBindingCreateRequest,
      );
      const localVarPath = `/api/accounts_mgmt/v1/role_bindings`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        roleBindingCreateRequest,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Returns a list of roles
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1RolesGet: async (
      page?: number,
      size?: number,
      search?: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      const localVarPath = `/api/accounts_mgmt/v1/roles`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

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

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Get a role by id
     * @param {string} id The id of record
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1RolesIdGet: async (
      id: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1RolesIdGet', 'id', id);
      const localVarPath = `/api/accounts_mgmt/v1/roles/{id}`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Create or renew the entitlement to support a product for the user\'s organization.
     * @param {string} product The product for self_entitlement. The supported products are [rosa].
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SelfEntitlementProductPost: async (
      product: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'product' is not null or undefined
      assertParamExists('apiAccountsMgmtV1SelfEntitlementProductPost', 'product', product);
      const localVarPath = `/api/accounts_mgmt/v1/self_entitlement/{product}`.replace(
        `{${'product'}}`,
        encodeURIComponent(String(product)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Returns a list of UHC product SKU Rules
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SkuRulesGet: async (
      search?: string,
      page?: number,
      size?: number,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      const localVarPath = `/api/accounts_mgmt/v1/sku_rules`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

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

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Delete a sku rule
     * @param {string} id The id of record
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SkuRulesIdDelete: async (
      id: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1SkuRulesIdDelete', 'id', id);
      const localVarPath = `/api/accounts_mgmt/v1/sku_rules/{id}`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Get a sku rules by id
     * @param {string} id The id of record
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SkuRulesIdGet: async (
      id: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1SkuRulesIdGet', 'id', id);
      const localVarPath = `/api/accounts_mgmt/v1/sku_rules/{id}`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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 a sku rule
     * @param {string} id The id of record
     * @param {SkuRules} skuRules Updated sku rule data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SkuRulesIdPatch: async (
      id: string,
      skuRules: SkuRules,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1SkuRulesIdPatch', 'id', id);
      // verify required parameter 'skuRules' is not null or undefined
      assertParamExists('apiAccountsMgmtV1SkuRulesIdPatch', 'skuRules', skuRules);
      const localVarPath = `/api/accounts_mgmt/v1/sku_rules/{id}`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        skuRules,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Create a new sku rule
     * @param {SkuRules} skuRules Sku rule data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SkuRulesPost: async (
      skuRules: SkuRules,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'skuRules' is not null or undefined
      assertParamExists('apiAccountsMgmtV1SkuRulesPost', 'skuRules', skuRules);
      const localVarPath = `/api/accounts_mgmt/v1/sku_rules`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        skuRules,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Returns a list of UHC product SKUs
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {*} [options] Override http request option.
     * @deprecated
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SkusGet: async (
      search?: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      const localVarPath = `/api/accounts_mgmt/v1/skus`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Get a sku by id
     * @param {string} id The id of record
     * @param {*} [options] Override http request option.
     * @deprecated
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SkusIdGet: async (
      id: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1SkusIdGet', 'id', id);
      const localVarPath = `/api/accounts_mgmt/v1/skus/{id}`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Returns a list of subscriptions
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {boolean} [fetchAccounts] If true, includes the account reference information in the output. Could slow request response time.
     * @param {boolean} [fetchLabels] If true, includes the labels on a subscription/organization/account in the output. Could slow request response time.
     * @param {boolean} [fetchCapabilities] If true, includes the capabilities on a subscription in the output. Could slow request response time.
     * @param {string} [fields] Supplies a comma-separated list of fields to be returned. Fields of sub-structures and of arrays use &lt;structure&gt;.&lt;field&gt; notation. &lt;stucture&gt;.* means all field of a structure Example: For each Subscription to get id, href, plan(id and kind) and labels (all fields)  &#x60;&#x60;&#x60; ocm get subscriptions --parameter fields&#x3D;id,href,plan.id,plan.kind,labels.* --parameter fetchLabels&#x3D;true &#x60;&#x60;&#x60;
     * @param {string} [orderBy] Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
     * @param {string} [labels] Specifies the criteria to filter the subscription resource based on their labels. A label is represented as a &#x60;key&#x3D;value&#x60; pair,  &#x60;&#x60;&#x60; labels &#x3D; \&quot;foo&#x3D;bar\&quot; &#x60;&#x60;&#x60;  and multiple labels are separated by comma,  &#x60;&#x60;&#x60; labels &#x3D; \&quot;foo&#x3D;bar,fooz&#x3D;barz\&quot; &#x60;&#x60;&#x60;
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsGet: async (
      page?: number,
      size?: number,
      search?: string,
      fetchAccounts?: boolean,
      fetchLabels?: boolean,
      fetchCapabilities?: boolean,
      fields?: string,
      orderBy?: string,
      labels?: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      const localVarPath = `/api/accounts_mgmt/v1/subscriptions`;
      // 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 AccessToken required
      await setApiKeyToObject(localVarHeaderParameter, 'Authorization', configuration);

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

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

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

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

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

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

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

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

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

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Deletes a subscription by id
     * @param {string} id The id of record
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsIdDelete: async (
      id: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1SubscriptionsIdDelete', 'id', id);
      const localVarPath = `/api/accounts_mgmt/v1/subscriptions/{id}`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Get a subscription by id
     * @param {string} id The id of record
     * @param {boolean} [fetchAccounts] If true, includes the account reference information in the output. Could slow request response time.
     * @param {boolean} [fetchLabels] If true, includes the labels on a subscription/organization/account in the output. Could slow request response time.
     * @param {boolean} [fetchCapabilities] If true, includes the capabilities on a subscription in the output. Could slow request response time.
     * @param {boolean} [fetchCpuAndSocket] If true, fetches, from the clusters service, the total numbers of CPU\&#39;s and sockets under an obligation, and includes in the output. Could slow request response time.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsIdGet: async (
      id: string,
      fetchAccounts?: boolean,
      fetchLabels?: boolean,
      fetchCapabilities?: boolean,
      fetchCpuAndSocket?: boolean,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1SubscriptionsIdGet', 'id', id);
      const localVarPath = `/api/accounts_mgmt/v1/subscriptions/{id}`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

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

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

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Returns a list of labels
     * @param {string} id The id of record
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {string} [orderBy] Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsIdLabelsGet: async (
      id: string,
      page?: number,
      size?: number,
      search?: string,
      orderBy?: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1SubscriptionsIdLabelsGet', 'id', id);
      const localVarPath = `/api/accounts_mgmt/v1/subscriptions/{id}/labels`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

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

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

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Delete a label
     * @param {string} id The id of record
     * @param {string} key The key of the label
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsIdLabelsKeyDelete: async (
      id: string,
      key: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1SubscriptionsIdLabelsKeyDelete', 'id', id);
      // verify required parameter 'key' is not null or undefined
      assertParamExists('apiAccountsMgmtV1SubscriptionsIdLabelsKeyDelete', 'key', key);
      const localVarPath = `/api/accounts_mgmt/v1/subscriptions/{id}/labels/{key}`
        .replace(`{${'id'}}`, encodeURIComponent(String(id)))
        .replace(`{${'key'}}`, encodeURIComponent(String(key)));
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Get subscription labels by label key
     * @param {string} id The id of record
     * @param {string} key The key of the label
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsIdLabelsKeyGet: async (
      id: string,
      key: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1SubscriptionsIdLabelsKeyGet', 'id', id);
      // verify required parameter 'key' is not null or undefined
      assertParamExists('apiAccountsMgmtV1SubscriptionsIdLabelsKeyGet', 'key', key);
      const localVarPath = `/api/accounts_mgmt/v1/subscriptions/{id}/labels/{key}`
        .replace(`{${'id'}}`, encodeURIComponent(String(id)))
        .replace(`{${'key'}}`, encodeURIComponent(String(key)));
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Create a new label or update an existing label
     * @param {string} id The id of record
     * @param {string} key The key of the label
     * @param {Label} label Label data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsIdLabelsKeyPatch: async (
      id: string,
      key: string,
      label: Label,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1SubscriptionsIdLabelsKeyPatch', 'id', id);
      // verify required parameter 'key' is not null or undefined
      assertParamExists('apiAccountsMgmtV1SubscriptionsIdLabelsKeyPatch', 'key', key);
      // verify required parameter 'label' is not null or undefined
      assertParamExists('apiAccountsMgmtV1SubscriptionsIdLabelsKeyPatch', 'label', label);
      const localVarPath = `/api/accounts_mgmt/v1/subscriptions/{id}/labels/{key}`
        .replace(`{${'id'}}`, encodeURIComponent(String(id)))
        .replace(`{${'key'}}`, encodeURIComponent(String(key)));
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        label,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Create a new label or update an existing label
     * @param {string} id The id of record
     * @param {Label} label Label data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsIdLabelsPost: async (
      id: string,
      label: Label,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1SubscriptionsIdLabelsPost', 'id', id);
      // verify required parameter 'label' is not null or undefined
      assertParamExists('apiAccountsMgmtV1SubscriptionsIdLabelsPost', 'label', label);
      const localVarPath = `/api/accounts_mgmt/v1/subscriptions/{id}/labels`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        label,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Get subscription\'s metrics by metric name
     * @param {string} id The id of record
     * @param {string} metricName The name of the metric
     * @param {string} [search] The &#x60;search&#x60; paramter specifies the PromQL selector. The syntax is defined by Prometheus at https://prometheus.io/docs/prometheus/latest/querying/basics/#time-series-selectors. It only supports simple selections as shown in https://prometheus.io/docs/prometheus/latest/querying/examples/#simple-time-series-selection. For example, in order to retrieve subscription_sync_total with names starting with &#x60;managed&#x60; and with a channel &#x3D; &#x60;production&#x60;:  &#x60;&#x60;&#x60; name&#x3D;~\&#39;managed.*\&#39;,channel&#x3D;\&#39;production\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the records will be returned.
     * @param {string} [fields] Supplies a comma-separated list of fields to be returned. Fields of sub-structures and of arrays use &lt;structure&gt;.&lt;field&gt; notation. &lt;stucture&gt;.* means all field of a structure Example: For each Subscription to get id, href, plan(id and kind) and labels (all fields)  &#x60;&#x60;&#x60; ocm get subscriptions --parameter fields&#x3D;id,href,plan.id,plan.kind,labels.* --parameter fetchLabels&#x3D;true &#x60;&#x60;&#x60;
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsIdMetricsMetricNameGet: async (
      id: string,
      metricName: string,
      search?: string,
      fields?: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1SubscriptionsIdMetricsMetricNameGet', 'id', id);
      // verify required parameter 'metricName' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1SubscriptionsIdMetricsMetricNameGet',
        'metricName',
        metricName,
      );
      const localVarPath = `/api/accounts_mgmt/v1/subscriptions/{id}/metrics/{metric_name}`
        .replace(`{${'id'}}`, encodeURIComponent(String(id)))
        .replace(`{${'metric_name'}}`, encodeURIComponent(String(metricName)));
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Notify the owner of a subscription
     * @param {string} id The id of record
     * @param {NotificationRequest} notificationRequest The contents of the notification to send to the owner of a subscription in addition to the set of template parameters which are sent automatically ACCOUNT_USERNAME, FIRST_NAME, LAST_NAME, ORGANIZATION_NAME, ORGANIZATION_EXTERNAL_ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsIdNotifyPost: async (
      id: string,
      notificationRequest: NotificationRequest,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1SubscriptionsIdNotifyPost', 'id', id);
      // verify required parameter 'notificationRequest' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1SubscriptionsIdNotifyPost',
        'notificationRequest',
        notificationRequest,
      );
      const localVarPath = `/api/accounts_mgmt/v1/subscriptions/{id}/notify`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        notificationRequest,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Update a subscription
     * @param {string} id The id of record
     * @param {SubscriptionPatchRequest} subscriptionPatchRequest Updated subscription data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsIdPatch: async (
      id: string,
      subscriptionPatchRequest: SubscriptionPatchRequest,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1SubscriptionsIdPatch', 'id', id);
      // verify required parameter 'subscriptionPatchRequest' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1SubscriptionsIdPatch',
        'subscriptionPatchRequest',
        subscriptionPatchRequest,
      );
      const localVarPath = `/api/accounts_mgmt/v1/subscriptions/{id}`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        subscriptionPatchRequest,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Returns a list of reserved resources
     * @param {string} id The id of record
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {string} [orderBy] Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsIdReservedResourcesGet: async (
      id: string,
      page?: number,
      size?: number,
      search?: string,
      orderBy?: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1SubscriptionsIdReservedResourcesGet', 'id', id);
      const localVarPath = `/api/accounts_mgmt/v1/subscriptions/{id}/reserved_resources`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

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

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

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Returns a list of open support creates opened against the external cluster id of this subscrption
     * @param {string} id The id of record
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsIdSupportCasesGet: async (
      id: string,
      page?: number,
      size?: number,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1SubscriptionsIdSupportCasesGet', 'id', id);
      const localVarPath = `/api/accounts_mgmt/v1/subscriptions/{id}/support_cases`.replace(
        `{${'id'}}`,
        encodeURIComponent(String(id)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Create a new subscription
     * @param {SubscriptionCreateRequest} subscriptionCreateRequest Subscription Creation data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsPost: async (
      subscriptionCreateRequest: SubscriptionCreateRequest,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'subscriptionCreateRequest' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1SubscriptionsPost',
        'subscriptionCreateRequest',
        subscriptionCreateRequest,
      );
      const localVarPath = `/api/accounts_mgmt/v1/subscriptions`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        subscriptionCreateRequest,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Deletes a notification contact by subscription and account id
     * @param {string} subId The id of subscription
     * @param {string} accountId The id of account
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsSubIdNotificationContactsAccountIdDelete: async (
      subId: string,
      accountId: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'subId' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1SubscriptionsSubIdNotificationContactsAccountIdDelete',
        'subId',
        subId,
      );
      // verify required parameter 'accountId' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1SubscriptionsSubIdNotificationContactsAccountIdDelete',
        'accountId',
        accountId,
      );
      const localVarPath =
        `/api/accounts_mgmt/v1/subscriptions/{subId}/notification_contacts/{accountId}`
          .replace(`{${'subId'}}`, encodeURIComponent(String(subId)))
          .replace(`{${'accountId'}}`, encodeURIComponent(String(accountId)));
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Returns a list of notification contacts for the given subscription
     * @param {string} subId The id of subscription
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {string} [fields] Supplies a comma-separated list of fields to be returned. Fields of sub-structures and of arrays use &lt;structure&gt;.&lt;field&gt; notation. &lt;stucture&gt;.* means all field of a structure Example: For each Subscription to get id, href, plan(id and kind) and labels (all fields)  &#x60;&#x60;&#x60; ocm get subscriptions --parameter fields&#x3D;id,href,plan.id,plan.kind,labels.* --parameter fetchLabels&#x3D;true &#x60;&#x60;&#x60;
     * @param {string} [orderBy] Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsSubIdNotificationContactsGet: async (
      subId: string,
      page?: number,
      size?: number,
      search?: string,
      fields?: string,
      orderBy?: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'subId' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1SubscriptionsSubIdNotificationContactsGet',
        'subId',
        subId,
      );
      const localVarPath =
        `/api/accounts_mgmt/v1/subscriptions/{subId}/notification_contacts`.replace(
          `{${'subId'}}`,
          encodeURIComponent(String(subId)),
        );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

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

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

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

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Add an account as a notification contact to this subscription
     * @param {string} subId The id of subscription
     * @param {NotificationContactCreateRequest} notificationContactCreateRequest Add a notification contact by an account\&#39;s username
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsSubIdNotificationContactsPost: async (
      subId: string,
      notificationContactCreateRequest: NotificationContactCreateRequest,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'subId' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1SubscriptionsSubIdNotificationContactsPost',
        'subId',
        subId,
      );
      // verify required parameter 'notificationContactCreateRequest' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1SubscriptionsSubIdNotificationContactsPost',
        'notificationContactCreateRequest',
        notificationContactCreateRequest,
      );
      const localVarPath =
        `/api/accounts_mgmt/v1/subscriptions/{subId}/notification_contacts`.replace(
          `{${'subId'}}`,
          encodeURIComponent(String(subId)),
        );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        notificationContactCreateRequest,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Delete reserved resources by id
     * @param {string} subId The id of subscription
     * @param {string} reservedResourceId The id of reserved resource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdDelete: async (
      subId: string,
      reservedResourceId: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'subId' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdDelete',
        'subId',
        subId,
      );
      // verify required parameter 'reservedResourceId' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdDelete',
        'reservedResourceId',
        reservedResourceId,
      );
      const localVarPath =
        `/api/accounts_mgmt/v1/subscriptions/{subId}/reserved_resources/{reservedResourceId}`
          .replace(`{${'subId'}}`, encodeURIComponent(String(subId)))
          .replace(`{${'reservedResourceId'}}`, encodeURIComponent(String(reservedResourceId)));
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Get reserved resources by id
     * @param {string} subId The id of subscription
     * @param {string} reservedResourceId The id of reserved resource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdGet: async (
      subId: string,
      reservedResourceId: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'subId' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdGet',
        'subId',
        subId,
      );
      // verify required parameter 'reservedResourceId' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdGet',
        'reservedResourceId',
        reservedResourceId,
      );
      const localVarPath =
        `/api/accounts_mgmt/v1/subscriptions/{subId}/reserved_resources/{reservedResourceId}`
          .replace(`{${'subId'}}`, encodeURIComponent(String(subId)))
          .replace(`{${'reservedResourceId'}}`, encodeURIComponent(String(reservedResourceId)));
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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 a reserved resource
     * @param {string} subId The id of subscription
     * @param {string} reservedResourceId The id of reserved resource
     * @param {ReservedResourcePatchRequest} reservedResourcePatchRequest Updated reserved resource data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdPatch: async (
      subId: string,
      reservedResourceId: string,
      reservedResourcePatchRequest: ReservedResourcePatchRequest,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'subId' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdPatch',
        'subId',
        subId,
      );
      // verify required parameter 'reservedResourceId' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdPatch',
        'reservedResourceId',
        reservedResourceId,
      );
      // verify required parameter 'reservedResourcePatchRequest' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdPatch',
        'reservedResourcePatchRequest',
        reservedResourcePatchRequest,
      );
      const localVarPath =
        `/api/accounts_mgmt/v1/subscriptions/{subId}/reserved_resources/{reservedResourceId}`
          .replace(`{${'subId'}}`, encodeURIComponent(String(subId)))
          .replace(`{${'reservedResourceId'}}`, encodeURIComponent(String(reservedResourceId)));
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        reservedResourcePatchRequest,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Get subscription role bindings
     * @param {string} subId The id of subscription
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {string} [orderBy] Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
     * @param {boolean} [fetchAccounts] If true, includes the account reference information in the output. Could slow request response time.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsSubIdRoleBindingsGet: async (
      subId: string,
      page?: number,
      size?: number,
      search?: string,
      orderBy?: string,
      fetchAccounts?: boolean,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'subId' is not null or undefined
      assertParamExists('apiAccountsMgmtV1SubscriptionsSubIdRoleBindingsGet', 'subId', subId);
      const localVarPath = `/api/accounts_mgmt/v1/subscriptions/{subId}/role_bindings`.replace(
        `{${'subId'}}`,
        encodeURIComponent(String(subId)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

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

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

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

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Delete a subscription role binding
     * @param {string} id The id of record
     * @param {string} subId The id of subscription
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsSubIdRoleBindingsIdDelete: async (
      id: string,
      subId: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1SubscriptionsSubIdRoleBindingsIdDelete', 'id', id);
      // verify required parameter 'subId' is not null or undefined
      assertParamExists('apiAccountsMgmtV1SubscriptionsSubIdRoleBindingsIdDelete', 'subId', subId);
      const localVarPath = `/api/accounts_mgmt/v1/subscriptions/{subId}/role_bindings/{id}`
        .replace(`{${'id'}}`, encodeURIComponent(String(id)))
        .replace(`{${'subId'}}`, encodeURIComponent(String(subId)));
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Get a Subscription Role Binding by id
     * @param {string} id The id of record
     * @param {string} subId The id of subscription
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsSubIdRoleBindingsIdGet: async (
      id: string,
      subId: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'id' is not null or undefined
      assertParamExists('apiAccountsMgmtV1SubscriptionsSubIdRoleBindingsIdGet', 'id', id);
      // verify required parameter 'subId' is not null or undefined
      assertParamExists('apiAccountsMgmtV1SubscriptionsSubIdRoleBindingsIdGet', 'subId', subId);
      const localVarPath = `/api/accounts_mgmt/v1/subscriptions/{subId}/role_bindings/{id}`
        .replace(`{${'id'}}`, encodeURIComponent(String(id)))
        .replace(`{${'subId'}}`, encodeURIComponent(String(subId)));
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Create a new subscription role binding
     * @param {string} subId The id of subscription
     * @param {SubscriptionRoleBindingCreateRequest} subscriptionRoleBindingCreateRequest Subscription role binding data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsSubIdRoleBindingsPost: async (
      subId: string,
      subscriptionRoleBindingCreateRequest: SubscriptionRoleBindingCreateRequest,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'subId' is not null or undefined
      assertParamExists('apiAccountsMgmtV1SubscriptionsSubIdRoleBindingsPost', 'subId', subId);
      // verify required parameter 'subscriptionRoleBindingCreateRequest' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1SubscriptionsSubIdRoleBindingsPost',
        'subscriptionRoleBindingCreateRequest',
        subscriptionRoleBindingCreateRequest,
      );
      const localVarPath = `/api/accounts_mgmt/v1/subscriptions/{subId}/role_bindings`.replace(
        `{${'subId'}}`,
        encodeURIComponent(String(subId)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        subscriptionRoleBindingCreateRequest,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Delete a support case
     * @param {string} caseId The id of a support case
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SupportCasesCaseIdDelete: async (
      caseId: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'caseId' is not null or undefined
      assertParamExists('apiAccountsMgmtV1SupportCasesCaseIdDelete', 'caseId', caseId);
      const localVarPath = `/api/accounts_mgmt/v1/support_cases/{caseId}`.replace(
        `{${'caseId'}}`,
        encodeURIComponent(String(caseId)),
      );
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary create a support case for the subscription
     * @param {SupportCasesRequest} supportCasesRequest The contents of the support case to be created
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SupportCasesPost: async (
      supportCasesRequest: SupportCasesRequest,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'supportCasesRequest' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1SupportCasesPost',
        'supportCasesRequest',
        supportCasesRequest,
      );
      const localVarPath = `/api/accounts_mgmt/v1/support_cases`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        supportCasesRequest,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Finds the account owner of the provided token
     * @param {TokenAuthorizationRequest} tokenAuthorizationRequest Token authorization data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1TokenAuthorizationPost: async (
      tokenAuthorizationRequest: TokenAuthorizationRequest,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'tokenAuthorizationRequest' is not null or undefined
      assertParamExists(
        'apiAccountsMgmtV1TokenAuthorizationPost',
        'tokenAuthorizationRequest',
        tokenAuthorizationRequest,
      );
      const localVarPath = `/api/accounts_mgmt/v1/token_authorization`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        tokenAuthorizationRequest,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Review an account\'s access to perform an action on a particular resource or resource type
     * @param {AccessReview} accessReview Access review data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAuthorizationsV1AccessReviewPost: async (
      accessReview: AccessReview,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'accessReview' is not null or undefined
      assertParamExists('apiAuthorizationsV1AccessReviewPost', 'accessReview', accessReview);
      const localVarPath = `/api/authorizations/v1/access_review`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        accessReview,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Review an account\'s capabilities
     * @param {CapabilityReviewRequest} capabilityReviewRequest Capability review data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAuthorizationsV1CapabilityReviewPost: async (
      capabilityReviewRequest: CapabilityReviewRequest,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'capabilityReviewRequest' is not null or undefined
      assertParamExists(
        'apiAuthorizationsV1CapabilityReviewPost',
        'capabilityReviewRequest',
        capabilityReviewRequest,
      );
      const localVarPath = `/api/authorizations/v1/capability_review`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        capabilityReviewRequest,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Determine whether a user is restricted from downloading Red Hat software based on export control compliance.
     * @param {ExportControlReviewRequest} exportControlReviewRequest Export control review data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAuthorizationsV1ExportControlReviewPost: async (
      exportControlReviewRequest: ExportControlReviewRequest,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'exportControlReviewRequest' is not null or undefined
      assertParamExists(
        'apiAuthorizationsV1ExportControlReviewPost',
        'exportControlReviewRequest',
        exportControlReviewRequest,
      );
      const localVarPath = `/api/authorizations/v1/export_control_review`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        exportControlReviewRequest,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Review feature to perform an action on it such as toggle a feature on/off
     * @param {FeatureReview} featureReview Feature review data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAuthorizationsV1FeatureReviewPost: async (
      featureReview: FeatureReview,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'featureReview' is not null or undefined
      assertParamExists('apiAuthorizationsV1FeatureReviewPost', 'featureReview', featureReview);
      const localVarPath = `/api/authorizations/v1/feature_review`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        featureReview,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Obtain resource ids for resources an account may perform the specified action upon. Resource ids returned as [\"*\"] is shorthand for all ids.
     * @param {ResourceReviewRequest} resourceReviewRequest Resource review data
     * @param {boolean} [reduceClusterList] If true, When returning a list of cluster_ids/cluster_uuids/subscription_ids, if those are already included in one of the organizations provided in organization_ids, do not include it in the list.
     * @param {string} [excludeSubscriptionStatuses] A comma-separated list of subscription statuses. Subscriptions with these statuses will be excluded from results. This options is mutually exclusive with includeSubscriptionStatuses.
     * @param {string} [includeSubscriptionStatuses] A comma-separated list of subscription statuses. Only subscriptions with these statuses will be included into results. This options is mutually exclusive with excludeSubscriptionStatuses.
     * @param {*} [options] Override http request option.
     * @deprecated
     * @throws {RequiredError}
     */
    apiAuthorizationsV1ResourceReviewPost: async (
      resourceReviewRequest: ResourceReviewRequest,
      reduceClusterList?: boolean,
      excludeSubscriptionStatuses?: string,
      includeSubscriptionStatuses?: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'resourceReviewRequest' is not null or undefined
      assertParamExists(
        'apiAuthorizationsV1ResourceReviewPost',
        'resourceReviewRequest',
        resourceReviewRequest,
      );
      const localVarPath = `/api/authorizations/v1/resource_review`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

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

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

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Review your ability to perform an action on a particular resource or resource type
     * @param {SelfAccessReview} selfAccessReview Self access review data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAuthorizationsV1SelfAccessReviewPost: async (
      selfAccessReview: SelfAccessReview,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'selfAccessReview' is not null or undefined
      assertParamExists(
        'apiAuthorizationsV1SelfAccessReviewPost',
        'selfAccessReview',
        selfAccessReview,
      );
      const localVarPath = `/api/authorizations/v1/self_access_review`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        selfAccessReview,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Review your ability to toggle a feature
     * @param {SelfFeatureReview} selfFeatureReview Self feature review data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAuthorizationsV1SelfFeatureReviewPost: async (
      selfFeatureReview: SelfFeatureReview,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'selfFeatureReview' is not null or undefined
      assertParamExists(
        'apiAuthorizationsV1SelfFeatureReviewPost',
        'selfFeatureReview',
        selfFeatureReview,
      );
      const localVarPath = `/api/authorizations/v1/self_feature_review`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        selfFeatureReview,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Obtain resource ids for resources you may perform the specified action upon. Resource ids returned as [\"*\"] is shorthand for all ids.
     * @param {SelfResourceReviewRequest} selfResourceReviewRequest Self resource review data
     * @param {boolean} [reduceClusterList] If true, When returning a list of cluster_ids/cluster_uuids/subscription_ids, if those are already included in one of the organizations provided in organization_ids, do not include it in the list.
     * @param {string} [excludeSubscriptionStatuses] A comma-separated list of subscription statuses. Subscriptions with these statuses will be excluded from results. This options is mutually exclusive with includeSubscriptionStatuses.
     * @param {string} [includeSubscriptionStatuses] A comma-separated list of subscription statuses. Only subscriptions with these statuses will be included into results. This options is mutually exclusive with excludeSubscriptionStatuses.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAuthorizationsV1SelfResourceReviewPost: async (
      selfResourceReviewRequest: SelfResourceReviewRequest,
      reduceClusterList?: boolean,
      excludeSubscriptionStatuses?: string,
      includeSubscriptionStatuses?: string,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'selfResourceReviewRequest' is not null or undefined
      assertParamExists(
        'apiAuthorizationsV1SelfResourceReviewPost',
        'selfResourceReviewRequest',
        selfResourceReviewRequest,
      );
      const localVarPath = `/api/authorizations/v1/self_resource_review`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, configuration);

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

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

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

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

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

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Review your status of Terms
     * @param {SelfTermsReview} selfTermsReview Data to check self terms for
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAuthorizationsV1SelfTermsReviewPost: async (
      selfTermsReview: SelfTermsReview,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'selfTermsReview' is not null or undefined
      assertParamExists(
        'apiAuthorizationsV1SelfTermsReviewPost',
        'selfTermsReview',
        selfTermsReview,
      );
      const localVarPath = `/api/authorizations/v1/self_terms_review`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        selfTermsReview,
        localVarRequestOptions,
        configuration,
      );

      return {
        url: toPathString(localVarUrlObj),
        options: localVarRequestOptions,
      };
    },
    /**
     *
     * @summary Review an account\'s status of Terms
     * @param {TermsReview} termsReview Data to check terms for
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAuthorizationsV1TermsReviewPost: async (
      termsReview: TermsReview,
      options: AxiosRequestConfig = {},
    ): Promise<RequestArgs> => {
      // verify required parameter 'termsReview' is not null or undefined
      assertParamExists('apiAuthorizationsV1TermsReviewPost', 'termsReview', termsReview);
      const localVarPath = `/api/authorizations/v1/terms_review`;
      // 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 Bearer required
      // http bearer authentication required
      await setBearerAuthToObject(localVarHeaderParameter, 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(
        termsReview,
        localVarRequestOptions,
        configuration,
      );

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

/**
 * DefaultApi - functional programming interface
 * @export
 */
export const DefaultApiFp = function (configuration?: Configuration) {
  const localVarAxiosParamCreator = DefaultApiAxiosParamCreator(configuration);
  return {
    /**
     *
     * @summary Return access token generated from registries in docker format
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1AccessTokenPost(
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AccessTokenCfg>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1AccessTokenPost(
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Returns a list of accounts
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {string} [orderBy] Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
     * @param {string} [fields] Supplies a comma-separated list of fields to be returned. Fields of sub-structures and of arrays use &lt;structure&gt;.&lt;field&gt; notation. &lt;stucture&gt;.* means all field of a structure Example: For each Subscription to get id, href, plan(id and kind) and labels (all fields)  &#x60;&#x60;&#x60; ocm get subscriptions --parameter fields&#x3D;id,href,plan.id,plan.kind,labels.* --parameter fetchLabels&#x3D;true &#x60;&#x60;&#x60;
     * @param {boolean} [fetchLabels] If true, includes the labels on a subscription/organization/account in the output. Could slow request response time.
     * @param {boolean} [fetchCapabilities] If true, includes the capabilities on a subscription in the output. Could slow request response time.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1AccountsGet(
      page?: number,
      size?: number,
      search?: string,
      orderBy?: string,
      fields?: string,
      fetchLabels?: boolean,
      fetchCapabilities?: boolean,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AccountList>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1AccountsGet(
        page,
        size,
        search,
        orderBy,
        fields,
        fetchLabels,
        fetchCapabilities,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Delete an account by id
     * @param {string} id The id of record
     * @param {boolean} [deleteAssociatedResources] If true, deletes the associated resources (e.g. role bindings) for an account along with the account itself
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1AccountsIdDelete(
      id: string,
      deleteAssociatedResources?: boolean,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1AccountsIdDelete(
        id,
        deleteAssociatedResources,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Get an account by id
     * @param {string} id The id of record
     * @param {boolean} [fetchLabels] If true, includes the labels on a subscription/organization/account in the output. Could slow request response time.
     * @param {boolean} [fetchCapabilities] If true, includes the capabilities on a subscription in the output. Could slow request response time.
     * @param {boolean} [fetchRhit] If true, includes the RHIT account_id in the output. Could slow request response time.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1AccountsIdGet(
      id: string,
      fetchLabels?: boolean,
      fetchCapabilities?: boolean,
      fetchRhit?: boolean,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Account>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1AccountsIdGet(
        id,
        fetchLabels,
        fetchCapabilities,
        fetchRhit,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Returns a list of labels
     * @param {string} id The id of record
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {string} [orderBy] Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1AccountsIdLabelsGet(
      id: string,
      page?: number,
      size?: number,
      search?: string,
      orderBy?: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<LabelList>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1AccountsIdLabelsGet(
          id,
          page,
          size,
          search,
          orderBy,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Delete a label
     * @param {string} id The id of record
     * @param {string} key The key of the label
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1AccountsIdLabelsKeyDelete(
      id: string,
      key: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1AccountsIdLabelsKeyDelete(
          id,
          key,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Get account labels by label key
     * @param {string} id The id of record
     * @param {string} key The key of the label
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1AccountsIdLabelsKeyGet(
      id: string,
      key: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Label>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1AccountsIdLabelsKeyGet(id, key, options);
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Create a new label or update an existing label
     * @param {string} id The id of record
     * @param {string} key The key of the label
     * @param {Label} label Label data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1AccountsIdLabelsKeyPatch(
      id: string,
      key: string,
      label: Label,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Label>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1AccountsIdLabelsKeyPatch(
          id,
          key,
          label,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Create a new label or update an existing label
     * @param {string} id The id of record
     * @param {Label} label Label data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1AccountsIdLabelsPost(
      id: string,
      label: Label,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Label>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1AccountsIdLabelsPost(id, label, options);
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Update an account
     * @param {string} id The id of record
     * @param {AccountPatchRequest} accountPatchRequest Updated account data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1AccountsIdPatch(
      id: string,
      accountPatchRequest: AccountPatchRequest,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Account>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1AccountsIdPatch(
        id,
        accountPatchRequest,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary List of pull secrets rotation
     * @param {string} id The id of record
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {string} [orderBy] Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1AccountsIdPullSecretRotationGet(
      id: string,
      page?: number,
      size?: number,
      search?: string,
      orderBy?: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PullSecretRotationList>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1AccountsIdPullSecretRotationGet(
          id,
          page,
          size,
          search,
          orderBy,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Initiate pull secret rotation for this account id
     * @param {string} id The id of record
     * @param {PullSecretRotationRequest} [pullSecretRotationRequest] The contents of the pull secret rotation creation request
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1AccountsIdPullSecretRotationPost(
      id: string,
      pullSecretRotationRequest?: PullSecretRotationRequest,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PullSecretRotation>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1AccountsIdPullSecretRotationPost(
          id,
          pullSecretRotationRequest,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Delete a single Pull Secret Rotation record
     * @param {string} id The id of record
     * @param {string} rotationId The id of the pull secret rotation
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1AccountsIdPullSecretRotationRotationIdDelete(
      id: string,
      rotationId: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1AccountsIdPullSecretRotationRotationIdDelete(
          id,
          rotationId,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Get a pull secret rotation by id for a specific account
     * @param {string} id The id of record
     * @param {string} rotationId The id of the pull secret rotation
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1AccountsIdPullSecretRotationRotationIdGet(
      id: string,
      rotationId: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PullSecretRotation>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1AccountsIdPullSecretRotationRotationIdGet(
          id,
          rotationId,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Create a new account
     * @param {Account} account Account data
     * @param {boolean} [dryRun] If true, instructs API to avoid making any changes, but rather run through validations only.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1AccountsPost(
      account: Account,
      dryRun?: boolean,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Account>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1AccountsPost(
        account,
        dryRun,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Returns a list of available billing models
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1BillingModelsGet(
      page?: number,
      size?: number,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<BillingModelList>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1BillingModelsGet(
        page,
        size,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Get a billing model
     * @param {string} id The id of record
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1BillingModelsIdGet(
      id: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<BillingModel>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1BillingModelsIdGet(
        id,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Returns a list of available capabilities
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1CapabilitiesGet(
      page?: number,
      size?: number,
      search?: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CapabilityList>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1CapabilitiesGet(
        page,
        size,
        search,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Fetch certificates of a particular type
     * @param {CertificatesRequest} certificatesRequest # The payload depends on the type of the requested certificate The examples for supported types: * {\&quot;type\&quot;: \&quot;sca\&quot;, \&quot;arch\&quot;: \&quot;x86_64\&quot;}
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1CertificatesPost(
      certificatesRequest: CertificatesRequest,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Certificate>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1CertificatesPost(
        certificatesRequest,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Returns a list of cloud resources
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1CloudResourcesGet(
      page?: number,
      size?: number,
      search?: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CloudResourceList>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1CloudResourcesGet(
        page,
        size,
        search,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Delete a cloud resource
     * @param {string} id The id of record
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1CloudResourcesIdDelete(
      id: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1CloudResourcesIdDelete(id, options);
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Get a cloud resource
     * @param {string} id The id of record
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1CloudResourcesIdGet(
      id: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CloudResource>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1CloudResourcesIdGet(id, options);
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Update a cloud resource
     * @param {string} id The id of record
     * @param {CloudResource} cloudResource Updated cloud resource data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1CloudResourcesIdPatch(
      id: string,
      cloudResource: CloudResource,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CloudResource>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1CloudResourcesIdPatch(
          id,
          cloudResource,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Create a new cloud resource
     * @param {CloudResource} cloudResource Cloud resource data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1CloudResourcesPost(
      cloudResource: CloudResource,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CloudResource>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1CloudResourcesPost(
        cloudResource,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Authorizes new cluster creation against an exsiting RH Subscription.
     * @param {ClusterAuthorizationRequest} clusterAuthorizationRequest Cluster and authorization data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1ClusterAuthorizationsPost(
      clusterAuthorizationRequest: ClusterAuthorizationRequest,
      options?: AxiosRequestConfig,
    ): Promise<
      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<ClusterAuthorizationResponse>
    > {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1ClusterAuthorizationsPost(
          clusterAuthorizationRequest,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Finds or creates a cluster registration with a registy credential token and cluster ID
     * @param {ClusterRegistrationRequest} clusterRegistrationRequest Cluster and authorization data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1ClusterRegistrationsPost(
      clusterRegistrationRequest: ClusterRegistrationRequest,
      options?: AxiosRequestConfig,
    ): Promise<
      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<ClusterRegistrationResponse>
    > {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1ClusterRegistrationsPost(
          clusterRegistrationRequest,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary List cluster transfers - returns either an empty result set or a valid ClusterTransfer instance that is within a valid transfer window.
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {string} [orderBy] Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1ClusterTransfersGet(
      page?: number,
      size?: number,
      search?: string,
      orderBy?: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ClusterTransferList>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1ClusterTransfersGet(
          page,
          size,
          search,
          orderBy,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Update specific cluster transfer
     * @param {string} id The id of record
     * @param {ClusterTransferPatchRequest} clusterTransferPatchRequest Updated cluster transfer
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1ClusterTransfersIdPatch(
      id: string,
      clusterTransferPatchRequest: ClusterTransferPatchRequest,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ClusterTransfer>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1ClusterTransfersIdPatch(
          id,
          clusterTransferPatchRequest,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Initiate cluster transfer.
     * @param {ClusterTransferRequest} clusterTransferRequest The contents of the cluster transfer creation request
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1ClusterTransfersPost(
      clusterTransferRequest: ClusterTransferRequest,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ClusterTransfer>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1ClusterTransfersPost(
          clusterTransferRequest,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Returns a list of skus
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1ConfigSkusGet(
      page?: number,
      size?: number,
      search?: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<SkuList>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1ConfigSkusGet(
        page,
        size,
        search,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Delete a sku
     * @param {string} id The id of record
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1ConfigSkusIdDelete(
      id: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1ConfigSkusIdDelete(
        id,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Get a sku
     * @param {string} id The id of record
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1ConfigSkusIdGet(
      id: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<SKU>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1ConfigSkusIdGet(
        id,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Update a Sku
     * @param {string} id The id of record
     * @param {SKU} sKU Updated sku data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1ConfigSkusIdPatch(
      id: string,
      sKU: SKU,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<SKU>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1ConfigSkusIdPatch(
        id,
        sKU,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Create a new sku
     * @param {SKU} sKU Sku data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1ConfigSkusPost(
      sKU: SKU,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<SKU>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1ConfigSkusPost(
        sKU,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Get the authenticated account
     * @param {boolean} [fetchLabels] If true, includes the labels on a subscription/organization/account in the output. Could slow request response time.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1CurrentAccountGet(
      fetchLabels?: boolean,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Account>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1CurrentAccountGet(
        fetchLabels,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Returns a list of default capabilities
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1DefaultCapabilitiesGet(
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<DefaultCapabilityList>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1DefaultCapabilitiesGet(options);
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Delete a default capability
     * @param {string} name The name of the default capability
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1DefaultCapabilitiesNameDelete(
      name: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1DefaultCapabilitiesNameDelete(
          name,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Get default capability by label name
     * @param {string} name The name of the default capability
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1DefaultCapabilitiesNameGet(
      name: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<DefaultCapability>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1DefaultCapabilitiesNameGet(name, options);
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Create a new default capability or update an existing one
     * @param {string} name The name of the default capability
     * @param {DefaultCapability} defaultCapability Default capability data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1DefaultCapabilitiesNamePatch(
      name: string,
      defaultCapability: DefaultCapability,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<DefaultCapability>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1DefaultCapabilitiesNamePatch(
          name,
          defaultCapability,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Create a new default capability or update an existing one
     * @param {DefaultCapability} defaultCapability Label data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1DefaultCapabilitiesPost(
      defaultCapability: DefaultCapability,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<DefaultCapability>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1DefaultCapabilitiesPost(
          defaultCapability,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Returns a list of deleted subscriptions
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {string} [orderBy] Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1DeletedSubscriptionsGet(
      page?: number,
      size?: number,
      search?: string,
      orderBy?: string,
      options?: AxiosRequestConfig,
    ): Promise<
      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<DeletedSubscriptionList>
    > {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1DeletedSubscriptionsGet(
          page,
          size,
          search,
          orderBy,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Fetches a deleted subscription by id
     * @param {string} id The id of record
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1DeletedSubscriptionsIdGet(
      id: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<DeletedSubscription>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1DeletedSubscriptionsIdGet(id, options);
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Returns a list of errors
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1ErrorsGet(
      page?: number,
      size?: number,
      search?: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ErrorList>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1ErrorsGet(
        page,
        size,
        search,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Get an error by id
     * @param {string} id The id of record
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1ErrorsIdGet(
      id: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Error>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1ErrorsIdGet(
        id,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Query a feature toggle by id
     * @param {string} id The id of record
     * @param {FeatureToggleQueryRequest} featureToggleQueryRequest The context of the query
     * @param {*} [options] Override http request option.
     * @deprecated
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1FeatureTogglesIdQueryPost(
      id: string,
      featureToggleQueryRequest: FeatureToggleQueryRequest,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<FeatureToggle>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1FeatureTogglesIdQueryPost(
          id,
          featureToggleQueryRequest,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Returns a list of labels
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {string} [orderBy] Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1LabelsGet(
      page?: number,
      size?: number,
      search?: string,
      orderBy?: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<LabelList>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1LabelsGet(
        page,
        size,
        search,
        orderBy,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Get a console.redhat.com landing page content JSON schema
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1LandingPageSelfServiceGet(
      options?: AxiosRequestConfig,
    ): Promise<
      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<SelfServiceLandingPageSchema>
    > {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1LandingPageSelfServiceGet(options);
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Returns a list of metrics
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1MetricsGet(
      search?: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<MetricsList>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1MetricsGet(
        search,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Notify the owner of cluster/subscription
     * @param {NotificationRequest} notificationRequest The contents of the notification to send to the owner of a cluster/subscription in addition to the set of template parameters which are sent automatically ACCOUNT_USERNAME, FIRST_NAME, LAST_NAME, ORGANIZATION_NAME, ORGANIZATION_EXTERNAL_ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1NotifyPost(
      notificationRequest: NotificationRequest,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1NotifyPost(
        notificationRequest,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Returns a list of organizations
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {string} [orderBy] Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
     * @param {boolean} [fetchLabels] If true, includes the labels on a subscription/organization/account in the output. Could slow request response time.
     * @param {boolean} [fetchCapabilities] If true, includes the capabilities on a subscription in the output. Could slow request response time.
     * @param {string} [fields] Supplies a comma-separated list of fields to be returned. Fields of sub-structures and of arrays use &lt;structure&gt;.&lt;field&gt; notation. &lt;stucture&gt;.* means all field of a structure Example: For each Subscription to get id, href, plan(id and kind) and labels (all fields)  &#x60;&#x60;&#x60; ocm get subscriptions --parameter fields&#x3D;id,href,plan.id,plan.kind,labels.* --parameter fetchLabels&#x3D;true &#x60;&#x60;&#x60;
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1OrganizationsGet(
      page?: number,
      size?: number,
      search?: string,
      orderBy?: string,
      fetchLabels?: boolean,
      fetchCapabilities?: boolean,
      fields?: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<OrganizationList>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1OrganizationsGet(
        page,
        size,
        search,
        orderBy,
        fetchLabels,
        fetchCapabilities,
        fields,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Get an organization by id
     * @param {string} id The id of record
     * @param {boolean} [fetchLabels] If true, includes the labels on a subscription/organization/account in the output. Could slow request response time.
     * @param {boolean} [fetchCapabilities] If true, includes the capabilities on a subscription in the output. Could slow request response time.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1OrganizationsIdGet(
      id: string,
      fetchLabels?: boolean,
      fetchCapabilities?: boolean,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Organization>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1OrganizationsIdGet(
        id,
        fetchLabels,
        fetchCapabilities,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Returns a list of labels
     * @param {string} id The id of record
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {string} [orderBy] Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1OrganizationsIdLabelsGet(
      id: string,
      page?: number,
      size?: number,
      search?: string,
      orderBy?: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<LabelList>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1OrganizationsIdLabelsGet(
          id,
          page,
          size,
          search,
          orderBy,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Delete a label
     * @param {string} id The id of record
     * @param {string} key The key of the label
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1OrganizationsIdLabelsKeyDelete(
      id: string,
      key: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1OrganizationsIdLabelsKeyDelete(
          id,
          key,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Get organization labels by label key
     * @param {string} id The id of record
     * @param {string} key The key of the label
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1OrganizationsIdLabelsKeyGet(
      id: string,
      key: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Label>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1OrganizationsIdLabelsKeyGet(
          id,
          key,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Create a new label or update an existing label
     * @param {string} id The id of record
     * @param {string} key The key of the label
     * @param {Label} label Label data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1OrganizationsIdLabelsKeyPatch(
      id: string,
      key: string,
      label: Label,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Label>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1OrganizationsIdLabelsKeyPatch(
          id,
          key,
          label,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Create a new label or update an existing label
     * @param {string} id The id of record
     * @param {Label} label Label data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1OrganizationsIdLabelsPost(
      id: string,
      label: Label,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Label>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1OrganizationsIdLabelsPost(
          id,
          label,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Update an organization
     * @param {string} id The id of record
     * @param {OrganizationPatchRequest} organizationPatchRequest Updated organization data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1OrganizationsIdPatch(
      id: string,
      organizationPatchRequest: OrganizationPatchRequest,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Organization>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1OrganizationsIdPatch(
          id,
          organizationPatchRequest,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Returns a summary of organizations clusters based on metrics
     * @param {string} id The id of record
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1OrganizationsIdSummaryDashboardGet(
      id: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Summary>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1OrganizationsIdSummaryDashboardGet(
          id,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Delete an account group assignment
     * @param {string} orgId The id of organization
     * @param {string} acctGrpAsgnId The id of account group assignment
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsAcctGrpAsgnIdDelete(
      orgId: string,
      acctGrpAsgnId: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsAcctGrpAsgnIdDelete(
          orgId,
          acctGrpAsgnId,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Get account group assignment by id
     * @param {string} orgId The id of organization
     * @param {string} acctGrpAsgnId The id of account group assignment
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsAcctGrpAsgnIdGet(
      orgId: string,
      acctGrpAsgnId: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AccountGroupAssignment>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsAcctGrpAsgnIdGet(
          orgId,
          acctGrpAsgnId,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Returns a list of account group assignments for the given org
     * @param {string} orgId The id of organization
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {string} [orderBy] Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsGet(
      orgId: string,
      page?: number,
      size?: number,
      search?: string,
      orderBy?: string,
      options?: AxiosRequestConfig,
    ): Promise<
      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<AccountGroupAssignmentList>
    > {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsGet(
          orgId,
          page,
          size,
          search,
          orderBy,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Create a new AccountGroupAssignment
     * @param {string} orgId The id of organization
     * @param {AccountGroupAssignment} accountGroupAssignment New AccountGroup data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsPost(
      orgId: string,
      accountGroupAssignment: AccountGroupAssignment,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AccountGroupAssignment>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsPost(
          orgId,
          accountGroupAssignment,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Delete an account group
     * @param {string} orgId The id of organization
     * @param {string} acctGrpId The id of account group
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdDelete(
      orgId: string,
      acctGrpId: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdDelete(
          orgId,
          acctGrpId,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Get account group by id
     * @param {string} orgId The id of organization
     * @param {string} acctGrpId The id of account group
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdGet(
      orgId: string,
      acctGrpId: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AccountGroup>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdGet(
          orgId,
          acctGrpId,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Update an account group
     * @param {string} orgId The id of organization
     * @param {string} acctGrpId The id of account group
     * @param {AccountGroupRequest} accountGroupRequest Updated account group data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdPatch(
      orgId: string,
      acctGrpId: string,
      accountGroupRequest: AccountGroupRequest,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AccountGroup>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdPatch(
          orgId,
          acctGrpId,
          accountGroupRequest,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Returns a list of account groups for the given org
     * @param {string} orgId The id of organization
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {string} [orderBy] Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsGet(
      orgId: string,
      page?: number,
      size?: number,
      search?: string,
      orderBy?: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AccountGroupList>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsGet(
          orgId,
          page,
          size,
          search,
          orderBy,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Create a new AccountGroup
     * @param {string} orgId The id of organization
     * @param {AccountGroupRequest} accountGroupRequest New AccountGroup data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsPost(
      orgId: string,
      accountGroupRequest: AccountGroupRequest,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AccountGroup>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsPost(
          orgId,
          accountGroupRequest,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Returns a list of consumed quota for an organization
     * @param {string} orgId The id of organization
     * @param {boolean} [forceRecalc] If true, includes that ConsumedQuota should be recalculated.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1OrganizationsOrgIdConsumedQuotaGet(
      orgId: string,
      forceRecalc?: boolean,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ConsumedQuotaList>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1OrganizationsOrgIdConsumedQuotaGet(
          orgId,
          forceRecalc,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Returns a summary of quota cost
     * @param {string} orgId The id of organization
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {boolean} [fetchRelatedResources] If true, includes the related resources in the output. Could slow request response time.
     * @param {boolean} [forceRecalc] If true, includes that ConsumedQuota should be recalculated.
     * @param {boolean} [fetchCloudAccounts] If true, includes the marketplace cloud accounts in the output. Could slow request response time.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1OrganizationsOrgIdQuotaCostGet(
      orgId: string,
      search?: string,
      page?: number,
      size?: number,
      fetchRelatedResources?: boolean,
      forceRecalc?: boolean,
      fetchCloudAccounts?: boolean,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<QuotaCostList>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1OrganizationsOrgIdQuotaCostGet(
          orgId,
          search,
          page,
          size,
          fetchRelatedResources,
          forceRecalc,
          fetchCloudAccounts,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Returns a list of resource quota objects
     * @param {string} orgId The id of organization
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {string} [orderBy] Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaGet(
      orgId: string,
      page?: number,
      size?: number,
      search?: string,
      orderBy?: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ResourceQuotaList>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaGet(
          orgId,
          page,
          size,
          search,
          orderBy,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Create a new resource quota
     * @param {string} orgId The id of organization
     * @param {ResourceQuotaRequest} resourceQuotaRequest Resource quota data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaPost(
      orgId: string,
      resourceQuotaRequest: ResourceQuotaRequest,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ResourceQuota>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaPost(
          orgId,
          resourceQuotaRequest,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Delete a resource quota
     * @param {string} orgId The id of organization
     * @param {string} quotaId The id of quota
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdDelete(
      orgId: string,
      quotaId: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdDelete(
          orgId,
          quotaId,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Get a resource quota by id
     * @param {string} orgId The id of organization
     * @param {string} quotaId The id of quota
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdGet(
      orgId: string,
      quotaId: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ResourceQuota>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdGet(
          orgId,
          quotaId,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Update a resource quota
     * @param {string} orgId The id of organization
     * @param {string} quotaId The id of quota
     * @param {ResourceQuotaRequest} resourceQuotaRequest Updated resource quota data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdPatch(
      orgId: string,
      quotaId: string,
      resourceQuotaRequest: ResourceQuotaRequest,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ResourceQuota>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdPatch(
          orgId,
          quotaId,
          resourceQuotaRequest,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Create a new organization
     * @param {Organization} organization Organization data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1OrganizationsPost(
      organization: Organization,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Organization>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1OrganizationsPost(
        organization,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Get all plans
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1PlansGet(
      page?: number,
      size?: number,
      search?: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PlanList>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1PlansGet(
        page,
        size,
        search,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Get a plan by id
     * @param {string} id The id of record
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1PlansIdGet(
      id: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Plan>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1PlansIdGet(
        id,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Delete a pull secret
     * @param {string} externalResourceId The external resource id of record
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1PullSecretsExternalResourceIdDelete(
      externalResourceId: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1PullSecretsExternalResourceIdDelete(
          externalResourceId,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Return access token generated from registries in docker format
     * @param {PullSecretRequest} pullSecretRequest Identifier of the resource in the external service that this pull secret relates to
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1PullSecretsPost(
      pullSecretRequest: PullSecretRequest,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AccessTokenCfg>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1PullSecretsPost(
        pullSecretRequest,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Authorizes a user to consume or release a single quantity of quota
     * @param {QuotaAuthorizationRequest} quotaAuthorizationRequest User data and intention
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1QuotaAuthorizationsPost(
      quotaAuthorizationRequest: QuotaAuthorizationRequest,
      options?: AxiosRequestConfig,
    ): Promise<
      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<QuotaAuthorizationResponse>
    > {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1QuotaAuthorizationsPost(
          quotaAuthorizationRequest,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Returns a summary of quota cost for the authenticated user
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {boolean} [fetchRelatedResources] If true, includes the related resources in the output. Could slow request response time.
     * @param {boolean} [fetchCloudAccounts] If true, includes the marketplace cloud accounts in the output. Could slow request response time.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1QuotaCostGet(
      search?: string,
      page?: number,
      size?: number,
      fetchRelatedResources?: boolean,
      fetchCloudAccounts?: boolean,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<QuotaCostList>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1QuotaCostGet(
        search,
        page,
        size,
        fetchRelatedResources,
        fetchCloudAccounts,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Returns a list of UHC product Quota Rules
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1QuotaRulesGet(
      page?: number,
      size?: number,
      search?: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<QuotaRulesList>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1QuotaRulesGet(
        page,
        size,
        search,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Returns a list of quotas
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1QuotasGet(
      page?: number,
      size?: number,
      search?: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<QuotaList>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1QuotasGet(
        page,
        size,
        search,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Delete a quota
     * @param {string} id The id of record
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1QuotasIdDelete(
      id: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1QuotasIdDelete(
        id,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Get a quota
     * @param {string} id The id of record
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1QuotasIdGet(
      id: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Quota>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1QuotasIdGet(
        id,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Update a quota
     * @param {string} id The id of record
     * @param {Quota} quota Updated quota data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1QuotasIdPatch(
      id: string,
      quota: Quota,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Quota>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1QuotasIdPatch(
        id,
        quota,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Create a new quota
     * @param {Quota} quota Quota data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1QuotasPost(
      quota: Quota,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Quota>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1QuotasPost(
        quota,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Returns a list of registries
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {string} [orderBy] Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1RegistriesGet(
      page?: number,
      size?: number,
      search?: string,
      orderBy?: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RegistryList>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1RegistriesGet(
        page,
        size,
        search,
        orderBy,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Get an registry by id
     * @param {string} id The id of record
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1RegistriesIdGet(
      id: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Registry>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1RegistriesIdGet(
        id,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     * List Registry Credentials
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {string} [orderBy] Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1RegistryCredentialsGet(
      page?: number,
      size?: number,
      search?: string,
      orderBy?: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RegistryCredentialList>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1RegistryCredentialsGet(
          page,
          size,
          search,
          orderBy,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Delete a registry credential by id
     * @param {string} id The id of record
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1RegistryCredentialsIdDelete(
      id: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1RegistryCredentialsIdDelete(id, options);
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Get a registry credentials by id
     * @param {string} id The id of record
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1RegistryCredentialsIdGet(
      id: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RegistryCredential>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1RegistryCredentialsIdGet(id, options);
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Update a registry credential
     * @param {string} id The id of record
     * @param {RegistryCredentialPatchRequest} registryCredentialPatchRequest Updated registry credential data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1RegistryCredentialsIdPatch(
      id: string,
      registryCredentialPatchRequest: RegistryCredentialPatchRequest,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RegistryCredential>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1RegistryCredentialsIdPatch(
          id,
          registryCredentialPatchRequest,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Request the creation of a registry credential
     * @param {RegistryCredential} registryCredential Registry credential data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1RegistryCredentialsPost(
      registryCredential: RegistryCredential,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RegistryCredential>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1RegistryCredentialsPost(
          registryCredential,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Returns a list of reserved resources
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {string} [orderBy] Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1ReservedResourcesGet(
      page?: number,
      size?: number,
      search?: string,
      orderBy?: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ReservedResourceList>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1ReservedResourcesGet(
          page,
          size,
          search,
          orderBy,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Returns a list of resource quota objects
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {string} [orderBy] Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1ResourceQuotaGet(
      page?: number,
      size?: number,
      search?: string,
      orderBy?: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ResourceQuotaList>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1ResourceQuotaGet(
        page,
        size,
        search,
        orderBy,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Returns a list of role bindings
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {string} [orderBy] Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1RoleBindingsGet(
      page?: number,
      size?: number,
      search?: string,
      orderBy?: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RoleBindingList>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1RoleBindingsGet(
        page,
        size,
        search,
        orderBy,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Delete a role binding
     * @param {string} id The id of record
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1RoleBindingsIdDelete(
      id: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1RoleBindingsIdDelete(id, options);
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Get a role binding
     * @param {string} id The id of record
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1RoleBindingsIdGet(
      id: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RoleBinding>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1RoleBindingsIdGet(
        id,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Update a role binding
     * @param {string} id The id of record
     * @param {RoleBindingRequest} roleBindingRequest Updated role binding data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1RoleBindingsIdPatch(
      id: string,
      roleBindingRequest: RoleBindingRequest,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RoleBinding>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1RoleBindingsIdPatch(
          id,
          roleBindingRequest,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Create a new role binding
     * @param {RoleBindingCreateRequest} roleBindingCreateRequest Role binding data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1RoleBindingsPost(
      roleBindingCreateRequest: RoleBindingCreateRequest,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RoleBinding>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1RoleBindingsPost(
        roleBindingCreateRequest,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Returns a list of roles
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1RolesGet(
      page?: number,
      size?: number,
      search?: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RoleList>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1RolesGet(
        page,
        size,
        search,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Get a role by id
     * @param {string} id The id of record
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1RolesIdGet(
      id: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Role>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1RolesIdGet(
        id,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Create or renew the entitlement to support a product for the user\'s organization.
     * @param {string} product The product for self_entitlement. The supported products are [rosa].
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1SelfEntitlementProductPost(
      product: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<SelfEntitlementStatus>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1SelfEntitlementProductPost(
          product,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Returns a list of UHC product SKU Rules
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1SkuRulesGet(
      search?: string,
      page?: number,
      size?: number,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<SkuRulesList>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1SkuRulesGet(
        search,
        page,
        size,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Delete a sku rule
     * @param {string} id The id of record
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1SkuRulesIdDelete(
      id: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1SkuRulesIdDelete(
        id,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Get a sku rules by id
     * @param {string} id The id of record
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1SkuRulesIdGet(
      id: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<SkuRules>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1SkuRulesIdGet(
        id,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Update a sku rule
     * @param {string} id The id of record
     * @param {SkuRules} skuRules Updated sku rule data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1SkuRulesIdPatch(
      id: string,
      skuRules: SkuRules,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<SkuRules>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1SkuRulesIdPatch(
        id,
        skuRules,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Create a new sku rule
     * @param {SkuRules} skuRules Sku rule data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1SkuRulesPost(
      skuRules: SkuRules,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<SkuRules>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1SkuRulesPost(
        skuRules,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Returns a list of UHC product SKUs
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {*} [options] Override http request option.
     * @deprecated
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1SkusGet(
      search?: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<SkuList>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1SkusGet(
        search,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Get a sku by id
     * @param {string} id The id of record
     * @param {*} [options] Override http request option.
     * @deprecated
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1SkusIdGet(
      id: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<SKU>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1SkusIdGet(
        id,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Returns a list of subscriptions
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {boolean} [fetchAccounts] If true, includes the account reference information in the output. Could slow request response time.
     * @param {boolean} [fetchLabels] If true, includes the labels on a subscription/organization/account in the output. Could slow request response time.
     * @param {boolean} [fetchCapabilities] If true, includes the capabilities on a subscription in the output. Could slow request response time.
     * @param {string} [fields] Supplies a comma-separated list of fields to be returned. Fields of sub-structures and of arrays use &lt;structure&gt;.&lt;field&gt; notation. &lt;stucture&gt;.* means all field of a structure Example: For each Subscription to get id, href, plan(id and kind) and labels (all fields)  &#x60;&#x60;&#x60; ocm get subscriptions --parameter fields&#x3D;id,href,plan.id,plan.kind,labels.* --parameter fetchLabels&#x3D;true &#x60;&#x60;&#x60;
     * @param {string} [orderBy] Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
     * @param {string} [labels] Specifies the criteria to filter the subscription resource based on their labels. A label is represented as a &#x60;key&#x3D;value&#x60; pair,  &#x60;&#x60;&#x60; labels &#x3D; \&quot;foo&#x3D;bar\&quot; &#x60;&#x60;&#x60;  and multiple labels are separated by comma,  &#x60;&#x60;&#x60; labels &#x3D; \&quot;foo&#x3D;bar,fooz&#x3D;barz\&quot; &#x60;&#x60;&#x60;
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1SubscriptionsGet(
      page?: number,
      size?: number,
      search?: string,
      fetchAccounts?: boolean,
      fetchLabels?: boolean,
      fetchCapabilities?: boolean,
      fields?: string,
      orderBy?: string,
      labels?: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<SubscriptionList>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1SubscriptionsGet(
        page,
        size,
        search,
        fetchAccounts,
        fetchLabels,
        fetchCapabilities,
        fields,
        orderBy,
        labels,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Deletes a subscription by id
     * @param {string} id The id of record
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1SubscriptionsIdDelete(
      id: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1SubscriptionsIdDelete(id, options);
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Get a subscription by id
     * @param {string} id The id of record
     * @param {boolean} [fetchAccounts] If true, includes the account reference information in the output. Could slow request response time.
     * @param {boolean} [fetchLabels] If true, includes the labels on a subscription/organization/account in the output. Could slow request response time.
     * @param {boolean} [fetchCapabilities] If true, includes the capabilities on a subscription in the output. Could slow request response time.
     * @param {boolean} [fetchCpuAndSocket] If true, fetches, from the clusters service, the total numbers of CPU\&#39;s and sockets under an obligation, and includes in the output. Could slow request response time.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1SubscriptionsIdGet(
      id: string,
      fetchAccounts?: boolean,
      fetchLabels?: boolean,
      fetchCapabilities?: boolean,
      fetchCpuAndSocket?: boolean,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Subscription>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1SubscriptionsIdGet(
        id,
        fetchAccounts,
        fetchLabels,
        fetchCapabilities,
        fetchCpuAndSocket,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Returns a list of labels
     * @param {string} id The id of record
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {string} [orderBy] Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1SubscriptionsIdLabelsGet(
      id: string,
      page?: number,
      size?: number,
      search?: string,
      orderBy?: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<LabelList>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1SubscriptionsIdLabelsGet(
          id,
          page,
          size,
          search,
          orderBy,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Delete a label
     * @param {string} id The id of record
     * @param {string} key The key of the label
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1SubscriptionsIdLabelsKeyDelete(
      id: string,
      key: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1SubscriptionsIdLabelsKeyDelete(
          id,
          key,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Get subscription labels by label key
     * @param {string} id The id of record
     * @param {string} key The key of the label
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1SubscriptionsIdLabelsKeyGet(
      id: string,
      key: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Label>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1SubscriptionsIdLabelsKeyGet(
          id,
          key,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Create a new label or update an existing label
     * @param {string} id The id of record
     * @param {string} key The key of the label
     * @param {Label} label Label data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1SubscriptionsIdLabelsKeyPatch(
      id: string,
      key: string,
      label: Label,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Label>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1SubscriptionsIdLabelsKeyPatch(
          id,
          key,
          label,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Create a new label or update an existing label
     * @param {string} id The id of record
     * @param {Label} label Label data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1SubscriptionsIdLabelsPost(
      id: string,
      label: Label,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Label>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1SubscriptionsIdLabelsPost(
          id,
          label,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Get subscription\'s metrics by metric name
     * @param {string} id The id of record
     * @param {string} metricName The name of the metric
     * @param {string} [search] The &#x60;search&#x60; paramter specifies the PromQL selector. The syntax is defined by Prometheus at https://prometheus.io/docs/prometheus/latest/querying/basics/#time-series-selectors. It only supports simple selections as shown in https://prometheus.io/docs/prometheus/latest/querying/examples/#simple-time-series-selection. For example, in order to retrieve subscription_sync_total with names starting with &#x60;managed&#x60; and with a channel &#x3D; &#x60;production&#x60;:  &#x60;&#x60;&#x60; name&#x3D;~\&#39;managed.*\&#39;,channel&#x3D;\&#39;production\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the records will be returned.
     * @param {string} [fields] Supplies a comma-separated list of fields to be returned. Fields of sub-structures and of arrays use &lt;structure&gt;.&lt;field&gt; notation. &lt;stucture&gt;.* means all field of a structure Example: For each Subscription to get id, href, plan(id and kind) and labels (all fields)  &#x60;&#x60;&#x60; ocm get subscriptions --parameter fields&#x3D;id,href,plan.id,plan.kind,labels.* --parameter fetchLabels&#x3D;true &#x60;&#x60;&#x60;
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1SubscriptionsIdMetricsMetricNameGet(
      id: string,
      metricName: string,
      search?: string,
      fields?: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<SubscriptionMetricList>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1SubscriptionsIdMetricsMetricNameGet(
          id,
          metricName,
          search,
          fields,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Notify the owner of a subscription
     * @param {string} id The id of record
     * @param {NotificationRequest} notificationRequest The contents of the notification to send to the owner of a subscription in addition to the set of template parameters which are sent automatically ACCOUNT_USERNAME, FIRST_NAME, LAST_NAME, ORGANIZATION_NAME, ORGANIZATION_EXTERNAL_ID
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1SubscriptionsIdNotifyPost(
      id: string,
      notificationRequest: NotificationRequest,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1SubscriptionsIdNotifyPost(
          id,
          notificationRequest,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Update a subscription
     * @param {string} id The id of record
     * @param {SubscriptionPatchRequest} subscriptionPatchRequest Updated subscription data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1SubscriptionsIdPatch(
      id: string,
      subscriptionPatchRequest: SubscriptionPatchRequest,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Subscription>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1SubscriptionsIdPatch(
          id,
          subscriptionPatchRequest,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Returns a list of reserved resources
     * @param {string} id The id of record
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {string} [orderBy] Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1SubscriptionsIdReservedResourcesGet(
      id: string,
      page?: number,
      size?: number,
      search?: string,
      orderBy?: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ReservedResourceList>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1SubscriptionsIdReservedResourcesGet(
          id,
          page,
          size,
          search,
          orderBy,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Returns a list of open support creates opened against the external cluster id of this subscrption
     * @param {string} id The id of record
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1SubscriptionsIdSupportCasesGet(
      id: string,
      page?: number,
      size?: number,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1SubscriptionsIdSupportCasesGet(
          id,
          page,
          size,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Create a new subscription
     * @param {SubscriptionCreateRequest} subscriptionCreateRequest Subscription Creation data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1SubscriptionsPost(
      subscriptionCreateRequest: SubscriptionCreateRequest,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Subscription>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1SubscriptionsPost(
        subscriptionCreateRequest,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Deletes a notification contact by subscription and account id
     * @param {string} subId The id of subscription
     * @param {string} accountId The id of account
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1SubscriptionsSubIdNotificationContactsAccountIdDelete(
      subId: string,
      accountId: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1SubscriptionsSubIdNotificationContactsAccountIdDelete(
          subId,
          accountId,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Returns a list of notification contacts for the given subscription
     * @param {string} subId The id of subscription
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {string} [fields] Supplies a comma-separated list of fields to be returned. Fields of sub-structures and of arrays use &lt;structure&gt;.&lt;field&gt; notation. &lt;stucture&gt;.* means all field of a structure Example: For each Subscription to get id, href, plan(id and kind) and labels (all fields)  &#x60;&#x60;&#x60; ocm get subscriptions --parameter fields&#x3D;id,href,plan.id,plan.kind,labels.* --parameter fetchLabels&#x3D;true &#x60;&#x60;&#x60;
     * @param {string} [orderBy] Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1SubscriptionsSubIdNotificationContactsGet(
      subId: string,
      page?: number,
      size?: number,
      search?: string,
      fields?: string,
      orderBy?: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AccountList>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1SubscriptionsSubIdNotificationContactsGet(
          subId,
          page,
          size,
          search,
          fields,
          orderBy,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Add an account as a notification contact to this subscription
     * @param {string} subId The id of subscription
     * @param {NotificationContactCreateRequest} notificationContactCreateRequest Add a notification contact by an account\&#39;s username
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1SubscriptionsSubIdNotificationContactsPost(
      subId: string,
      notificationContactCreateRequest: NotificationContactCreateRequest,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Account>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1SubscriptionsSubIdNotificationContactsPost(
          subId,
          notificationContactCreateRequest,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Delete reserved resources by id
     * @param {string} subId The id of subscription
     * @param {string} reservedResourceId The id of reserved resource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdDelete(
      subId: string,
      reservedResourceId: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdDelete(
          subId,
          reservedResourceId,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Get reserved resources by id
     * @param {string} subId The id of subscription
     * @param {string} reservedResourceId The id of reserved resource
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdGet(
      subId: string,
      reservedResourceId: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ReservedResource>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdGet(
          subId,
          reservedResourceId,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Update a reserved resource
     * @param {string} subId The id of subscription
     * @param {string} reservedResourceId The id of reserved resource
     * @param {ReservedResourcePatchRequest} reservedResourcePatchRequest Updated reserved resource data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdPatch(
      subId: string,
      reservedResourceId: string,
      reservedResourcePatchRequest: ReservedResourcePatchRequest,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ReservedResource>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdPatch(
          subId,
          reservedResourceId,
          reservedResourcePatchRequest,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Get subscription role bindings
     * @param {string} subId The id of subscription
     * @param {number} [page] Page number of record list when record list exceeds specified page size
     * @param {number} [size] Maximum number of records to return
     * @param {string} [search] Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
     * @param {string} [orderBy] Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
     * @param {boolean} [fetchAccounts] If true, includes the account reference information in the output. Could slow request response time.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1SubscriptionsSubIdRoleBindingsGet(
      subId: string,
      page?: number,
      size?: number,
      search?: string,
      orderBy?: string,
      fetchAccounts?: boolean,
      options?: AxiosRequestConfig,
    ): Promise<
      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<SubscriptionRoleBindingList>
    > {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1SubscriptionsSubIdRoleBindingsGet(
          subId,
          page,
          size,
          search,
          orderBy,
          fetchAccounts,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Delete a subscription role binding
     * @param {string} id The id of record
     * @param {string} subId The id of subscription
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1SubscriptionsSubIdRoleBindingsIdDelete(
      id: string,
      subId: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1SubscriptionsSubIdRoleBindingsIdDelete(
          id,
          subId,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Get a Subscription Role Binding by id
     * @param {string} id The id of record
     * @param {string} subId The id of subscription
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1SubscriptionsSubIdRoleBindingsIdGet(
      id: string,
      subId: string,
      options?: AxiosRequestConfig,
    ): Promise<
      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<SubscriptionRoleBinding>
    > {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1SubscriptionsSubIdRoleBindingsIdGet(
          id,
          subId,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Create a new subscription role binding
     * @param {string} subId The id of subscription
     * @param {SubscriptionRoleBindingCreateRequest} subscriptionRoleBindingCreateRequest Subscription role binding data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1SubscriptionsSubIdRoleBindingsPost(
      subId: string,
      subscriptionRoleBindingCreateRequest: SubscriptionRoleBindingCreateRequest,
      options?: AxiosRequestConfig,
    ): Promise<
      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<SubscriptionRoleBinding>
    > {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1SubscriptionsSubIdRoleBindingsPost(
          subId,
          subscriptionRoleBindingCreateRequest,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Delete a support case
     * @param {string} caseId The id of a support case
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1SupportCasesCaseIdDelete(
      caseId: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1SupportCasesCaseIdDelete(caseId, options);
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary create a support case for the subscription
     * @param {SupportCasesRequest} supportCasesRequest The contents of the support case to be created
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1SupportCasesPost(
      supportCasesRequest: SupportCasesRequest,
      options?: AxiosRequestConfig,
    ): Promise<
      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<SupportCasesCreatedResponse>
    > {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAccountsMgmtV1SupportCasesPost(
        supportCasesRequest,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Finds the account owner of the provided token
     * @param {TokenAuthorizationRequest} tokenAuthorizationRequest Token authorization data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAccountsMgmtV1TokenAuthorizationPost(
      tokenAuthorizationRequest: TokenAuthorizationRequest,
      options?: AxiosRequestConfig,
    ): Promise<
      (axios?: AxiosInstance, basePath?: string) => AxiosPromise<TokenAuthorizationResponse>
    > {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAccountsMgmtV1TokenAuthorizationPost(
          tokenAuthorizationRequest,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Review an account\'s access to perform an action on a particular resource or resource type
     * @param {AccessReview} accessReview Access review data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAuthorizationsV1AccessReviewPost(
      accessReview: AccessReview,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AccessReviewResponse>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAuthorizationsV1AccessReviewPost(
        accessReview,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Review an account\'s capabilities
     * @param {CapabilityReviewRequest} capabilityReviewRequest Capability review data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAuthorizationsV1CapabilityReviewPost(
      capabilityReviewRequest: CapabilityReviewRequest,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CapabilityReview>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAuthorizationsV1CapabilityReviewPost(
          capabilityReviewRequest,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Determine whether a user is restricted from downloading Red Hat software based on export control compliance.
     * @param {ExportControlReviewRequest} exportControlReviewRequest Export control review data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAuthorizationsV1ExportControlReviewPost(
      exportControlReviewRequest: ExportControlReviewRequest,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ExportControlReview>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAuthorizationsV1ExportControlReviewPost(
          exportControlReviewRequest,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Review feature to perform an action on it such as toggle a feature on/off
     * @param {FeatureReview} featureReview Feature review data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAuthorizationsV1FeatureReviewPost(
      featureReview: FeatureReview,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<FeatureReviewResponse>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAuthorizationsV1FeatureReviewPost(
          featureReview,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Obtain resource ids for resources an account may perform the specified action upon. Resource ids returned as [\"*\"] is shorthand for all ids.
     * @param {ResourceReviewRequest} resourceReviewRequest Resource review data
     * @param {boolean} [reduceClusterList] If true, When returning a list of cluster_ids/cluster_uuids/subscription_ids, if those are already included in one of the organizations provided in organization_ids, do not include it in the list.
     * @param {string} [excludeSubscriptionStatuses] A comma-separated list of subscription statuses. Subscriptions with these statuses will be excluded from results. This options is mutually exclusive with includeSubscriptionStatuses.
     * @param {string} [includeSubscriptionStatuses] A comma-separated list of subscription statuses. Only subscriptions with these statuses will be included into results. This options is mutually exclusive with excludeSubscriptionStatuses.
     * @param {*} [options] Override http request option.
     * @deprecated
     * @throws {RequiredError}
     */
    async apiAuthorizationsV1ResourceReviewPost(
      resourceReviewRequest: ResourceReviewRequest,
      reduceClusterList?: boolean,
      excludeSubscriptionStatuses?: string,
      includeSubscriptionStatuses?: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ResourceReview>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAuthorizationsV1ResourceReviewPost(
          resourceReviewRequest,
          reduceClusterList,
          excludeSubscriptionStatuses,
          includeSubscriptionStatuses,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Review your ability to perform an action on a particular resource or resource type
     * @param {SelfAccessReview} selfAccessReview Self access review data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAuthorizationsV1SelfAccessReviewPost(
      selfAccessReview: SelfAccessReview,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AccessReviewResponse>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAuthorizationsV1SelfAccessReviewPost(
          selfAccessReview,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Review your ability to toggle a feature
     * @param {SelfFeatureReview} selfFeatureReview Self feature review data
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAuthorizationsV1SelfFeatureReviewPost(
      selfFeatureReview: SelfFeatureReview,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<FeatureReviewResponse>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAuthorizationsV1SelfFeatureReviewPost(
          selfFeatureReview,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Obtain resource ids for resources you may perform the specified action upon. Resource ids returned as [\"*\"] is shorthand for all ids.
     * @param {SelfResourceReviewRequest} selfResourceReviewRequest Self resource review data
     * @param {boolean} [reduceClusterList] If true, When returning a list of cluster_ids/cluster_uuids/subscription_ids, if those are already included in one of the organizations provided in organization_ids, do not include it in the list.
     * @param {string} [excludeSubscriptionStatuses] A comma-separated list of subscription statuses. Subscriptions with these statuses will be excluded from results. This options is mutually exclusive with includeSubscriptionStatuses.
     * @param {string} [includeSubscriptionStatuses] A comma-separated list of subscription statuses. Only subscriptions with these statuses will be included into results. This options is mutually exclusive with excludeSubscriptionStatuses.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAuthorizationsV1SelfResourceReviewPost(
      selfResourceReviewRequest: SelfResourceReviewRequest,
      reduceClusterList?: boolean,
      excludeSubscriptionStatuses?: string,
      includeSubscriptionStatuses?: string,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<SelfResourceReview>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAuthorizationsV1SelfResourceReviewPost(
          selfResourceReviewRequest,
          reduceClusterList,
          excludeSubscriptionStatuses,
          includeSubscriptionStatuses,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Review your status of Terms
     * @param {SelfTermsReview} selfTermsReview Data to check self terms for
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAuthorizationsV1SelfTermsReviewPost(
      selfTermsReview: SelfTermsReview,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<TermsReviewResponse>> {
      const localVarAxiosArgs =
        await localVarAxiosParamCreator.apiAuthorizationsV1SelfTermsReviewPost(
          selfTermsReview,
          options,
        );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
    /**
     *
     * @summary Review an account\'s status of Terms
     * @param {TermsReview} termsReview Data to check terms for
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    async apiAuthorizationsV1TermsReviewPost(
      termsReview: TermsReview,
      options?: AxiosRequestConfig,
    ): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<TermsReviewResponse>> {
      const localVarAxiosArgs = await localVarAxiosParamCreator.apiAuthorizationsV1TermsReviewPost(
        termsReview,
        options,
      );
      return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
    },
  };
};

/**
 * DefaultApi - factory interface
 * @export
 */
export const DefaultApiFactory = function (
  configuration?: Configuration,
  basePath?: string,
  axios?: AxiosInstance,
) {
  const localVarFp = DefaultApiFp(configuration);
  return {
    /**
     *
     * @summary Return access token generated from registries in docker format
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1AccessTokenPost(options?: AxiosRequestConfig): AxiosPromise<AccessTokenCfg> {
      return localVarFp
        .apiAccountsMgmtV1AccessTokenPost(options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Returns a list of accounts
     * @param {DefaultApiApiAccountsMgmtV1AccountsGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1AccountsGet(
      requestParameters: DefaultApiApiAccountsMgmtV1AccountsGetRequest = {},
      options?: AxiosRequestConfig,
    ): AxiosPromise<AccountList> {
      return localVarFp
        .apiAccountsMgmtV1AccountsGet(
          requestParameters.page,
          requestParameters.size,
          requestParameters.search,
          requestParameters.orderBy,
          requestParameters.fields,
          requestParameters.fetchLabels,
          requestParameters.fetchCapabilities,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Delete an account by id
     * @param {DefaultApiApiAccountsMgmtV1AccountsIdDeleteRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1AccountsIdDelete(
      requestParameters: DefaultApiApiAccountsMgmtV1AccountsIdDeleteRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<void> {
      return localVarFp
        .apiAccountsMgmtV1AccountsIdDelete(
          requestParameters.id,
          requestParameters.deleteAssociatedResources,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Get an account by id
     * @param {DefaultApiApiAccountsMgmtV1AccountsIdGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1AccountsIdGet(
      requestParameters: DefaultApiApiAccountsMgmtV1AccountsIdGetRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<Account> {
      return localVarFp
        .apiAccountsMgmtV1AccountsIdGet(
          requestParameters.id,
          requestParameters.fetchLabels,
          requestParameters.fetchCapabilities,
          requestParameters.fetchRhit,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Returns a list of labels
     * @param {DefaultApiApiAccountsMgmtV1AccountsIdLabelsGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1AccountsIdLabelsGet(
      requestParameters: DefaultApiApiAccountsMgmtV1AccountsIdLabelsGetRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<LabelList> {
      return localVarFp
        .apiAccountsMgmtV1AccountsIdLabelsGet(
          requestParameters.id,
          requestParameters.page,
          requestParameters.size,
          requestParameters.search,
          requestParameters.orderBy,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Delete a label
     * @param {DefaultApiApiAccountsMgmtV1AccountsIdLabelsKeyDeleteRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1AccountsIdLabelsKeyDelete(
      requestParameters: DefaultApiApiAccountsMgmtV1AccountsIdLabelsKeyDeleteRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<void> {
      return localVarFp
        .apiAccountsMgmtV1AccountsIdLabelsKeyDelete(
          requestParameters.id,
          requestParameters.key,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Get account labels by label key
     * @param {DefaultApiApiAccountsMgmtV1AccountsIdLabelsKeyGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1AccountsIdLabelsKeyGet(
      requestParameters: DefaultApiApiAccountsMgmtV1AccountsIdLabelsKeyGetRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<Label> {
      return localVarFp
        .apiAccountsMgmtV1AccountsIdLabelsKeyGet(
          requestParameters.id,
          requestParameters.key,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Create a new label or update an existing label
     * @param {DefaultApiApiAccountsMgmtV1AccountsIdLabelsKeyPatchRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1AccountsIdLabelsKeyPatch(
      requestParameters: DefaultApiApiAccountsMgmtV1AccountsIdLabelsKeyPatchRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<Label> {
      return localVarFp
        .apiAccountsMgmtV1AccountsIdLabelsKeyPatch(
          requestParameters.id,
          requestParameters.key,
          requestParameters.label,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Create a new label or update an existing label
     * @param {DefaultApiApiAccountsMgmtV1AccountsIdLabelsPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1AccountsIdLabelsPost(
      requestParameters: DefaultApiApiAccountsMgmtV1AccountsIdLabelsPostRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<Label> {
      return localVarFp
        .apiAccountsMgmtV1AccountsIdLabelsPost(
          requestParameters.id,
          requestParameters.label,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Update an account
     * @param {DefaultApiApiAccountsMgmtV1AccountsIdPatchRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1AccountsIdPatch(
      requestParameters: DefaultApiApiAccountsMgmtV1AccountsIdPatchRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<Account> {
      return localVarFp
        .apiAccountsMgmtV1AccountsIdPatch(
          requestParameters.id,
          requestParameters.accountPatchRequest,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary List of pull secrets rotation
     * @param {DefaultApiApiAccountsMgmtV1AccountsIdPullSecretRotationGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1AccountsIdPullSecretRotationGet(
      requestParameters: DefaultApiApiAccountsMgmtV1AccountsIdPullSecretRotationGetRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<PullSecretRotationList> {
      return localVarFp
        .apiAccountsMgmtV1AccountsIdPullSecretRotationGet(
          requestParameters.id,
          requestParameters.page,
          requestParameters.size,
          requestParameters.search,
          requestParameters.orderBy,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Initiate pull secret rotation for this account id
     * @param {DefaultApiApiAccountsMgmtV1AccountsIdPullSecretRotationPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1AccountsIdPullSecretRotationPost(
      requestParameters: DefaultApiApiAccountsMgmtV1AccountsIdPullSecretRotationPostRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<PullSecretRotation> {
      return localVarFp
        .apiAccountsMgmtV1AccountsIdPullSecretRotationPost(
          requestParameters.id,
          requestParameters.pullSecretRotationRequest,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Delete a single Pull Secret Rotation record
     * @param {DefaultApiApiAccountsMgmtV1AccountsIdPullSecretRotationRotationIdDeleteRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1AccountsIdPullSecretRotationRotationIdDelete(
      requestParameters: DefaultApiApiAccountsMgmtV1AccountsIdPullSecretRotationRotationIdDeleteRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<void> {
      return localVarFp
        .apiAccountsMgmtV1AccountsIdPullSecretRotationRotationIdDelete(
          requestParameters.id,
          requestParameters.rotationId,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Get a pull secret rotation by id for a specific account
     * @param {DefaultApiApiAccountsMgmtV1AccountsIdPullSecretRotationRotationIdGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1AccountsIdPullSecretRotationRotationIdGet(
      requestParameters: DefaultApiApiAccountsMgmtV1AccountsIdPullSecretRotationRotationIdGetRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<PullSecretRotation> {
      return localVarFp
        .apiAccountsMgmtV1AccountsIdPullSecretRotationRotationIdGet(
          requestParameters.id,
          requestParameters.rotationId,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Create a new account
     * @param {DefaultApiApiAccountsMgmtV1AccountsPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1AccountsPost(
      requestParameters: DefaultApiApiAccountsMgmtV1AccountsPostRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<Account> {
      return localVarFp
        .apiAccountsMgmtV1AccountsPost(requestParameters.account, requestParameters.dryRun, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Returns a list of available billing models
     * @param {DefaultApiApiAccountsMgmtV1BillingModelsGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1BillingModelsGet(
      requestParameters: DefaultApiApiAccountsMgmtV1BillingModelsGetRequest = {},
      options?: AxiosRequestConfig,
    ): AxiosPromise<BillingModelList> {
      return localVarFp
        .apiAccountsMgmtV1BillingModelsGet(requestParameters.page, requestParameters.size, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Get a billing model
     * @param {DefaultApiApiAccountsMgmtV1BillingModelsIdGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1BillingModelsIdGet(
      requestParameters: DefaultApiApiAccountsMgmtV1BillingModelsIdGetRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<BillingModel> {
      return localVarFp
        .apiAccountsMgmtV1BillingModelsIdGet(requestParameters.id, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Returns a list of available capabilities
     * @param {DefaultApiApiAccountsMgmtV1CapabilitiesGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1CapabilitiesGet(
      requestParameters: DefaultApiApiAccountsMgmtV1CapabilitiesGetRequest = {},
      options?: AxiosRequestConfig,
    ): AxiosPromise<CapabilityList> {
      return localVarFp
        .apiAccountsMgmtV1CapabilitiesGet(
          requestParameters.page,
          requestParameters.size,
          requestParameters.search,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Fetch certificates of a particular type
     * @param {DefaultApiApiAccountsMgmtV1CertificatesPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1CertificatesPost(
      requestParameters: DefaultApiApiAccountsMgmtV1CertificatesPostRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<Certificate> {
      return localVarFp
        .apiAccountsMgmtV1CertificatesPost(requestParameters.certificatesRequest, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Returns a list of cloud resources
     * @param {DefaultApiApiAccountsMgmtV1CloudResourcesGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1CloudResourcesGet(
      requestParameters: DefaultApiApiAccountsMgmtV1CloudResourcesGetRequest = {},
      options?: AxiosRequestConfig,
    ): AxiosPromise<CloudResourceList> {
      return localVarFp
        .apiAccountsMgmtV1CloudResourcesGet(
          requestParameters.page,
          requestParameters.size,
          requestParameters.search,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Delete a cloud resource
     * @param {DefaultApiApiAccountsMgmtV1CloudResourcesIdDeleteRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1CloudResourcesIdDelete(
      requestParameters: DefaultApiApiAccountsMgmtV1CloudResourcesIdDeleteRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<void> {
      return localVarFp
        .apiAccountsMgmtV1CloudResourcesIdDelete(requestParameters.id, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Get a cloud resource
     * @param {DefaultApiApiAccountsMgmtV1CloudResourcesIdGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1CloudResourcesIdGet(
      requestParameters: DefaultApiApiAccountsMgmtV1CloudResourcesIdGetRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<CloudResource> {
      return localVarFp
        .apiAccountsMgmtV1CloudResourcesIdGet(requestParameters.id, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Update a cloud resource
     * @param {DefaultApiApiAccountsMgmtV1CloudResourcesIdPatchRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1CloudResourcesIdPatch(
      requestParameters: DefaultApiApiAccountsMgmtV1CloudResourcesIdPatchRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<CloudResource> {
      return localVarFp
        .apiAccountsMgmtV1CloudResourcesIdPatch(
          requestParameters.id,
          requestParameters.cloudResource,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Create a new cloud resource
     * @param {DefaultApiApiAccountsMgmtV1CloudResourcesPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1CloudResourcesPost(
      requestParameters: DefaultApiApiAccountsMgmtV1CloudResourcesPostRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<CloudResource> {
      return localVarFp
        .apiAccountsMgmtV1CloudResourcesPost(requestParameters.cloudResource, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Authorizes new cluster creation against an exsiting RH Subscription.
     * @param {DefaultApiApiAccountsMgmtV1ClusterAuthorizationsPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1ClusterAuthorizationsPost(
      requestParameters: DefaultApiApiAccountsMgmtV1ClusterAuthorizationsPostRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<ClusterAuthorizationResponse> {
      return localVarFp
        .apiAccountsMgmtV1ClusterAuthorizationsPost(
          requestParameters.clusterAuthorizationRequest,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Finds or creates a cluster registration with a registy credential token and cluster ID
     * @param {DefaultApiApiAccountsMgmtV1ClusterRegistrationsPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1ClusterRegistrationsPost(
      requestParameters: DefaultApiApiAccountsMgmtV1ClusterRegistrationsPostRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<ClusterRegistrationResponse> {
      return localVarFp
        .apiAccountsMgmtV1ClusterRegistrationsPost(
          requestParameters.clusterRegistrationRequest,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary List cluster transfers - returns either an empty result set or a valid ClusterTransfer instance that is within a valid transfer window.
     * @param {DefaultApiApiAccountsMgmtV1ClusterTransfersGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1ClusterTransfersGet(
      requestParameters: DefaultApiApiAccountsMgmtV1ClusterTransfersGetRequest = {},
      options?: AxiosRequestConfig,
    ): AxiosPromise<ClusterTransferList> {
      return localVarFp
        .apiAccountsMgmtV1ClusterTransfersGet(
          requestParameters.page,
          requestParameters.size,
          requestParameters.search,
          requestParameters.orderBy,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Update specific cluster transfer
     * @param {DefaultApiApiAccountsMgmtV1ClusterTransfersIdPatchRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1ClusterTransfersIdPatch(
      requestParameters: DefaultApiApiAccountsMgmtV1ClusterTransfersIdPatchRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<ClusterTransfer> {
      return localVarFp
        .apiAccountsMgmtV1ClusterTransfersIdPatch(
          requestParameters.id,
          requestParameters.clusterTransferPatchRequest,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Initiate cluster transfer.
     * @param {DefaultApiApiAccountsMgmtV1ClusterTransfersPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1ClusterTransfersPost(
      requestParameters: DefaultApiApiAccountsMgmtV1ClusterTransfersPostRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<ClusterTransfer> {
      return localVarFp
        .apiAccountsMgmtV1ClusterTransfersPost(requestParameters.clusterTransferRequest, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Returns a list of skus
     * @param {DefaultApiApiAccountsMgmtV1ConfigSkusGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1ConfigSkusGet(
      requestParameters: DefaultApiApiAccountsMgmtV1ConfigSkusGetRequest = {},
      options?: AxiosRequestConfig,
    ): AxiosPromise<SkuList> {
      return localVarFp
        .apiAccountsMgmtV1ConfigSkusGet(
          requestParameters.page,
          requestParameters.size,
          requestParameters.search,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Delete a sku
     * @param {DefaultApiApiAccountsMgmtV1ConfigSkusIdDeleteRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1ConfigSkusIdDelete(
      requestParameters: DefaultApiApiAccountsMgmtV1ConfigSkusIdDeleteRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<void> {
      return localVarFp
        .apiAccountsMgmtV1ConfigSkusIdDelete(requestParameters.id, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Get a sku
     * @param {DefaultApiApiAccountsMgmtV1ConfigSkusIdGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1ConfigSkusIdGet(
      requestParameters: DefaultApiApiAccountsMgmtV1ConfigSkusIdGetRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<SKU> {
      return localVarFp
        .apiAccountsMgmtV1ConfigSkusIdGet(requestParameters.id, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Update a Sku
     * @param {DefaultApiApiAccountsMgmtV1ConfigSkusIdPatchRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1ConfigSkusIdPatch(
      requestParameters: DefaultApiApiAccountsMgmtV1ConfigSkusIdPatchRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<SKU> {
      return localVarFp
        .apiAccountsMgmtV1ConfigSkusIdPatch(requestParameters.id, requestParameters.sKU, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Create a new sku
     * @param {DefaultApiApiAccountsMgmtV1ConfigSkusPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1ConfigSkusPost(
      requestParameters: DefaultApiApiAccountsMgmtV1ConfigSkusPostRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<SKU> {
      return localVarFp
        .apiAccountsMgmtV1ConfigSkusPost(requestParameters.sKU, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Get the authenticated account
     * @param {DefaultApiApiAccountsMgmtV1CurrentAccountGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1CurrentAccountGet(
      requestParameters: DefaultApiApiAccountsMgmtV1CurrentAccountGetRequest = {},
      options?: AxiosRequestConfig,
    ): AxiosPromise<Account> {
      return localVarFp
        .apiAccountsMgmtV1CurrentAccountGet(requestParameters.fetchLabels, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Returns a list of default capabilities
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1DefaultCapabilitiesGet(
      options?: AxiosRequestConfig,
    ): AxiosPromise<DefaultCapabilityList> {
      return localVarFp
        .apiAccountsMgmtV1DefaultCapabilitiesGet(options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Delete a default capability
     * @param {DefaultApiApiAccountsMgmtV1DefaultCapabilitiesNameDeleteRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1DefaultCapabilitiesNameDelete(
      requestParameters: DefaultApiApiAccountsMgmtV1DefaultCapabilitiesNameDeleteRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<void> {
      return localVarFp
        .apiAccountsMgmtV1DefaultCapabilitiesNameDelete(requestParameters.name, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Get default capability by label name
     * @param {DefaultApiApiAccountsMgmtV1DefaultCapabilitiesNameGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1DefaultCapabilitiesNameGet(
      requestParameters: DefaultApiApiAccountsMgmtV1DefaultCapabilitiesNameGetRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<DefaultCapability> {
      return localVarFp
        .apiAccountsMgmtV1DefaultCapabilitiesNameGet(requestParameters.name, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Create a new default capability or update an existing one
     * @param {DefaultApiApiAccountsMgmtV1DefaultCapabilitiesNamePatchRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1DefaultCapabilitiesNamePatch(
      requestParameters: DefaultApiApiAccountsMgmtV1DefaultCapabilitiesNamePatchRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<DefaultCapability> {
      return localVarFp
        .apiAccountsMgmtV1DefaultCapabilitiesNamePatch(
          requestParameters.name,
          requestParameters.defaultCapability,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Create a new default capability or update an existing one
     * @param {DefaultApiApiAccountsMgmtV1DefaultCapabilitiesPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1DefaultCapabilitiesPost(
      requestParameters: DefaultApiApiAccountsMgmtV1DefaultCapabilitiesPostRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<DefaultCapability> {
      return localVarFp
        .apiAccountsMgmtV1DefaultCapabilitiesPost(requestParameters.defaultCapability, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Returns a list of deleted subscriptions
     * @param {DefaultApiApiAccountsMgmtV1DeletedSubscriptionsGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1DeletedSubscriptionsGet(
      requestParameters: DefaultApiApiAccountsMgmtV1DeletedSubscriptionsGetRequest = {},
      options?: AxiosRequestConfig,
    ): AxiosPromise<DeletedSubscriptionList> {
      return localVarFp
        .apiAccountsMgmtV1DeletedSubscriptionsGet(
          requestParameters.page,
          requestParameters.size,
          requestParameters.search,
          requestParameters.orderBy,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Fetches a deleted subscription by id
     * @param {DefaultApiApiAccountsMgmtV1DeletedSubscriptionsIdGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1DeletedSubscriptionsIdGet(
      requestParameters: DefaultApiApiAccountsMgmtV1DeletedSubscriptionsIdGetRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<DeletedSubscription> {
      return localVarFp
        .apiAccountsMgmtV1DeletedSubscriptionsIdGet(requestParameters.id, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Returns a list of errors
     * @param {DefaultApiApiAccountsMgmtV1ErrorsGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1ErrorsGet(
      requestParameters: DefaultApiApiAccountsMgmtV1ErrorsGetRequest = {},
      options?: AxiosRequestConfig,
    ): AxiosPromise<ErrorList> {
      return localVarFp
        .apiAccountsMgmtV1ErrorsGet(
          requestParameters.page,
          requestParameters.size,
          requestParameters.search,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Get an error by id
     * @param {DefaultApiApiAccountsMgmtV1ErrorsIdGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1ErrorsIdGet(
      requestParameters: DefaultApiApiAccountsMgmtV1ErrorsIdGetRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<Error> {
      return localVarFp
        .apiAccountsMgmtV1ErrorsIdGet(requestParameters.id, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Query a feature toggle by id
     * @param {DefaultApiApiAccountsMgmtV1FeatureTogglesIdQueryPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @deprecated
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1FeatureTogglesIdQueryPost(
      requestParameters: DefaultApiApiAccountsMgmtV1FeatureTogglesIdQueryPostRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<FeatureToggle> {
      return localVarFp
        .apiAccountsMgmtV1FeatureTogglesIdQueryPost(
          requestParameters.id,
          requestParameters.featureToggleQueryRequest,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Returns a list of labels
     * @param {DefaultApiApiAccountsMgmtV1LabelsGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1LabelsGet(
      requestParameters: DefaultApiApiAccountsMgmtV1LabelsGetRequest = {},
      options?: AxiosRequestConfig,
    ): AxiosPromise<LabelList> {
      return localVarFp
        .apiAccountsMgmtV1LabelsGet(
          requestParameters.page,
          requestParameters.size,
          requestParameters.search,
          requestParameters.orderBy,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Get a console.redhat.com landing page content JSON schema
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1LandingPageSelfServiceGet(
      options?: AxiosRequestConfig,
    ): AxiosPromise<SelfServiceLandingPageSchema> {
      return localVarFp
        .apiAccountsMgmtV1LandingPageSelfServiceGet(options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Returns a list of metrics
     * @param {DefaultApiApiAccountsMgmtV1MetricsGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1MetricsGet(
      requestParameters: DefaultApiApiAccountsMgmtV1MetricsGetRequest = {},
      options?: AxiosRequestConfig,
    ): AxiosPromise<MetricsList> {
      return localVarFp
        .apiAccountsMgmtV1MetricsGet(requestParameters.search, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Notify the owner of cluster/subscription
     * @param {DefaultApiApiAccountsMgmtV1NotifyPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1NotifyPost(
      requestParameters: DefaultApiApiAccountsMgmtV1NotifyPostRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<void> {
      return localVarFp
        .apiAccountsMgmtV1NotifyPost(requestParameters.notificationRequest, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Returns a list of organizations
     * @param {DefaultApiApiAccountsMgmtV1OrganizationsGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsGet(
      requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsGetRequest = {},
      options?: AxiosRequestConfig,
    ): AxiosPromise<OrganizationList> {
      return localVarFp
        .apiAccountsMgmtV1OrganizationsGet(
          requestParameters.page,
          requestParameters.size,
          requestParameters.search,
          requestParameters.orderBy,
          requestParameters.fetchLabels,
          requestParameters.fetchCapabilities,
          requestParameters.fields,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Get an organization by id
     * @param {DefaultApiApiAccountsMgmtV1OrganizationsIdGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsIdGet(
      requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsIdGetRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<Organization> {
      return localVarFp
        .apiAccountsMgmtV1OrganizationsIdGet(
          requestParameters.id,
          requestParameters.fetchLabels,
          requestParameters.fetchCapabilities,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Returns a list of labels
     * @param {DefaultApiApiAccountsMgmtV1OrganizationsIdLabelsGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsIdLabelsGet(
      requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsIdLabelsGetRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<LabelList> {
      return localVarFp
        .apiAccountsMgmtV1OrganizationsIdLabelsGet(
          requestParameters.id,
          requestParameters.page,
          requestParameters.size,
          requestParameters.search,
          requestParameters.orderBy,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Delete a label
     * @param {DefaultApiApiAccountsMgmtV1OrganizationsIdLabelsKeyDeleteRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsIdLabelsKeyDelete(
      requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsIdLabelsKeyDeleteRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<void> {
      return localVarFp
        .apiAccountsMgmtV1OrganizationsIdLabelsKeyDelete(
          requestParameters.id,
          requestParameters.key,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Get organization labels by label key
     * @param {DefaultApiApiAccountsMgmtV1OrganizationsIdLabelsKeyGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsIdLabelsKeyGet(
      requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsIdLabelsKeyGetRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<Label> {
      return localVarFp
        .apiAccountsMgmtV1OrganizationsIdLabelsKeyGet(
          requestParameters.id,
          requestParameters.key,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Create a new label or update an existing label
     * @param {DefaultApiApiAccountsMgmtV1OrganizationsIdLabelsKeyPatchRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsIdLabelsKeyPatch(
      requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsIdLabelsKeyPatchRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<Label> {
      return localVarFp
        .apiAccountsMgmtV1OrganizationsIdLabelsKeyPatch(
          requestParameters.id,
          requestParameters.key,
          requestParameters.label,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Create a new label or update an existing label
     * @param {DefaultApiApiAccountsMgmtV1OrganizationsIdLabelsPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsIdLabelsPost(
      requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsIdLabelsPostRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<Label> {
      return localVarFp
        .apiAccountsMgmtV1OrganizationsIdLabelsPost(
          requestParameters.id,
          requestParameters.label,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Update an organization
     * @param {DefaultApiApiAccountsMgmtV1OrganizationsIdPatchRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsIdPatch(
      requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsIdPatchRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<Organization> {
      return localVarFp
        .apiAccountsMgmtV1OrganizationsIdPatch(
          requestParameters.id,
          requestParameters.organizationPatchRequest,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Returns a summary of organizations clusters based on metrics
     * @param {DefaultApiApiAccountsMgmtV1OrganizationsIdSummaryDashboardGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsIdSummaryDashboardGet(
      requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsIdSummaryDashboardGetRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<Summary> {
      return localVarFp
        .apiAccountsMgmtV1OrganizationsIdSummaryDashboardGet(requestParameters.id, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Delete an account group assignment
     * @param {DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsAcctGrpAsgnIdDeleteRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsAcctGrpAsgnIdDelete(
      requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsAcctGrpAsgnIdDeleteRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<void> {
      return localVarFp
        .apiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsAcctGrpAsgnIdDelete(
          requestParameters.orgId,
          requestParameters.acctGrpAsgnId,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Get account group assignment by id
     * @param {DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsAcctGrpAsgnIdGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsAcctGrpAsgnIdGet(
      requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsAcctGrpAsgnIdGetRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<AccountGroupAssignment> {
      return localVarFp
        .apiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsAcctGrpAsgnIdGet(
          requestParameters.orgId,
          requestParameters.acctGrpAsgnId,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Returns a list of account group assignments for the given org
     * @param {DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsGet(
      requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsGetRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<AccountGroupAssignmentList> {
      return localVarFp
        .apiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsGet(
          requestParameters.orgId,
          requestParameters.page,
          requestParameters.size,
          requestParameters.search,
          requestParameters.orderBy,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Create a new AccountGroupAssignment
     * @param {DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsPost(
      requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsPostRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<AccountGroupAssignment> {
      return localVarFp
        .apiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsPost(
          requestParameters.orgId,
          requestParameters.accountGroupAssignment,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Delete an account group
     * @param {DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdDeleteRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdDelete(
      requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdDeleteRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<void> {
      return localVarFp
        .apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdDelete(
          requestParameters.orgId,
          requestParameters.acctGrpId,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Get account group by id
     * @param {DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdGet(
      requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdGetRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<AccountGroup> {
      return localVarFp
        .apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdGet(
          requestParameters.orgId,
          requestParameters.acctGrpId,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Update an account group
     * @param {DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdPatchRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdPatch(
      requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdPatchRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<AccountGroup> {
      return localVarFp
        .apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdPatch(
          requestParameters.orgId,
          requestParameters.acctGrpId,
          requestParameters.accountGroupRequest,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Returns a list of account groups for the given org
     * @param {DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupsGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsGet(
      requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupsGetRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<AccountGroupList> {
      return localVarFp
        .apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsGet(
          requestParameters.orgId,
          requestParameters.page,
          requestParameters.size,
          requestParameters.search,
          requestParameters.orderBy,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Create a new AccountGroup
     * @param {DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupsPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsPost(
      requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupsPostRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<AccountGroup> {
      return localVarFp
        .apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsPost(
          requestParameters.orgId,
          requestParameters.accountGroupRequest,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Returns a list of consumed quota for an organization
     * @param {DefaultApiApiAccountsMgmtV1OrganizationsOrgIdConsumedQuotaGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsOrgIdConsumedQuotaGet(
      requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsOrgIdConsumedQuotaGetRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<ConsumedQuotaList> {
      return localVarFp
        .apiAccountsMgmtV1OrganizationsOrgIdConsumedQuotaGet(
          requestParameters.orgId,
          requestParameters.forceRecalc,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Returns a summary of quota cost
     * @param {DefaultApiApiAccountsMgmtV1OrganizationsOrgIdQuotaCostGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsOrgIdQuotaCostGet(
      requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsOrgIdQuotaCostGetRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<QuotaCostList> {
      return localVarFp
        .apiAccountsMgmtV1OrganizationsOrgIdQuotaCostGet(
          requestParameters.orgId,
          requestParameters.search,
          requestParameters.page,
          requestParameters.size,
          requestParameters.fetchRelatedResources,
          requestParameters.forceRecalc,
          requestParameters.fetchCloudAccounts,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Returns a list of resource quota objects
     * @param {DefaultApiApiAccountsMgmtV1OrganizationsOrgIdResourceQuotaGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaGet(
      requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsOrgIdResourceQuotaGetRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<ResourceQuotaList> {
      return localVarFp
        .apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaGet(
          requestParameters.orgId,
          requestParameters.page,
          requestParameters.size,
          requestParameters.search,
          requestParameters.orderBy,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Create a new resource quota
     * @param {DefaultApiApiAccountsMgmtV1OrganizationsOrgIdResourceQuotaPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaPost(
      requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsOrgIdResourceQuotaPostRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<ResourceQuota> {
      return localVarFp
        .apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaPost(
          requestParameters.orgId,
          requestParameters.resourceQuotaRequest,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Delete a resource quota
     * @param {DefaultApiApiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdDeleteRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdDelete(
      requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdDeleteRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<void> {
      return localVarFp
        .apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdDelete(
          requestParameters.orgId,
          requestParameters.quotaId,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Get a resource quota by id
     * @param {DefaultApiApiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdGet(
      requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdGetRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<ResourceQuota> {
      return localVarFp
        .apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdGet(
          requestParameters.orgId,
          requestParameters.quotaId,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Update a resource quota
     * @param {DefaultApiApiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdPatchRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdPatch(
      requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdPatchRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<ResourceQuota> {
      return localVarFp
        .apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdPatch(
          requestParameters.orgId,
          requestParameters.quotaId,
          requestParameters.resourceQuotaRequest,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Create a new organization
     * @param {DefaultApiApiAccountsMgmtV1OrganizationsPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1OrganizationsPost(
      requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsPostRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<Organization> {
      return localVarFp
        .apiAccountsMgmtV1OrganizationsPost(requestParameters.organization, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Get all plans
     * @param {DefaultApiApiAccountsMgmtV1PlansGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1PlansGet(
      requestParameters: DefaultApiApiAccountsMgmtV1PlansGetRequest = {},
      options?: AxiosRequestConfig,
    ): AxiosPromise<PlanList> {
      return localVarFp
        .apiAccountsMgmtV1PlansGet(
          requestParameters.page,
          requestParameters.size,
          requestParameters.search,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Get a plan by id
     * @param {DefaultApiApiAccountsMgmtV1PlansIdGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1PlansIdGet(
      requestParameters: DefaultApiApiAccountsMgmtV1PlansIdGetRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<Plan> {
      return localVarFp
        .apiAccountsMgmtV1PlansIdGet(requestParameters.id, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Delete a pull secret
     * @param {DefaultApiApiAccountsMgmtV1PullSecretsExternalResourceIdDeleteRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1PullSecretsExternalResourceIdDelete(
      requestParameters: DefaultApiApiAccountsMgmtV1PullSecretsExternalResourceIdDeleteRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<void> {
      return localVarFp
        .apiAccountsMgmtV1PullSecretsExternalResourceIdDelete(
          requestParameters.externalResourceId,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Return access token generated from registries in docker format
     * @param {DefaultApiApiAccountsMgmtV1PullSecretsPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1PullSecretsPost(
      requestParameters: DefaultApiApiAccountsMgmtV1PullSecretsPostRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<AccessTokenCfg> {
      return localVarFp
        .apiAccountsMgmtV1PullSecretsPost(requestParameters.pullSecretRequest, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Authorizes a user to consume or release a single quantity of quota
     * @param {DefaultApiApiAccountsMgmtV1QuotaAuthorizationsPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1QuotaAuthorizationsPost(
      requestParameters: DefaultApiApiAccountsMgmtV1QuotaAuthorizationsPostRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<QuotaAuthorizationResponse> {
      return localVarFp
        .apiAccountsMgmtV1QuotaAuthorizationsPost(
          requestParameters.quotaAuthorizationRequest,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Returns a summary of quota cost for the authenticated user
     * @param {DefaultApiApiAccountsMgmtV1QuotaCostGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1QuotaCostGet(
      requestParameters: DefaultApiApiAccountsMgmtV1QuotaCostGetRequest = {},
      options?: AxiosRequestConfig,
    ): AxiosPromise<QuotaCostList> {
      return localVarFp
        .apiAccountsMgmtV1QuotaCostGet(
          requestParameters.search,
          requestParameters.page,
          requestParameters.size,
          requestParameters.fetchRelatedResources,
          requestParameters.fetchCloudAccounts,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Returns a list of UHC product Quota Rules
     * @param {DefaultApiApiAccountsMgmtV1QuotaRulesGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1QuotaRulesGet(
      requestParameters: DefaultApiApiAccountsMgmtV1QuotaRulesGetRequest = {},
      options?: AxiosRequestConfig,
    ): AxiosPromise<QuotaRulesList> {
      return localVarFp
        .apiAccountsMgmtV1QuotaRulesGet(
          requestParameters.page,
          requestParameters.size,
          requestParameters.search,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Returns a list of quotas
     * @param {DefaultApiApiAccountsMgmtV1QuotasGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1QuotasGet(
      requestParameters: DefaultApiApiAccountsMgmtV1QuotasGetRequest = {},
      options?: AxiosRequestConfig,
    ): AxiosPromise<QuotaList> {
      return localVarFp
        .apiAccountsMgmtV1QuotasGet(
          requestParameters.page,
          requestParameters.size,
          requestParameters.search,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Delete a quota
     * @param {DefaultApiApiAccountsMgmtV1QuotasIdDeleteRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1QuotasIdDelete(
      requestParameters: DefaultApiApiAccountsMgmtV1QuotasIdDeleteRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<void> {
      return localVarFp
        .apiAccountsMgmtV1QuotasIdDelete(requestParameters.id, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Get a quota
     * @param {DefaultApiApiAccountsMgmtV1QuotasIdGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1QuotasIdGet(
      requestParameters: DefaultApiApiAccountsMgmtV1QuotasIdGetRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<Quota> {
      return localVarFp
        .apiAccountsMgmtV1QuotasIdGet(requestParameters.id, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Update a quota
     * @param {DefaultApiApiAccountsMgmtV1QuotasIdPatchRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1QuotasIdPatch(
      requestParameters: DefaultApiApiAccountsMgmtV1QuotasIdPatchRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<Quota> {
      return localVarFp
        .apiAccountsMgmtV1QuotasIdPatch(requestParameters.id, requestParameters.quota, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Create a new quota
     * @param {DefaultApiApiAccountsMgmtV1QuotasPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1QuotasPost(
      requestParameters: DefaultApiApiAccountsMgmtV1QuotasPostRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<Quota> {
      return localVarFp
        .apiAccountsMgmtV1QuotasPost(requestParameters.quota, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Returns a list of registries
     * @param {DefaultApiApiAccountsMgmtV1RegistriesGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1RegistriesGet(
      requestParameters: DefaultApiApiAccountsMgmtV1RegistriesGetRequest = {},
      options?: AxiosRequestConfig,
    ): AxiosPromise<RegistryList> {
      return localVarFp
        .apiAccountsMgmtV1RegistriesGet(
          requestParameters.page,
          requestParameters.size,
          requestParameters.search,
          requestParameters.orderBy,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Get an registry by id
     * @param {DefaultApiApiAccountsMgmtV1RegistriesIdGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1RegistriesIdGet(
      requestParameters: DefaultApiApiAccountsMgmtV1RegistriesIdGetRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<Registry> {
      return localVarFp
        .apiAccountsMgmtV1RegistriesIdGet(requestParameters.id, options)
        .then((request) => request(axios, basePath));
    },
    /**
     * List Registry Credentials
     * @param {DefaultApiApiAccountsMgmtV1RegistryCredentialsGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1RegistryCredentialsGet(
      requestParameters: DefaultApiApiAccountsMgmtV1RegistryCredentialsGetRequest = {},
      options?: AxiosRequestConfig,
    ): AxiosPromise<RegistryCredentialList> {
      return localVarFp
        .apiAccountsMgmtV1RegistryCredentialsGet(
          requestParameters.page,
          requestParameters.size,
          requestParameters.search,
          requestParameters.orderBy,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Delete a registry credential by id
     * @param {DefaultApiApiAccountsMgmtV1RegistryCredentialsIdDeleteRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1RegistryCredentialsIdDelete(
      requestParameters: DefaultApiApiAccountsMgmtV1RegistryCredentialsIdDeleteRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<void> {
      return localVarFp
        .apiAccountsMgmtV1RegistryCredentialsIdDelete(requestParameters.id, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Get a registry credentials by id
     * @param {DefaultApiApiAccountsMgmtV1RegistryCredentialsIdGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1RegistryCredentialsIdGet(
      requestParameters: DefaultApiApiAccountsMgmtV1RegistryCredentialsIdGetRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<RegistryCredential> {
      return localVarFp
        .apiAccountsMgmtV1RegistryCredentialsIdGet(requestParameters.id, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Update a registry credential
     * @param {DefaultApiApiAccountsMgmtV1RegistryCredentialsIdPatchRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1RegistryCredentialsIdPatch(
      requestParameters: DefaultApiApiAccountsMgmtV1RegistryCredentialsIdPatchRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<RegistryCredential> {
      return localVarFp
        .apiAccountsMgmtV1RegistryCredentialsIdPatch(
          requestParameters.id,
          requestParameters.registryCredentialPatchRequest,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Request the creation of a registry credential
     * @param {DefaultApiApiAccountsMgmtV1RegistryCredentialsPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1RegistryCredentialsPost(
      requestParameters: DefaultApiApiAccountsMgmtV1RegistryCredentialsPostRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<RegistryCredential> {
      return localVarFp
        .apiAccountsMgmtV1RegistryCredentialsPost(requestParameters.registryCredential, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Returns a list of reserved resources
     * @param {DefaultApiApiAccountsMgmtV1ReservedResourcesGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1ReservedResourcesGet(
      requestParameters: DefaultApiApiAccountsMgmtV1ReservedResourcesGetRequest = {},
      options?: AxiosRequestConfig,
    ): AxiosPromise<ReservedResourceList> {
      return localVarFp
        .apiAccountsMgmtV1ReservedResourcesGet(
          requestParameters.page,
          requestParameters.size,
          requestParameters.search,
          requestParameters.orderBy,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Returns a list of resource quota objects
     * @param {DefaultApiApiAccountsMgmtV1ResourceQuotaGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1ResourceQuotaGet(
      requestParameters: DefaultApiApiAccountsMgmtV1ResourceQuotaGetRequest = {},
      options?: AxiosRequestConfig,
    ): AxiosPromise<ResourceQuotaList> {
      return localVarFp
        .apiAccountsMgmtV1ResourceQuotaGet(
          requestParameters.page,
          requestParameters.size,
          requestParameters.search,
          requestParameters.orderBy,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Returns a list of role bindings
     * @param {DefaultApiApiAccountsMgmtV1RoleBindingsGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1RoleBindingsGet(
      requestParameters: DefaultApiApiAccountsMgmtV1RoleBindingsGetRequest = {},
      options?: AxiosRequestConfig,
    ): AxiosPromise<RoleBindingList> {
      return localVarFp
        .apiAccountsMgmtV1RoleBindingsGet(
          requestParameters.page,
          requestParameters.size,
          requestParameters.search,
          requestParameters.orderBy,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Delete a role binding
     * @param {DefaultApiApiAccountsMgmtV1RoleBindingsIdDeleteRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1RoleBindingsIdDelete(
      requestParameters: DefaultApiApiAccountsMgmtV1RoleBindingsIdDeleteRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<void> {
      return localVarFp
        .apiAccountsMgmtV1RoleBindingsIdDelete(requestParameters.id, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Get a role binding
     * @param {DefaultApiApiAccountsMgmtV1RoleBindingsIdGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1RoleBindingsIdGet(
      requestParameters: DefaultApiApiAccountsMgmtV1RoleBindingsIdGetRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<RoleBinding> {
      return localVarFp
        .apiAccountsMgmtV1RoleBindingsIdGet(requestParameters.id, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Update a role binding
     * @param {DefaultApiApiAccountsMgmtV1RoleBindingsIdPatchRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1RoleBindingsIdPatch(
      requestParameters: DefaultApiApiAccountsMgmtV1RoleBindingsIdPatchRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<RoleBinding> {
      return localVarFp
        .apiAccountsMgmtV1RoleBindingsIdPatch(
          requestParameters.id,
          requestParameters.roleBindingRequest,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Create a new role binding
     * @param {DefaultApiApiAccountsMgmtV1RoleBindingsPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1RoleBindingsPost(
      requestParameters: DefaultApiApiAccountsMgmtV1RoleBindingsPostRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<RoleBinding> {
      return localVarFp
        .apiAccountsMgmtV1RoleBindingsPost(requestParameters.roleBindingCreateRequest, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Returns a list of roles
     * @param {DefaultApiApiAccountsMgmtV1RolesGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1RolesGet(
      requestParameters: DefaultApiApiAccountsMgmtV1RolesGetRequest = {},
      options?: AxiosRequestConfig,
    ): AxiosPromise<RoleList> {
      return localVarFp
        .apiAccountsMgmtV1RolesGet(
          requestParameters.page,
          requestParameters.size,
          requestParameters.search,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Get a role by id
     * @param {DefaultApiApiAccountsMgmtV1RolesIdGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1RolesIdGet(
      requestParameters: DefaultApiApiAccountsMgmtV1RolesIdGetRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<Role> {
      return localVarFp
        .apiAccountsMgmtV1RolesIdGet(requestParameters.id, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Create or renew the entitlement to support a product for the user\'s organization.
     * @param {DefaultApiApiAccountsMgmtV1SelfEntitlementProductPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SelfEntitlementProductPost(
      requestParameters: DefaultApiApiAccountsMgmtV1SelfEntitlementProductPostRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<SelfEntitlementStatus> {
      return localVarFp
        .apiAccountsMgmtV1SelfEntitlementProductPost(requestParameters.product, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Returns a list of UHC product SKU Rules
     * @param {DefaultApiApiAccountsMgmtV1SkuRulesGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SkuRulesGet(
      requestParameters: DefaultApiApiAccountsMgmtV1SkuRulesGetRequest = {},
      options?: AxiosRequestConfig,
    ): AxiosPromise<SkuRulesList> {
      return localVarFp
        .apiAccountsMgmtV1SkuRulesGet(
          requestParameters.search,
          requestParameters.page,
          requestParameters.size,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Delete a sku rule
     * @param {DefaultApiApiAccountsMgmtV1SkuRulesIdDeleteRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SkuRulesIdDelete(
      requestParameters: DefaultApiApiAccountsMgmtV1SkuRulesIdDeleteRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<void> {
      return localVarFp
        .apiAccountsMgmtV1SkuRulesIdDelete(requestParameters.id, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Get a sku rules by id
     * @param {DefaultApiApiAccountsMgmtV1SkuRulesIdGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SkuRulesIdGet(
      requestParameters: DefaultApiApiAccountsMgmtV1SkuRulesIdGetRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<SkuRules> {
      return localVarFp
        .apiAccountsMgmtV1SkuRulesIdGet(requestParameters.id, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Update a sku rule
     * @param {DefaultApiApiAccountsMgmtV1SkuRulesIdPatchRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SkuRulesIdPatch(
      requestParameters: DefaultApiApiAccountsMgmtV1SkuRulesIdPatchRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<SkuRules> {
      return localVarFp
        .apiAccountsMgmtV1SkuRulesIdPatch(requestParameters.id, requestParameters.skuRules, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Create a new sku rule
     * @param {DefaultApiApiAccountsMgmtV1SkuRulesPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SkuRulesPost(
      requestParameters: DefaultApiApiAccountsMgmtV1SkuRulesPostRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<SkuRules> {
      return localVarFp
        .apiAccountsMgmtV1SkuRulesPost(requestParameters.skuRules, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Returns a list of UHC product SKUs
     * @param {DefaultApiApiAccountsMgmtV1SkusGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @deprecated
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SkusGet(
      requestParameters: DefaultApiApiAccountsMgmtV1SkusGetRequest = {},
      options?: AxiosRequestConfig,
    ): AxiosPromise<SkuList> {
      return localVarFp
        .apiAccountsMgmtV1SkusGet(requestParameters.search, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Get a sku by id
     * @param {DefaultApiApiAccountsMgmtV1SkusIdGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @deprecated
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SkusIdGet(
      requestParameters: DefaultApiApiAccountsMgmtV1SkusIdGetRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<SKU> {
      return localVarFp
        .apiAccountsMgmtV1SkusIdGet(requestParameters.id, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Returns a list of subscriptions
     * @param {DefaultApiApiAccountsMgmtV1SubscriptionsGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsGet(
      requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsGetRequest = {},
      options?: AxiosRequestConfig,
    ): AxiosPromise<SubscriptionList> {
      return localVarFp
        .apiAccountsMgmtV1SubscriptionsGet(
          requestParameters.page,
          requestParameters.size,
          requestParameters.search,
          requestParameters.fetchAccounts,
          requestParameters.fetchLabels,
          requestParameters.fetchCapabilities,
          requestParameters.fields,
          requestParameters.orderBy,
          requestParameters.labels,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Deletes a subscription by id
     * @param {DefaultApiApiAccountsMgmtV1SubscriptionsIdDeleteRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsIdDelete(
      requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsIdDeleteRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<void> {
      return localVarFp
        .apiAccountsMgmtV1SubscriptionsIdDelete(requestParameters.id, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Get a subscription by id
     * @param {DefaultApiApiAccountsMgmtV1SubscriptionsIdGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsIdGet(
      requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsIdGetRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<Subscription> {
      return localVarFp
        .apiAccountsMgmtV1SubscriptionsIdGet(
          requestParameters.id,
          requestParameters.fetchAccounts,
          requestParameters.fetchLabels,
          requestParameters.fetchCapabilities,
          requestParameters.fetchCpuAndSocket,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Returns a list of labels
     * @param {DefaultApiApiAccountsMgmtV1SubscriptionsIdLabelsGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsIdLabelsGet(
      requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsIdLabelsGetRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<LabelList> {
      return localVarFp
        .apiAccountsMgmtV1SubscriptionsIdLabelsGet(
          requestParameters.id,
          requestParameters.page,
          requestParameters.size,
          requestParameters.search,
          requestParameters.orderBy,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Delete a label
     * @param {DefaultApiApiAccountsMgmtV1SubscriptionsIdLabelsKeyDeleteRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsIdLabelsKeyDelete(
      requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsIdLabelsKeyDeleteRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<void> {
      return localVarFp
        .apiAccountsMgmtV1SubscriptionsIdLabelsKeyDelete(
          requestParameters.id,
          requestParameters.key,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Get subscription labels by label key
     * @param {DefaultApiApiAccountsMgmtV1SubscriptionsIdLabelsKeyGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsIdLabelsKeyGet(
      requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsIdLabelsKeyGetRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<Label> {
      return localVarFp
        .apiAccountsMgmtV1SubscriptionsIdLabelsKeyGet(
          requestParameters.id,
          requestParameters.key,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Create a new label or update an existing label
     * @param {DefaultApiApiAccountsMgmtV1SubscriptionsIdLabelsKeyPatchRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsIdLabelsKeyPatch(
      requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsIdLabelsKeyPatchRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<Label> {
      return localVarFp
        .apiAccountsMgmtV1SubscriptionsIdLabelsKeyPatch(
          requestParameters.id,
          requestParameters.key,
          requestParameters.label,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Create a new label or update an existing label
     * @param {DefaultApiApiAccountsMgmtV1SubscriptionsIdLabelsPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsIdLabelsPost(
      requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsIdLabelsPostRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<Label> {
      return localVarFp
        .apiAccountsMgmtV1SubscriptionsIdLabelsPost(
          requestParameters.id,
          requestParameters.label,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Get subscription\'s metrics by metric name
     * @param {DefaultApiApiAccountsMgmtV1SubscriptionsIdMetricsMetricNameGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsIdMetricsMetricNameGet(
      requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsIdMetricsMetricNameGetRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<SubscriptionMetricList> {
      return localVarFp
        .apiAccountsMgmtV1SubscriptionsIdMetricsMetricNameGet(
          requestParameters.id,
          requestParameters.metricName,
          requestParameters.search,
          requestParameters.fields,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Notify the owner of a subscription
     * @param {DefaultApiApiAccountsMgmtV1SubscriptionsIdNotifyPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsIdNotifyPost(
      requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsIdNotifyPostRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<void> {
      return localVarFp
        .apiAccountsMgmtV1SubscriptionsIdNotifyPost(
          requestParameters.id,
          requestParameters.notificationRequest,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Update a subscription
     * @param {DefaultApiApiAccountsMgmtV1SubscriptionsIdPatchRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsIdPatch(
      requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsIdPatchRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<Subscription> {
      return localVarFp
        .apiAccountsMgmtV1SubscriptionsIdPatch(
          requestParameters.id,
          requestParameters.subscriptionPatchRequest,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Returns a list of reserved resources
     * @param {DefaultApiApiAccountsMgmtV1SubscriptionsIdReservedResourcesGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsIdReservedResourcesGet(
      requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsIdReservedResourcesGetRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<ReservedResourceList> {
      return localVarFp
        .apiAccountsMgmtV1SubscriptionsIdReservedResourcesGet(
          requestParameters.id,
          requestParameters.page,
          requestParameters.size,
          requestParameters.search,
          requestParameters.orderBy,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Returns a list of open support creates opened against the external cluster id of this subscrption
     * @param {DefaultApiApiAccountsMgmtV1SubscriptionsIdSupportCasesGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsIdSupportCasesGet(
      requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsIdSupportCasesGetRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<void> {
      return localVarFp
        .apiAccountsMgmtV1SubscriptionsIdSupportCasesGet(
          requestParameters.id,
          requestParameters.page,
          requestParameters.size,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Create a new subscription
     * @param {DefaultApiApiAccountsMgmtV1SubscriptionsPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsPost(
      requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsPostRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<Subscription> {
      return localVarFp
        .apiAccountsMgmtV1SubscriptionsPost(requestParameters.subscriptionCreateRequest, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Deletes a notification contact by subscription and account id
     * @param {DefaultApiApiAccountsMgmtV1SubscriptionsSubIdNotificationContactsAccountIdDeleteRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsSubIdNotificationContactsAccountIdDelete(
      requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsSubIdNotificationContactsAccountIdDeleteRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<void> {
      return localVarFp
        .apiAccountsMgmtV1SubscriptionsSubIdNotificationContactsAccountIdDelete(
          requestParameters.subId,
          requestParameters.accountId,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Returns a list of notification contacts for the given subscription
     * @param {DefaultApiApiAccountsMgmtV1SubscriptionsSubIdNotificationContactsGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsSubIdNotificationContactsGet(
      requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsSubIdNotificationContactsGetRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<AccountList> {
      return localVarFp
        .apiAccountsMgmtV1SubscriptionsSubIdNotificationContactsGet(
          requestParameters.subId,
          requestParameters.page,
          requestParameters.size,
          requestParameters.search,
          requestParameters.fields,
          requestParameters.orderBy,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Add an account as a notification contact to this subscription
     * @param {DefaultApiApiAccountsMgmtV1SubscriptionsSubIdNotificationContactsPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsSubIdNotificationContactsPost(
      requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsSubIdNotificationContactsPostRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<Account> {
      return localVarFp
        .apiAccountsMgmtV1SubscriptionsSubIdNotificationContactsPost(
          requestParameters.subId,
          requestParameters.notificationContactCreateRequest,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Delete reserved resources by id
     * @param {DefaultApiApiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdDeleteRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdDelete(
      requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdDeleteRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<void> {
      return localVarFp
        .apiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdDelete(
          requestParameters.subId,
          requestParameters.reservedResourceId,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Get reserved resources by id
     * @param {DefaultApiApiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdGet(
      requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdGetRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<ReservedResource> {
      return localVarFp
        .apiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdGet(
          requestParameters.subId,
          requestParameters.reservedResourceId,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Update a reserved resource
     * @param {DefaultApiApiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdPatchRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdPatch(
      requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdPatchRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<ReservedResource> {
      return localVarFp
        .apiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdPatch(
          requestParameters.subId,
          requestParameters.reservedResourceId,
          requestParameters.reservedResourcePatchRequest,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Get subscription role bindings
     * @param {DefaultApiApiAccountsMgmtV1SubscriptionsSubIdRoleBindingsGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsSubIdRoleBindingsGet(
      requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsSubIdRoleBindingsGetRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<SubscriptionRoleBindingList> {
      return localVarFp
        .apiAccountsMgmtV1SubscriptionsSubIdRoleBindingsGet(
          requestParameters.subId,
          requestParameters.page,
          requestParameters.size,
          requestParameters.search,
          requestParameters.orderBy,
          requestParameters.fetchAccounts,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Delete a subscription role binding
     * @param {DefaultApiApiAccountsMgmtV1SubscriptionsSubIdRoleBindingsIdDeleteRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsSubIdRoleBindingsIdDelete(
      requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsSubIdRoleBindingsIdDeleteRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<void> {
      return localVarFp
        .apiAccountsMgmtV1SubscriptionsSubIdRoleBindingsIdDelete(
          requestParameters.id,
          requestParameters.subId,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Get a Subscription Role Binding by id
     * @param {DefaultApiApiAccountsMgmtV1SubscriptionsSubIdRoleBindingsIdGetRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsSubIdRoleBindingsIdGet(
      requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsSubIdRoleBindingsIdGetRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<SubscriptionRoleBinding> {
      return localVarFp
        .apiAccountsMgmtV1SubscriptionsSubIdRoleBindingsIdGet(
          requestParameters.id,
          requestParameters.subId,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Create a new subscription role binding
     * @param {DefaultApiApiAccountsMgmtV1SubscriptionsSubIdRoleBindingsPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SubscriptionsSubIdRoleBindingsPost(
      requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsSubIdRoleBindingsPostRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<SubscriptionRoleBinding> {
      return localVarFp
        .apiAccountsMgmtV1SubscriptionsSubIdRoleBindingsPost(
          requestParameters.subId,
          requestParameters.subscriptionRoleBindingCreateRequest,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Delete a support case
     * @param {DefaultApiApiAccountsMgmtV1SupportCasesCaseIdDeleteRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SupportCasesCaseIdDelete(
      requestParameters: DefaultApiApiAccountsMgmtV1SupportCasesCaseIdDeleteRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<void> {
      return localVarFp
        .apiAccountsMgmtV1SupportCasesCaseIdDelete(requestParameters.caseId, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary create a support case for the subscription
     * @param {DefaultApiApiAccountsMgmtV1SupportCasesPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1SupportCasesPost(
      requestParameters: DefaultApiApiAccountsMgmtV1SupportCasesPostRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<SupportCasesCreatedResponse> {
      return localVarFp
        .apiAccountsMgmtV1SupportCasesPost(requestParameters.supportCasesRequest, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Finds the account owner of the provided token
     * @param {DefaultApiApiAccountsMgmtV1TokenAuthorizationPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAccountsMgmtV1TokenAuthorizationPost(
      requestParameters: DefaultApiApiAccountsMgmtV1TokenAuthorizationPostRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<TokenAuthorizationResponse> {
      return localVarFp
        .apiAccountsMgmtV1TokenAuthorizationPost(
          requestParameters.tokenAuthorizationRequest,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Review an account\'s access to perform an action on a particular resource or resource type
     * @param {DefaultApiApiAuthorizationsV1AccessReviewPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAuthorizationsV1AccessReviewPost(
      requestParameters: DefaultApiApiAuthorizationsV1AccessReviewPostRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<AccessReviewResponse> {
      return localVarFp
        .apiAuthorizationsV1AccessReviewPost(requestParameters.accessReview, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Review an account\'s capabilities
     * @param {DefaultApiApiAuthorizationsV1CapabilityReviewPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAuthorizationsV1CapabilityReviewPost(
      requestParameters: DefaultApiApiAuthorizationsV1CapabilityReviewPostRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<CapabilityReview> {
      return localVarFp
        .apiAuthorizationsV1CapabilityReviewPost(requestParameters.capabilityReviewRequest, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Determine whether a user is restricted from downloading Red Hat software based on export control compliance.
     * @param {DefaultApiApiAuthorizationsV1ExportControlReviewPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAuthorizationsV1ExportControlReviewPost(
      requestParameters: DefaultApiApiAuthorizationsV1ExportControlReviewPostRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<ExportControlReview> {
      return localVarFp
        .apiAuthorizationsV1ExportControlReviewPost(
          requestParameters.exportControlReviewRequest,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Review feature to perform an action on it such as toggle a feature on/off
     * @param {DefaultApiApiAuthorizationsV1FeatureReviewPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAuthorizationsV1FeatureReviewPost(
      requestParameters: DefaultApiApiAuthorizationsV1FeatureReviewPostRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<FeatureReviewResponse> {
      return localVarFp
        .apiAuthorizationsV1FeatureReviewPost(requestParameters.featureReview, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Obtain resource ids for resources an account may perform the specified action upon. Resource ids returned as [\"*\"] is shorthand for all ids.
     * @param {DefaultApiApiAuthorizationsV1ResourceReviewPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @deprecated
     * @throws {RequiredError}
     */
    apiAuthorizationsV1ResourceReviewPost(
      requestParameters: DefaultApiApiAuthorizationsV1ResourceReviewPostRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<ResourceReview> {
      return localVarFp
        .apiAuthorizationsV1ResourceReviewPost(
          requestParameters.resourceReviewRequest,
          requestParameters.reduceClusterList,
          requestParameters.excludeSubscriptionStatuses,
          requestParameters.includeSubscriptionStatuses,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Review your ability to perform an action on a particular resource or resource type
     * @param {DefaultApiApiAuthorizationsV1SelfAccessReviewPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAuthorizationsV1SelfAccessReviewPost(
      requestParameters: DefaultApiApiAuthorizationsV1SelfAccessReviewPostRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<AccessReviewResponse> {
      return localVarFp
        .apiAuthorizationsV1SelfAccessReviewPost(requestParameters.selfAccessReview, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Review your ability to toggle a feature
     * @param {DefaultApiApiAuthorizationsV1SelfFeatureReviewPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAuthorizationsV1SelfFeatureReviewPost(
      requestParameters: DefaultApiApiAuthorizationsV1SelfFeatureReviewPostRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<FeatureReviewResponse> {
      return localVarFp
        .apiAuthorizationsV1SelfFeatureReviewPost(requestParameters.selfFeatureReview, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Obtain resource ids for resources you may perform the specified action upon. Resource ids returned as [\"*\"] is shorthand for all ids.
     * @param {DefaultApiApiAuthorizationsV1SelfResourceReviewPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAuthorizationsV1SelfResourceReviewPost(
      requestParameters: DefaultApiApiAuthorizationsV1SelfResourceReviewPostRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<SelfResourceReview> {
      return localVarFp
        .apiAuthorizationsV1SelfResourceReviewPost(
          requestParameters.selfResourceReviewRequest,
          requestParameters.reduceClusterList,
          requestParameters.excludeSubscriptionStatuses,
          requestParameters.includeSubscriptionStatuses,
          options,
        )
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Review your status of Terms
     * @param {DefaultApiApiAuthorizationsV1SelfTermsReviewPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAuthorizationsV1SelfTermsReviewPost(
      requestParameters: DefaultApiApiAuthorizationsV1SelfTermsReviewPostRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<TermsReviewResponse> {
      return localVarFp
        .apiAuthorizationsV1SelfTermsReviewPost(requestParameters.selfTermsReview, options)
        .then((request) => request(axios, basePath));
    },
    /**
     *
     * @summary Review an account\'s status of Terms
     * @param {DefaultApiApiAuthorizationsV1TermsReviewPostRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    apiAuthorizationsV1TermsReviewPost(
      requestParameters: DefaultApiApiAuthorizationsV1TermsReviewPostRequest,
      options?: AxiosRequestConfig,
    ): AxiosPromise<TermsReviewResponse> {
      return localVarFp
        .apiAuthorizationsV1TermsReviewPost(requestParameters.termsReview, options)
        .then((request) => request(axios, basePath));
    },
  };
};

/**
 * Request parameters for apiAccountsMgmtV1AccountsGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1AccountsGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1AccountsGetRequest {
  /**
   * Page number of record list when record list exceeds specified page size
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1AccountsGet
   */
  readonly page?: number;

  /**
   * Maximum number of records to return
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1AccountsGet
   */
  readonly size?: number;

  /**
   * Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1AccountsGet
   */
  readonly search?: string;

  /**
   * Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1AccountsGet
   */
  readonly orderBy?: string;

  /**
   * Supplies a comma-separated list of fields to be returned. Fields of sub-structures and of arrays use &lt;structure&gt;.&lt;field&gt; notation. &lt;stucture&gt;.* means all field of a structure Example: For each Subscription to get id, href, plan(id and kind) and labels (all fields)  &#x60;&#x60;&#x60; ocm get subscriptions --parameter fields&#x3D;id,href,plan.id,plan.kind,labels.* --parameter fetchLabels&#x3D;true &#x60;&#x60;&#x60;
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1AccountsGet
   */
  readonly fields?: string;

  /**
   * If true, includes the labels on a subscription/organization/account in the output. Could slow request response time.
   * @type {boolean}
   * @memberof DefaultApiApiAccountsMgmtV1AccountsGet
   */
  readonly fetchLabels?: boolean;

  /**
   * If true, includes the capabilities on a subscription in the output. Could slow request response time.
   * @type {boolean}
   * @memberof DefaultApiApiAccountsMgmtV1AccountsGet
   */
  readonly fetchCapabilities?: boolean;
}

/**
 * Request parameters for apiAccountsMgmtV1AccountsIdDelete operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1AccountsIdDeleteRequest
 */
export interface DefaultApiApiAccountsMgmtV1AccountsIdDeleteRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1AccountsIdDelete
   */
  readonly id: string;

  /**
   * If true, deletes the associated resources (e.g. role bindings) for an account along with the account itself
   * @type {boolean}
   * @memberof DefaultApiApiAccountsMgmtV1AccountsIdDelete
   */
  readonly deleteAssociatedResources?: boolean;
}

/**
 * Request parameters for apiAccountsMgmtV1AccountsIdGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1AccountsIdGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1AccountsIdGetRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1AccountsIdGet
   */
  readonly id: string;

  /**
   * If true, includes the labels on a subscription/organization/account in the output. Could slow request response time.
   * @type {boolean}
   * @memberof DefaultApiApiAccountsMgmtV1AccountsIdGet
   */
  readonly fetchLabels?: boolean;

  /**
   * If true, includes the capabilities on a subscription in the output. Could slow request response time.
   * @type {boolean}
   * @memberof DefaultApiApiAccountsMgmtV1AccountsIdGet
   */
  readonly fetchCapabilities?: boolean;

  /**
   * If true, includes the RHIT account_id in the output. Could slow request response time.
   * @type {boolean}
   * @memberof DefaultApiApiAccountsMgmtV1AccountsIdGet
   */
  readonly fetchRhit?: boolean;
}

/**
 * Request parameters for apiAccountsMgmtV1AccountsIdLabelsGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1AccountsIdLabelsGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1AccountsIdLabelsGetRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1AccountsIdLabelsGet
   */
  readonly id: string;

  /**
   * Page number of record list when record list exceeds specified page size
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1AccountsIdLabelsGet
   */
  readonly page?: number;

  /**
   * Maximum number of records to return
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1AccountsIdLabelsGet
   */
  readonly size?: number;

  /**
   * Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1AccountsIdLabelsGet
   */
  readonly search?: string;

  /**
   * Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1AccountsIdLabelsGet
   */
  readonly orderBy?: string;
}

/**
 * Request parameters for apiAccountsMgmtV1AccountsIdLabelsKeyDelete operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1AccountsIdLabelsKeyDeleteRequest
 */
export interface DefaultApiApiAccountsMgmtV1AccountsIdLabelsKeyDeleteRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1AccountsIdLabelsKeyDelete
   */
  readonly id: string;

  /**
   * The key of the label
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1AccountsIdLabelsKeyDelete
   */
  readonly key: string;
}

/**
 * Request parameters for apiAccountsMgmtV1AccountsIdLabelsKeyGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1AccountsIdLabelsKeyGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1AccountsIdLabelsKeyGetRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1AccountsIdLabelsKeyGet
   */
  readonly id: string;

  /**
   * The key of the label
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1AccountsIdLabelsKeyGet
   */
  readonly key: string;
}

/**
 * Request parameters for apiAccountsMgmtV1AccountsIdLabelsKeyPatch operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1AccountsIdLabelsKeyPatchRequest
 */
export interface DefaultApiApiAccountsMgmtV1AccountsIdLabelsKeyPatchRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1AccountsIdLabelsKeyPatch
   */
  readonly id: string;

  /**
   * The key of the label
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1AccountsIdLabelsKeyPatch
   */
  readonly key: string;

  /**
   * Label data
   * @type {Label}
   * @memberof DefaultApiApiAccountsMgmtV1AccountsIdLabelsKeyPatch
   */
  readonly label: Label;
}

/**
 * Request parameters for apiAccountsMgmtV1AccountsIdLabelsPost operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1AccountsIdLabelsPostRequest
 */
export interface DefaultApiApiAccountsMgmtV1AccountsIdLabelsPostRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1AccountsIdLabelsPost
   */
  readonly id: string;

  /**
   * Label data
   * @type {Label}
   * @memberof DefaultApiApiAccountsMgmtV1AccountsIdLabelsPost
   */
  readonly label: Label;
}

/**
 * Request parameters for apiAccountsMgmtV1AccountsIdPatch operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1AccountsIdPatchRequest
 */
export interface DefaultApiApiAccountsMgmtV1AccountsIdPatchRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1AccountsIdPatch
   */
  readonly id: string;

  /**
   * Updated account data
   * @type {AccountPatchRequest}
   * @memberof DefaultApiApiAccountsMgmtV1AccountsIdPatch
   */
  readonly accountPatchRequest: AccountPatchRequest;
}

/**
 * Request parameters for apiAccountsMgmtV1AccountsIdPullSecretRotationGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1AccountsIdPullSecretRotationGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1AccountsIdPullSecretRotationGetRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1AccountsIdPullSecretRotationGet
   */
  readonly id: string;

  /**
   * Page number of record list when record list exceeds specified page size
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1AccountsIdPullSecretRotationGet
   */
  readonly page?: number;

  /**
   * Maximum number of records to return
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1AccountsIdPullSecretRotationGet
   */
  readonly size?: number;

  /**
   * Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1AccountsIdPullSecretRotationGet
   */
  readonly search?: string;

  /**
   * Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1AccountsIdPullSecretRotationGet
   */
  readonly orderBy?: string;
}

/**
 * Request parameters for apiAccountsMgmtV1AccountsIdPullSecretRotationPost operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1AccountsIdPullSecretRotationPostRequest
 */
export interface DefaultApiApiAccountsMgmtV1AccountsIdPullSecretRotationPostRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1AccountsIdPullSecretRotationPost
   */
  readonly id: string;

  /**
   * The contents of the pull secret rotation creation request
   * @type {PullSecretRotationRequest}
   * @memberof DefaultApiApiAccountsMgmtV1AccountsIdPullSecretRotationPost
   */
  readonly pullSecretRotationRequest?: PullSecretRotationRequest;
}

/**
 * Request parameters for apiAccountsMgmtV1AccountsIdPullSecretRotationRotationIdDelete operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1AccountsIdPullSecretRotationRotationIdDeleteRequest
 */
export interface DefaultApiApiAccountsMgmtV1AccountsIdPullSecretRotationRotationIdDeleteRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1AccountsIdPullSecretRotationRotationIdDelete
   */
  readonly id: string;

  /**
   * The id of the pull secret rotation
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1AccountsIdPullSecretRotationRotationIdDelete
   */
  readonly rotationId: string;
}

/**
 * Request parameters for apiAccountsMgmtV1AccountsIdPullSecretRotationRotationIdGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1AccountsIdPullSecretRotationRotationIdGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1AccountsIdPullSecretRotationRotationIdGetRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1AccountsIdPullSecretRotationRotationIdGet
   */
  readonly id: string;

  /**
   * The id of the pull secret rotation
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1AccountsIdPullSecretRotationRotationIdGet
   */
  readonly rotationId: string;
}

/**
 * Request parameters for apiAccountsMgmtV1AccountsPost operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1AccountsPostRequest
 */
export interface DefaultApiApiAccountsMgmtV1AccountsPostRequest {
  /**
   * Account data
   * @type {Account}
   * @memberof DefaultApiApiAccountsMgmtV1AccountsPost
   */
  readonly account: Account;

  /**
   * If true, instructs API to avoid making any changes, but rather run through validations only.
   * @type {boolean}
   * @memberof DefaultApiApiAccountsMgmtV1AccountsPost
   */
  readonly dryRun?: boolean;
}

/**
 * Request parameters for apiAccountsMgmtV1BillingModelsGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1BillingModelsGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1BillingModelsGetRequest {
  /**
   * Page number of record list when record list exceeds specified page size
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1BillingModelsGet
   */
  readonly page?: number;

  /**
   * Maximum number of records to return
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1BillingModelsGet
   */
  readonly size?: number;
}

/**
 * Request parameters for apiAccountsMgmtV1BillingModelsIdGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1BillingModelsIdGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1BillingModelsIdGetRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1BillingModelsIdGet
   */
  readonly id: string;
}

/**
 * Request parameters for apiAccountsMgmtV1CapabilitiesGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1CapabilitiesGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1CapabilitiesGetRequest {
  /**
   * Page number of record list when record list exceeds specified page size
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1CapabilitiesGet
   */
  readonly page?: number;

  /**
   * Maximum number of records to return
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1CapabilitiesGet
   */
  readonly size?: number;

  /**
   * Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1CapabilitiesGet
   */
  readonly search?: string;
}

/**
 * Request parameters for apiAccountsMgmtV1CertificatesPost operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1CertificatesPostRequest
 */
export interface DefaultApiApiAccountsMgmtV1CertificatesPostRequest {
  /**
   * # The payload depends on the type of the requested certificate The examples for supported types: * {\&quot;type\&quot;: \&quot;sca\&quot;, \&quot;arch\&quot;: \&quot;x86_64\&quot;}
   * @type {CertificatesRequest}
   * @memberof DefaultApiApiAccountsMgmtV1CertificatesPost
   */
  readonly certificatesRequest: CertificatesRequest;
}

/**
 * Request parameters for apiAccountsMgmtV1CloudResourcesGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1CloudResourcesGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1CloudResourcesGetRequest {
  /**
   * Page number of record list when record list exceeds specified page size
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1CloudResourcesGet
   */
  readonly page?: number;

  /**
   * Maximum number of records to return
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1CloudResourcesGet
   */
  readonly size?: number;

  /**
   * Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1CloudResourcesGet
   */
  readonly search?: string;
}

/**
 * Request parameters for apiAccountsMgmtV1CloudResourcesIdDelete operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1CloudResourcesIdDeleteRequest
 */
export interface DefaultApiApiAccountsMgmtV1CloudResourcesIdDeleteRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1CloudResourcesIdDelete
   */
  readonly id: string;
}

/**
 * Request parameters for apiAccountsMgmtV1CloudResourcesIdGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1CloudResourcesIdGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1CloudResourcesIdGetRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1CloudResourcesIdGet
   */
  readonly id: string;
}

/**
 * Request parameters for apiAccountsMgmtV1CloudResourcesIdPatch operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1CloudResourcesIdPatchRequest
 */
export interface DefaultApiApiAccountsMgmtV1CloudResourcesIdPatchRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1CloudResourcesIdPatch
   */
  readonly id: string;

  /**
   * Updated cloud resource data
   * @type {CloudResource}
   * @memberof DefaultApiApiAccountsMgmtV1CloudResourcesIdPatch
   */
  readonly cloudResource: CloudResource;
}

/**
 * Request parameters for apiAccountsMgmtV1CloudResourcesPost operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1CloudResourcesPostRequest
 */
export interface DefaultApiApiAccountsMgmtV1CloudResourcesPostRequest {
  /**
   * Cloud resource data
   * @type {CloudResource}
   * @memberof DefaultApiApiAccountsMgmtV1CloudResourcesPost
   */
  readonly cloudResource: CloudResource;
}

/**
 * Request parameters for apiAccountsMgmtV1ClusterAuthorizationsPost operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1ClusterAuthorizationsPostRequest
 */
export interface DefaultApiApiAccountsMgmtV1ClusterAuthorizationsPostRequest {
  /**
   * Cluster and authorization data
   * @type {ClusterAuthorizationRequest}
   * @memberof DefaultApiApiAccountsMgmtV1ClusterAuthorizationsPost
   */
  readonly clusterAuthorizationRequest: ClusterAuthorizationRequest;
}

/**
 * Request parameters for apiAccountsMgmtV1ClusterRegistrationsPost operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1ClusterRegistrationsPostRequest
 */
export interface DefaultApiApiAccountsMgmtV1ClusterRegistrationsPostRequest {
  /**
   * Cluster and authorization data
   * @type {ClusterRegistrationRequest}
   * @memberof DefaultApiApiAccountsMgmtV1ClusterRegistrationsPost
   */
  readonly clusterRegistrationRequest: ClusterRegistrationRequest;
}

/**
 * Request parameters for apiAccountsMgmtV1ClusterTransfersGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1ClusterTransfersGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1ClusterTransfersGetRequest {
  /**
   * Page number of record list when record list exceeds specified page size
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1ClusterTransfersGet
   */
  readonly page?: number;

  /**
   * Maximum number of records to return
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1ClusterTransfersGet
   */
  readonly size?: number;

  /**
   * Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1ClusterTransfersGet
   */
  readonly search?: string;

  /**
   * Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1ClusterTransfersGet
   */
  readonly orderBy?: string;
}

/**
 * Request parameters for apiAccountsMgmtV1ClusterTransfersIdPatch operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1ClusterTransfersIdPatchRequest
 */
export interface DefaultApiApiAccountsMgmtV1ClusterTransfersIdPatchRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1ClusterTransfersIdPatch
   */
  readonly id: string;

  /**
   * Updated cluster transfer
   * @type {ClusterTransferPatchRequest}
   * @memberof DefaultApiApiAccountsMgmtV1ClusterTransfersIdPatch
   */
  readonly clusterTransferPatchRequest: ClusterTransferPatchRequest;
}

/**
 * Request parameters for apiAccountsMgmtV1ClusterTransfersPost operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1ClusterTransfersPostRequest
 */
export interface DefaultApiApiAccountsMgmtV1ClusterTransfersPostRequest {
  /**
   * The contents of the cluster transfer creation request
   * @type {ClusterTransferRequest}
   * @memberof DefaultApiApiAccountsMgmtV1ClusterTransfersPost
   */
  readonly clusterTransferRequest: ClusterTransferRequest;
}

/**
 * Request parameters for apiAccountsMgmtV1ConfigSkusGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1ConfigSkusGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1ConfigSkusGetRequest {
  /**
   * Page number of record list when record list exceeds specified page size
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1ConfigSkusGet
   */
  readonly page?: number;

  /**
   * Maximum number of records to return
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1ConfigSkusGet
   */
  readonly size?: number;

  /**
   * Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1ConfigSkusGet
   */
  readonly search?: string;
}

/**
 * Request parameters for apiAccountsMgmtV1ConfigSkusIdDelete operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1ConfigSkusIdDeleteRequest
 */
export interface DefaultApiApiAccountsMgmtV1ConfigSkusIdDeleteRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1ConfigSkusIdDelete
   */
  readonly id: string;
}

/**
 * Request parameters for apiAccountsMgmtV1ConfigSkusIdGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1ConfigSkusIdGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1ConfigSkusIdGetRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1ConfigSkusIdGet
   */
  readonly id: string;
}

/**
 * Request parameters for apiAccountsMgmtV1ConfigSkusIdPatch operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1ConfigSkusIdPatchRequest
 */
export interface DefaultApiApiAccountsMgmtV1ConfigSkusIdPatchRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1ConfigSkusIdPatch
   */
  readonly id: string;

  /**
   * Updated sku data
   * @type {SKU}
   * @memberof DefaultApiApiAccountsMgmtV1ConfigSkusIdPatch
   */
  readonly sKU: SKU;
}

/**
 * Request parameters for apiAccountsMgmtV1ConfigSkusPost operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1ConfigSkusPostRequest
 */
export interface DefaultApiApiAccountsMgmtV1ConfigSkusPostRequest {
  /**
   * Sku data
   * @type {SKU}
   * @memberof DefaultApiApiAccountsMgmtV1ConfigSkusPost
   */
  readonly sKU: SKU;
}

/**
 * Request parameters for apiAccountsMgmtV1CurrentAccountGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1CurrentAccountGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1CurrentAccountGetRequest {
  /**
   * If true, includes the labels on a subscription/organization/account in the output. Could slow request response time.
   * @type {boolean}
   * @memberof DefaultApiApiAccountsMgmtV1CurrentAccountGet
   */
  readonly fetchLabels?: boolean;
}

/**
 * Request parameters for apiAccountsMgmtV1DefaultCapabilitiesNameDelete operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1DefaultCapabilitiesNameDeleteRequest
 */
export interface DefaultApiApiAccountsMgmtV1DefaultCapabilitiesNameDeleteRequest {
  /**
   * The name of the default capability
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1DefaultCapabilitiesNameDelete
   */
  readonly name: string;
}

/**
 * Request parameters for apiAccountsMgmtV1DefaultCapabilitiesNameGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1DefaultCapabilitiesNameGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1DefaultCapabilitiesNameGetRequest {
  /**
   * The name of the default capability
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1DefaultCapabilitiesNameGet
   */
  readonly name: string;
}

/**
 * Request parameters for apiAccountsMgmtV1DefaultCapabilitiesNamePatch operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1DefaultCapabilitiesNamePatchRequest
 */
export interface DefaultApiApiAccountsMgmtV1DefaultCapabilitiesNamePatchRequest {
  /**
   * The name of the default capability
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1DefaultCapabilitiesNamePatch
   */
  readonly name: string;

  /**
   * Default capability data
   * @type {DefaultCapability}
   * @memberof DefaultApiApiAccountsMgmtV1DefaultCapabilitiesNamePatch
   */
  readonly defaultCapability: DefaultCapability;
}

/**
 * Request parameters for apiAccountsMgmtV1DefaultCapabilitiesPost operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1DefaultCapabilitiesPostRequest
 */
export interface DefaultApiApiAccountsMgmtV1DefaultCapabilitiesPostRequest {
  /**
   * Label data
   * @type {DefaultCapability}
   * @memberof DefaultApiApiAccountsMgmtV1DefaultCapabilitiesPost
   */
  readonly defaultCapability: DefaultCapability;
}

/**
 * Request parameters for apiAccountsMgmtV1DeletedSubscriptionsGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1DeletedSubscriptionsGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1DeletedSubscriptionsGetRequest {
  /**
   * Page number of record list when record list exceeds specified page size
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1DeletedSubscriptionsGet
   */
  readonly page?: number;

  /**
   * Maximum number of records to return
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1DeletedSubscriptionsGet
   */
  readonly size?: number;

  /**
   * Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1DeletedSubscriptionsGet
   */
  readonly search?: string;

  /**
   * Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1DeletedSubscriptionsGet
   */
  readonly orderBy?: string;
}

/**
 * Request parameters for apiAccountsMgmtV1DeletedSubscriptionsIdGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1DeletedSubscriptionsIdGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1DeletedSubscriptionsIdGetRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1DeletedSubscriptionsIdGet
   */
  readonly id: string;
}

/**
 * Request parameters for apiAccountsMgmtV1ErrorsGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1ErrorsGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1ErrorsGetRequest {
  /**
   * Page number of record list when record list exceeds specified page size
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1ErrorsGet
   */
  readonly page?: number;

  /**
   * Maximum number of records to return
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1ErrorsGet
   */
  readonly size?: number;

  /**
   * Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1ErrorsGet
   */
  readonly search?: string;
}

/**
 * Request parameters for apiAccountsMgmtV1ErrorsIdGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1ErrorsIdGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1ErrorsIdGetRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1ErrorsIdGet
   */
  readonly id: string;
}

/**
 * Request parameters for apiAccountsMgmtV1FeatureTogglesIdQueryPost operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1FeatureTogglesIdQueryPostRequest
 */
export interface DefaultApiApiAccountsMgmtV1FeatureTogglesIdQueryPostRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1FeatureTogglesIdQueryPost
   */
  readonly id: string;

  /**
   * The context of the query
   * @type {FeatureToggleQueryRequest}
   * @memberof DefaultApiApiAccountsMgmtV1FeatureTogglesIdQueryPost
   */
  readonly featureToggleQueryRequest: FeatureToggleQueryRequest;
}

/**
 * Request parameters for apiAccountsMgmtV1LabelsGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1LabelsGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1LabelsGetRequest {
  /**
   * Page number of record list when record list exceeds specified page size
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1LabelsGet
   */
  readonly page?: number;

  /**
   * Maximum number of records to return
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1LabelsGet
   */
  readonly size?: number;

  /**
   * Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1LabelsGet
   */
  readonly search?: string;

  /**
   * Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1LabelsGet
   */
  readonly orderBy?: string;
}

/**
 * Request parameters for apiAccountsMgmtV1MetricsGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1MetricsGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1MetricsGetRequest {
  /**
   * Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1MetricsGet
   */
  readonly search?: string;
}

/**
 * Request parameters for apiAccountsMgmtV1NotifyPost operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1NotifyPostRequest
 */
export interface DefaultApiApiAccountsMgmtV1NotifyPostRequest {
  /**
   * The contents of the notification to send to the owner of a cluster/subscription in addition to the set of template parameters which are sent automatically ACCOUNT_USERNAME, FIRST_NAME, LAST_NAME, ORGANIZATION_NAME, ORGANIZATION_EXTERNAL_ID
   * @type {NotificationRequest}
   * @memberof DefaultApiApiAccountsMgmtV1NotifyPost
   */
  readonly notificationRequest: NotificationRequest;
}

/**
 * Request parameters for apiAccountsMgmtV1OrganizationsGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1OrganizationsGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1OrganizationsGetRequest {
  /**
   * Page number of record list when record list exceeds specified page size
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsGet
   */
  readonly page?: number;

  /**
   * Maximum number of records to return
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsGet
   */
  readonly size?: number;

  /**
   * Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsGet
   */
  readonly search?: string;

  /**
   * Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsGet
   */
  readonly orderBy?: string;

  /**
   * If true, includes the labels on a subscription/organization/account in the output. Could slow request response time.
   * @type {boolean}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsGet
   */
  readonly fetchLabels?: boolean;

  /**
   * If true, includes the capabilities on a subscription in the output. Could slow request response time.
   * @type {boolean}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsGet
   */
  readonly fetchCapabilities?: boolean;

  /**
   * Supplies a comma-separated list of fields to be returned. Fields of sub-structures and of arrays use &lt;structure&gt;.&lt;field&gt; notation. &lt;stucture&gt;.* means all field of a structure Example: For each Subscription to get id, href, plan(id and kind) and labels (all fields)  &#x60;&#x60;&#x60; ocm get subscriptions --parameter fields&#x3D;id,href,plan.id,plan.kind,labels.* --parameter fetchLabels&#x3D;true &#x60;&#x60;&#x60;
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsGet
   */
  readonly fields?: string;
}

/**
 * Request parameters for apiAccountsMgmtV1OrganizationsIdGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1OrganizationsIdGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1OrganizationsIdGetRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsIdGet
   */
  readonly id: string;

  /**
   * If true, includes the labels on a subscription/organization/account in the output. Could slow request response time.
   * @type {boolean}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsIdGet
   */
  readonly fetchLabels?: boolean;

  /**
   * If true, includes the capabilities on a subscription in the output. Could slow request response time.
   * @type {boolean}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsIdGet
   */
  readonly fetchCapabilities?: boolean;
}

/**
 * Request parameters for apiAccountsMgmtV1OrganizationsIdLabelsGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1OrganizationsIdLabelsGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1OrganizationsIdLabelsGetRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsIdLabelsGet
   */
  readonly id: string;

  /**
   * Page number of record list when record list exceeds specified page size
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsIdLabelsGet
   */
  readonly page?: number;

  /**
   * Maximum number of records to return
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsIdLabelsGet
   */
  readonly size?: number;

  /**
   * Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsIdLabelsGet
   */
  readonly search?: string;

  /**
   * Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsIdLabelsGet
   */
  readonly orderBy?: string;
}

/**
 * Request parameters for apiAccountsMgmtV1OrganizationsIdLabelsKeyDelete operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1OrganizationsIdLabelsKeyDeleteRequest
 */
export interface DefaultApiApiAccountsMgmtV1OrganizationsIdLabelsKeyDeleteRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsIdLabelsKeyDelete
   */
  readonly id: string;

  /**
   * The key of the label
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsIdLabelsKeyDelete
   */
  readonly key: string;
}

/**
 * Request parameters for apiAccountsMgmtV1OrganizationsIdLabelsKeyGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1OrganizationsIdLabelsKeyGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1OrganizationsIdLabelsKeyGetRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsIdLabelsKeyGet
   */
  readonly id: string;

  /**
   * The key of the label
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsIdLabelsKeyGet
   */
  readonly key: string;
}

/**
 * Request parameters for apiAccountsMgmtV1OrganizationsIdLabelsKeyPatch operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1OrganizationsIdLabelsKeyPatchRequest
 */
export interface DefaultApiApiAccountsMgmtV1OrganizationsIdLabelsKeyPatchRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsIdLabelsKeyPatch
   */
  readonly id: string;

  /**
   * The key of the label
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsIdLabelsKeyPatch
   */
  readonly key: string;

  /**
   * Label data
   * @type {Label}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsIdLabelsKeyPatch
   */
  readonly label: Label;
}

/**
 * Request parameters for apiAccountsMgmtV1OrganizationsIdLabelsPost operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1OrganizationsIdLabelsPostRequest
 */
export interface DefaultApiApiAccountsMgmtV1OrganizationsIdLabelsPostRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsIdLabelsPost
   */
  readonly id: string;

  /**
   * Label data
   * @type {Label}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsIdLabelsPost
   */
  readonly label: Label;
}

/**
 * Request parameters for apiAccountsMgmtV1OrganizationsIdPatch operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1OrganizationsIdPatchRequest
 */
export interface DefaultApiApiAccountsMgmtV1OrganizationsIdPatchRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsIdPatch
   */
  readonly id: string;

  /**
   * Updated organization data
   * @type {OrganizationPatchRequest}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsIdPatch
   */
  readonly organizationPatchRequest: OrganizationPatchRequest;
}

/**
 * Request parameters for apiAccountsMgmtV1OrganizationsIdSummaryDashboardGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1OrganizationsIdSummaryDashboardGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1OrganizationsIdSummaryDashboardGetRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsIdSummaryDashboardGet
   */
  readonly id: string;
}

/**
 * Request parameters for apiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsAcctGrpAsgnIdDelete operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsAcctGrpAsgnIdDeleteRequest
 */
export interface DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsAcctGrpAsgnIdDeleteRequest {
  /**
   * The id of organization
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsAcctGrpAsgnIdDelete
   */
  readonly orgId: string;

  /**
   * The id of account group assignment
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsAcctGrpAsgnIdDelete
   */
  readonly acctGrpAsgnId: string;
}

/**
 * Request parameters for apiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsAcctGrpAsgnIdGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsAcctGrpAsgnIdGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsAcctGrpAsgnIdGetRequest {
  /**
   * The id of organization
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsAcctGrpAsgnIdGet
   */
  readonly orgId: string;

  /**
   * The id of account group assignment
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsAcctGrpAsgnIdGet
   */
  readonly acctGrpAsgnId: string;
}

/**
 * Request parameters for apiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsGetRequest {
  /**
   * The id of organization
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsGet
   */
  readonly orgId: string;

  /**
   * Page number of record list when record list exceeds specified page size
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsGet
   */
  readonly page?: number;

  /**
   * Maximum number of records to return
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsGet
   */
  readonly size?: number;

  /**
   * Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsGet
   */
  readonly search?: string;

  /**
   * Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsGet
   */
  readonly orderBy?: string;
}

/**
 * Request parameters for apiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsPost operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsPostRequest
 */
export interface DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsPostRequest {
  /**
   * The id of organization
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsPost
   */
  readonly orgId: string;

  /**
   * New AccountGroup data
   * @type {AccountGroupAssignment}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsPost
   */
  readonly accountGroupAssignment: AccountGroupAssignment;
}

/**
 * Request parameters for apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdDelete operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdDeleteRequest
 */
export interface DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdDeleteRequest {
  /**
   * The id of organization
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdDelete
   */
  readonly orgId: string;

  /**
   * The id of account group
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdDelete
   */
  readonly acctGrpId: string;
}

/**
 * Request parameters for apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdGetRequest {
  /**
   * The id of organization
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdGet
   */
  readonly orgId: string;

  /**
   * The id of account group
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdGet
   */
  readonly acctGrpId: string;
}

/**
 * Request parameters for apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdPatch operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdPatchRequest
 */
export interface DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdPatchRequest {
  /**
   * The id of organization
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdPatch
   */
  readonly orgId: string;

  /**
   * The id of account group
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdPatch
   */
  readonly acctGrpId: string;

  /**
   * Updated account group data
   * @type {AccountGroupRequest}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdPatch
   */
  readonly accountGroupRequest: AccountGroupRequest;
}

/**
 * Request parameters for apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupsGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupsGetRequest {
  /**
   * The id of organization
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupsGet
   */
  readonly orgId: string;

  /**
   * Page number of record list when record list exceeds specified page size
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupsGet
   */
  readonly page?: number;

  /**
   * Maximum number of records to return
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupsGet
   */
  readonly size?: number;

  /**
   * Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupsGet
   */
  readonly search?: string;

  /**
   * Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupsGet
   */
  readonly orderBy?: string;
}

/**
 * Request parameters for apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsPost operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupsPostRequest
 */
export interface DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupsPostRequest {
  /**
   * The id of organization
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupsPost
   */
  readonly orgId: string;

  /**
   * New AccountGroup data
   * @type {AccountGroupRequest}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupsPost
   */
  readonly accountGroupRequest: AccountGroupRequest;
}

/**
 * Request parameters for apiAccountsMgmtV1OrganizationsOrgIdConsumedQuotaGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1OrganizationsOrgIdConsumedQuotaGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1OrganizationsOrgIdConsumedQuotaGetRequest {
  /**
   * The id of organization
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdConsumedQuotaGet
   */
  readonly orgId: string;

  /**
   * If true, includes that ConsumedQuota should be recalculated.
   * @type {boolean}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdConsumedQuotaGet
   */
  readonly forceRecalc?: boolean;
}

/**
 * Request parameters for apiAccountsMgmtV1OrganizationsOrgIdQuotaCostGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1OrganizationsOrgIdQuotaCostGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1OrganizationsOrgIdQuotaCostGetRequest {
  /**
   * The id of organization
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdQuotaCostGet
   */
  readonly orgId: string;

  /**
   * Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdQuotaCostGet
   */
  readonly search?: string;

  /**
   * Page number of record list when record list exceeds specified page size
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdQuotaCostGet
   */
  readonly page?: number;

  /**
   * Maximum number of records to return
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdQuotaCostGet
   */
  readonly size?: number;

  /**
   * If true, includes the related resources in the output. Could slow request response time.
   * @type {boolean}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdQuotaCostGet
   */
  readonly fetchRelatedResources?: boolean;

  /**
   * If true, includes that ConsumedQuota should be recalculated.
   * @type {boolean}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdQuotaCostGet
   */
  readonly forceRecalc?: boolean;

  /**
   * If true, includes the marketplace cloud accounts in the output. Could slow request response time.
   * @type {boolean}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdQuotaCostGet
   */
  readonly fetchCloudAccounts?: boolean;
}

/**
 * Request parameters for apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1OrganizationsOrgIdResourceQuotaGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1OrganizationsOrgIdResourceQuotaGetRequest {
  /**
   * The id of organization
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdResourceQuotaGet
   */
  readonly orgId: string;

  /**
   * Page number of record list when record list exceeds specified page size
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdResourceQuotaGet
   */
  readonly page?: number;

  /**
   * Maximum number of records to return
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdResourceQuotaGet
   */
  readonly size?: number;

  /**
   * Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdResourceQuotaGet
   */
  readonly search?: string;

  /**
   * Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdResourceQuotaGet
   */
  readonly orderBy?: string;
}

/**
 * Request parameters for apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaPost operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1OrganizationsOrgIdResourceQuotaPostRequest
 */
export interface DefaultApiApiAccountsMgmtV1OrganizationsOrgIdResourceQuotaPostRequest {
  /**
   * The id of organization
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdResourceQuotaPost
   */
  readonly orgId: string;

  /**
   * Resource quota data
   * @type {ResourceQuotaRequest}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdResourceQuotaPost
   */
  readonly resourceQuotaRequest: ResourceQuotaRequest;
}

/**
 * Request parameters for apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdDelete operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdDeleteRequest
 */
export interface DefaultApiApiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdDeleteRequest {
  /**
   * The id of organization
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdDelete
   */
  readonly orgId: string;

  /**
   * The id of quota
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdDelete
   */
  readonly quotaId: string;
}

/**
 * Request parameters for apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdGetRequest {
  /**
   * The id of organization
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdGet
   */
  readonly orgId: string;

  /**
   * The id of quota
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdGet
   */
  readonly quotaId: string;
}

/**
 * Request parameters for apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdPatch operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdPatchRequest
 */
export interface DefaultApiApiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdPatchRequest {
  /**
   * The id of organization
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdPatch
   */
  readonly orgId: string;

  /**
   * The id of quota
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdPatch
   */
  readonly quotaId: string;

  /**
   * Updated resource quota data
   * @type {ResourceQuotaRequest}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdPatch
   */
  readonly resourceQuotaRequest: ResourceQuotaRequest;
}

/**
 * Request parameters for apiAccountsMgmtV1OrganizationsPost operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1OrganizationsPostRequest
 */
export interface DefaultApiApiAccountsMgmtV1OrganizationsPostRequest {
  /**
   * Organization data
   * @type {Organization}
   * @memberof DefaultApiApiAccountsMgmtV1OrganizationsPost
   */
  readonly organization: Organization;
}

/**
 * Request parameters for apiAccountsMgmtV1PlansGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1PlansGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1PlansGetRequest {
  /**
   * Page number of record list when record list exceeds specified page size
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1PlansGet
   */
  readonly page?: number;

  /**
   * Maximum number of records to return
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1PlansGet
   */
  readonly size?: number;

  /**
   * Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1PlansGet
   */
  readonly search?: string;
}

/**
 * Request parameters for apiAccountsMgmtV1PlansIdGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1PlansIdGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1PlansIdGetRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1PlansIdGet
   */
  readonly id: string;
}

/**
 * Request parameters for apiAccountsMgmtV1PullSecretsExternalResourceIdDelete operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1PullSecretsExternalResourceIdDeleteRequest
 */
export interface DefaultApiApiAccountsMgmtV1PullSecretsExternalResourceIdDeleteRequest {
  /**
   * The external resource id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1PullSecretsExternalResourceIdDelete
   */
  readonly externalResourceId: string;
}

/**
 * Request parameters for apiAccountsMgmtV1PullSecretsPost operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1PullSecretsPostRequest
 */
export interface DefaultApiApiAccountsMgmtV1PullSecretsPostRequest {
  /**
   * Identifier of the resource in the external service that this pull secret relates to
   * @type {PullSecretRequest}
   * @memberof DefaultApiApiAccountsMgmtV1PullSecretsPost
   */
  readonly pullSecretRequest: PullSecretRequest;
}

/**
 * Request parameters for apiAccountsMgmtV1QuotaAuthorizationsPost operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1QuotaAuthorizationsPostRequest
 */
export interface DefaultApiApiAccountsMgmtV1QuotaAuthorizationsPostRequest {
  /**
   * User data and intention
   * @type {QuotaAuthorizationRequest}
   * @memberof DefaultApiApiAccountsMgmtV1QuotaAuthorizationsPost
   */
  readonly quotaAuthorizationRequest: QuotaAuthorizationRequest;
}

/**
 * Request parameters for apiAccountsMgmtV1QuotaCostGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1QuotaCostGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1QuotaCostGetRequest {
  /**
   * Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1QuotaCostGet
   */
  readonly search?: string;

  /**
   * Page number of record list when record list exceeds specified page size
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1QuotaCostGet
   */
  readonly page?: number;

  /**
   * Maximum number of records to return
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1QuotaCostGet
   */
  readonly size?: number;

  /**
   * If true, includes the related resources in the output. Could slow request response time.
   * @type {boolean}
   * @memberof DefaultApiApiAccountsMgmtV1QuotaCostGet
   */
  readonly fetchRelatedResources?: boolean;

  /**
   * If true, includes the marketplace cloud accounts in the output. Could slow request response time.
   * @type {boolean}
   * @memberof DefaultApiApiAccountsMgmtV1QuotaCostGet
   */
  readonly fetchCloudAccounts?: boolean;
}

/**
 * Request parameters for apiAccountsMgmtV1QuotaRulesGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1QuotaRulesGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1QuotaRulesGetRequest {
  /**
   * Page number of record list when record list exceeds specified page size
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1QuotaRulesGet
   */
  readonly page?: number;

  /**
   * Maximum number of records to return
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1QuotaRulesGet
   */
  readonly size?: number;

  /**
   * Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1QuotaRulesGet
   */
  readonly search?: string;
}

/**
 * Request parameters for apiAccountsMgmtV1QuotasGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1QuotasGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1QuotasGetRequest {
  /**
   * Page number of record list when record list exceeds specified page size
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1QuotasGet
   */
  readonly page?: number;

  /**
   * Maximum number of records to return
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1QuotasGet
   */
  readonly size?: number;

  /**
   * Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1QuotasGet
   */
  readonly search?: string;
}

/**
 * Request parameters for apiAccountsMgmtV1QuotasIdDelete operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1QuotasIdDeleteRequest
 */
export interface DefaultApiApiAccountsMgmtV1QuotasIdDeleteRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1QuotasIdDelete
   */
  readonly id: string;
}

/**
 * Request parameters for apiAccountsMgmtV1QuotasIdGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1QuotasIdGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1QuotasIdGetRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1QuotasIdGet
   */
  readonly id: string;
}

/**
 * Request parameters for apiAccountsMgmtV1QuotasIdPatch operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1QuotasIdPatchRequest
 */
export interface DefaultApiApiAccountsMgmtV1QuotasIdPatchRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1QuotasIdPatch
   */
  readonly id: string;

  /**
   * Updated quota data
   * @type {Quota}
   * @memberof DefaultApiApiAccountsMgmtV1QuotasIdPatch
   */
  readonly quota: Quota;
}

/**
 * Request parameters for apiAccountsMgmtV1QuotasPost operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1QuotasPostRequest
 */
export interface DefaultApiApiAccountsMgmtV1QuotasPostRequest {
  /**
   * Quota data
   * @type {Quota}
   * @memberof DefaultApiApiAccountsMgmtV1QuotasPost
   */
  readonly quota: Quota;
}

/**
 * Request parameters for apiAccountsMgmtV1RegistriesGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1RegistriesGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1RegistriesGetRequest {
  /**
   * Page number of record list when record list exceeds specified page size
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1RegistriesGet
   */
  readonly page?: number;

  /**
   * Maximum number of records to return
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1RegistriesGet
   */
  readonly size?: number;

  /**
   * Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1RegistriesGet
   */
  readonly search?: string;

  /**
   * Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1RegistriesGet
   */
  readonly orderBy?: string;
}

/**
 * Request parameters for apiAccountsMgmtV1RegistriesIdGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1RegistriesIdGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1RegistriesIdGetRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1RegistriesIdGet
   */
  readonly id: string;
}

/**
 * Request parameters for apiAccountsMgmtV1RegistryCredentialsGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1RegistryCredentialsGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1RegistryCredentialsGetRequest {
  /**
   * Page number of record list when record list exceeds specified page size
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1RegistryCredentialsGet
   */
  readonly page?: number;

  /**
   * Maximum number of records to return
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1RegistryCredentialsGet
   */
  readonly size?: number;

  /**
   * Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1RegistryCredentialsGet
   */
  readonly search?: string;

  /**
   * Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1RegistryCredentialsGet
   */
  readonly orderBy?: string;
}

/**
 * Request parameters for apiAccountsMgmtV1RegistryCredentialsIdDelete operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1RegistryCredentialsIdDeleteRequest
 */
export interface DefaultApiApiAccountsMgmtV1RegistryCredentialsIdDeleteRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1RegistryCredentialsIdDelete
   */
  readonly id: string;
}

/**
 * Request parameters for apiAccountsMgmtV1RegistryCredentialsIdGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1RegistryCredentialsIdGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1RegistryCredentialsIdGetRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1RegistryCredentialsIdGet
   */
  readonly id: string;
}

/**
 * Request parameters for apiAccountsMgmtV1RegistryCredentialsIdPatch operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1RegistryCredentialsIdPatchRequest
 */
export interface DefaultApiApiAccountsMgmtV1RegistryCredentialsIdPatchRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1RegistryCredentialsIdPatch
   */
  readonly id: string;

  /**
   * Updated registry credential data
   * @type {RegistryCredentialPatchRequest}
   * @memberof DefaultApiApiAccountsMgmtV1RegistryCredentialsIdPatch
   */
  readonly registryCredentialPatchRequest: RegistryCredentialPatchRequest;
}

/**
 * Request parameters for apiAccountsMgmtV1RegistryCredentialsPost operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1RegistryCredentialsPostRequest
 */
export interface DefaultApiApiAccountsMgmtV1RegistryCredentialsPostRequest {
  /**
   * Registry credential data
   * @type {RegistryCredential}
   * @memberof DefaultApiApiAccountsMgmtV1RegistryCredentialsPost
   */
  readonly registryCredential: RegistryCredential;
}

/**
 * Request parameters for apiAccountsMgmtV1ReservedResourcesGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1ReservedResourcesGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1ReservedResourcesGetRequest {
  /**
   * Page number of record list when record list exceeds specified page size
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1ReservedResourcesGet
   */
  readonly page?: number;

  /**
   * Maximum number of records to return
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1ReservedResourcesGet
   */
  readonly size?: number;

  /**
   * Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1ReservedResourcesGet
   */
  readonly search?: string;

  /**
   * Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1ReservedResourcesGet
   */
  readonly orderBy?: string;
}

/**
 * Request parameters for apiAccountsMgmtV1ResourceQuotaGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1ResourceQuotaGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1ResourceQuotaGetRequest {
  /**
   * Page number of record list when record list exceeds specified page size
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1ResourceQuotaGet
   */
  readonly page?: number;

  /**
   * Maximum number of records to return
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1ResourceQuotaGet
   */
  readonly size?: number;

  /**
   * Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1ResourceQuotaGet
   */
  readonly search?: string;

  /**
   * Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1ResourceQuotaGet
   */
  readonly orderBy?: string;
}

/**
 * Request parameters for apiAccountsMgmtV1RoleBindingsGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1RoleBindingsGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1RoleBindingsGetRequest {
  /**
   * Page number of record list when record list exceeds specified page size
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1RoleBindingsGet
   */
  readonly page?: number;

  /**
   * Maximum number of records to return
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1RoleBindingsGet
   */
  readonly size?: number;

  /**
   * Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1RoleBindingsGet
   */
  readonly search?: string;

  /**
   * Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1RoleBindingsGet
   */
  readonly orderBy?: string;
}

/**
 * Request parameters for apiAccountsMgmtV1RoleBindingsIdDelete operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1RoleBindingsIdDeleteRequest
 */
export interface DefaultApiApiAccountsMgmtV1RoleBindingsIdDeleteRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1RoleBindingsIdDelete
   */
  readonly id: string;
}

/**
 * Request parameters for apiAccountsMgmtV1RoleBindingsIdGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1RoleBindingsIdGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1RoleBindingsIdGetRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1RoleBindingsIdGet
   */
  readonly id: string;
}

/**
 * Request parameters for apiAccountsMgmtV1RoleBindingsIdPatch operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1RoleBindingsIdPatchRequest
 */
export interface DefaultApiApiAccountsMgmtV1RoleBindingsIdPatchRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1RoleBindingsIdPatch
   */
  readonly id: string;

  /**
   * Updated role binding data
   * @type {RoleBindingRequest}
   * @memberof DefaultApiApiAccountsMgmtV1RoleBindingsIdPatch
   */
  readonly roleBindingRequest: RoleBindingRequest;
}

/**
 * Request parameters for apiAccountsMgmtV1RoleBindingsPost operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1RoleBindingsPostRequest
 */
export interface DefaultApiApiAccountsMgmtV1RoleBindingsPostRequest {
  /**
   * Role binding data
   * @type {RoleBindingCreateRequest}
   * @memberof DefaultApiApiAccountsMgmtV1RoleBindingsPost
   */
  readonly roleBindingCreateRequest: RoleBindingCreateRequest;
}

/**
 * Request parameters for apiAccountsMgmtV1RolesGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1RolesGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1RolesGetRequest {
  /**
   * Page number of record list when record list exceeds specified page size
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1RolesGet
   */
  readonly page?: number;

  /**
   * Maximum number of records to return
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1RolesGet
   */
  readonly size?: number;

  /**
   * Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1RolesGet
   */
  readonly search?: string;
}

/**
 * Request parameters for apiAccountsMgmtV1RolesIdGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1RolesIdGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1RolesIdGetRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1RolesIdGet
   */
  readonly id: string;
}

/**
 * Request parameters for apiAccountsMgmtV1SelfEntitlementProductPost operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1SelfEntitlementProductPostRequest
 */
export interface DefaultApiApiAccountsMgmtV1SelfEntitlementProductPostRequest {
  /**
   * The product for self_entitlement. The supported products are [rosa].
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SelfEntitlementProductPost
   */
  readonly product: string;
}

/**
 * Request parameters for apiAccountsMgmtV1SkuRulesGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1SkuRulesGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1SkuRulesGetRequest {
  /**
   * Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SkuRulesGet
   */
  readonly search?: string;

  /**
   * Page number of record list when record list exceeds specified page size
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1SkuRulesGet
   */
  readonly page?: number;

  /**
   * Maximum number of records to return
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1SkuRulesGet
   */
  readonly size?: number;
}

/**
 * Request parameters for apiAccountsMgmtV1SkuRulesIdDelete operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1SkuRulesIdDeleteRequest
 */
export interface DefaultApiApiAccountsMgmtV1SkuRulesIdDeleteRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SkuRulesIdDelete
   */
  readonly id: string;
}

/**
 * Request parameters for apiAccountsMgmtV1SkuRulesIdGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1SkuRulesIdGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1SkuRulesIdGetRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SkuRulesIdGet
   */
  readonly id: string;
}

/**
 * Request parameters for apiAccountsMgmtV1SkuRulesIdPatch operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1SkuRulesIdPatchRequest
 */
export interface DefaultApiApiAccountsMgmtV1SkuRulesIdPatchRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SkuRulesIdPatch
   */
  readonly id: string;

  /**
   * Updated sku rule data
   * @type {SkuRules}
   * @memberof DefaultApiApiAccountsMgmtV1SkuRulesIdPatch
   */
  readonly skuRules: SkuRules;
}

/**
 * Request parameters for apiAccountsMgmtV1SkuRulesPost operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1SkuRulesPostRequest
 */
export interface DefaultApiApiAccountsMgmtV1SkuRulesPostRequest {
  /**
   * Sku rule data
   * @type {SkuRules}
   * @memberof DefaultApiApiAccountsMgmtV1SkuRulesPost
   */
  readonly skuRules: SkuRules;
}

/**
 * Request parameters for apiAccountsMgmtV1SkusGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1SkusGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1SkusGetRequest {
  /**
   * Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SkusGet
   */
  readonly search?: string;
}

/**
 * Request parameters for apiAccountsMgmtV1SkusIdGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1SkusIdGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1SkusIdGetRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SkusIdGet
   */
  readonly id: string;
}

/**
 * Request parameters for apiAccountsMgmtV1SubscriptionsGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1SubscriptionsGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1SubscriptionsGetRequest {
  /**
   * Page number of record list when record list exceeds specified page size
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsGet
   */
  readonly page?: number;

  /**
   * Maximum number of records to return
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsGet
   */
  readonly size?: number;

  /**
   * Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsGet
   */
  readonly search?: string;

  /**
   * If true, includes the account reference information in the output. Could slow request response time.
   * @type {boolean}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsGet
   */
  readonly fetchAccounts?: boolean;

  /**
   * If true, includes the labels on a subscription/organization/account in the output. Could slow request response time.
   * @type {boolean}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsGet
   */
  readonly fetchLabels?: boolean;

  /**
   * If true, includes the capabilities on a subscription in the output. Could slow request response time.
   * @type {boolean}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsGet
   */
  readonly fetchCapabilities?: boolean;

  /**
   * Supplies a comma-separated list of fields to be returned. Fields of sub-structures and of arrays use &lt;structure&gt;.&lt;field&gt; notation. &lt;stucture&gt;.* means all field of a structure Example: For each Subscription to get id, href, plan(id and kind) and labels (all fields)  &#x60;&#x60;&#x60; ocm get subscriptions --parameter fields&#x3D;id,href,plan.id,plan.kind,labels.* --parameter fetchLabels&#x3D;true &#x60;&#x60;&#x60;
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsGet
   */
  readonly fields?: string;

  /**
   * Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsGet
   */
  readonly orderBy?: string;

  /**
   * Specifies the criteria to filter the subscription resource based on their labels. A label is represented as a &#x60;key&#x3D;value&#x60; pair,  &#x60;&#x60;&#x60; labels &#x3D; \&quot;foo&#x3D;bar\&quot; &#x60;&#x60;&#x60;  and multiple labels are separated by comma,  &#x60;&#x60;&#x60; labels &#x3D; \&quot;foo&#x3D;bar,fooz&#x3D;barz\&quot; &#x60;&#x60;&#x60;
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsGet
   */
  readonly labels?: string;
}

/**
 * Request parameters for apiAccountsMgmtV1SubscriptionsIdDelete operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1SubscriptionsIdDeleteRequest
 */
export interface DefaultApiApiAccountsMgmtV1SubscriptionsIdDeleteRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsIdDelete
   */
  readonly id: string;
}

/**
 * Request parameters for apiAccountsMgmtV1SubscriptionsIdGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1SubscriptionsIdGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1SubscriptionsIdGetRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsIdGet
   */
  readonly id: string;

  /**
   * If true, includes the account reference information in the output. Could slow request response time.
   * @type {boolean}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsIdGet
   */
  readonly fetchAccounts?: boolean;

  /**
   * If true, includes the labels on a subscription/organization/account in the output. Could slow request response time.
   * @type {boolean}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsIdGet
   */
  readonly fetchLabels?: boolean;

  /**
   * If true, includes the capabilities on a subscription in the output. Could slow request response time.
   * @type {boolean}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsIdGet
   */
  readonly fetchCapabilities?: boolean;

  /**
   * If true, fetches, from the clusters service, the total numbers of CPU\&#39;s and sockets under an obligation, and includes in the output. Could slow request response time.
   * @type {boolean}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsIdGet
   */
  readonly fetchCpuAndSocket?: boolean;
}

/**
 * Request parameters for apiAccountsMgmtV1SubscriptionsIdLabelsGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1SubscriptionsIdLabelsGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1SubscriptionsIdLabelsGetRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsIdLabelsGet
   */
  readonly id: string;

  /**
   * Page number of record list when record list exceeds specified page size
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsIdLabelsGet
   */
  readonly page?: number;

  /**
   * Maximum number of records to return
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsIdLabelsGet
   */
  readonly size?: number;

  /**
   * Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsIdLabelsGet
   */
  readonly search?: string;

  /**
   * Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsIdLabelsGet
   */
  readonly orderBy?: string;
}

/**
 * Request parameters for apiAccountsMgmtV1SubscriptionsIdLabelsKeyDelete operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1SubscriptionsIdLabelsKeyDeleteRequest
 */
export interface DefaultApiApiAccountsMgmtV1SubscriptionsIdLabelsKeyDeleteRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsIdLabelsKeyDelete
   */
  readonly id: string;

  /**
   * The key of the label
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsIdLabelsKeyDelete
   */
  readonly key: string;
}

/**
 * Request parameters for apiAccountsMgmtV1SubscriptionsIdLabelsKeyGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1SubscriptionsIdLabelsKeyGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1SubscriptionsIdLabelsKeyGetRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsIdLabelsKeyGet
   */
  readonly id: string;

  /**
   * The key of the label
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsIdLabelsKeyGet
   */
  readonly key: string;
}

/**
 * Request parameters for apiAccountsMgmtV1SubscriptionsIdLabelsKeyPatch operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1SubscriptionsIdLabelsKeyPatchRequest
 */
export interface DefaultApiApiAccountsMgmtV1SubscriptionsIdLabelsKeyPatchRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsIdLabelsKeyPatch
   */
  readonly id: string;

  /**
   * The key of the label
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsIdLabelsKeyPatch
   */
  readonly key: string;

  /**
   * Label data
   * @type {Label}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsIdLabelsKeyPatch
   */
  readonly label: Label;
}

/**
 * Request parameters for apiAccountsMgmtV1SubscriptionsIdLabelsPost operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1SubscriptionsIdLabelsPostRequest
 */
export interface DefaultApiApiAccountsMgmtV1SubscriptionsIdLabelsPostRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsIdLabelsPost
   */
  readonly id: string;

  /**
   * Label data
   * @type {Label}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsIdLabelsPost
   */
  readonly label: Label;
}

/**
 * Request parameters for apiAccountsMgmtV1SubscriptionsIdMetricsMetricNameGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1SubscriptionsIdMetricsMetricNameGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1SubscriptionsIdMetricsMetricNameGetRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsIdMetricsMetricNameGet
   */
  readonly id: string;

  /**
   * The name of the metric
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsIdMetricsMetricNameGet
   */
  readonly metricName: string;

  /**
   * The &#x60;search&#x60; paramter specifies the PromQL selector. The syntax is defined by Prometheus at https://prometheus.io/docs/prometheus/latest/querying/basics/#time-series-selectors. It only supports simple selections as shown in https://prometheus.io/docs/prometheus/latest/querying/examples/#simple-time-series-selection. For example, in order to retrieve subscription_sync_total with names starting with &#x60;managed&#x60; and with a channel &#x3D; &#x60;production&#x60;:  &#x60;&#x60;&#x60; name&#x3D;~\&#39;managed.*\&#39;,channel&#x3D;\&#39;production\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the records will be returned.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsIdMetricsMetricNameGet
   */
  readonly search?: string;

  /**
   * Supplies a comma-separated list of fields to be returned. Fields of sub-structures and of arrays use &lt;structure&gt;.&lt;field&gt; notation. &lt;stucture&gt;.* means all field of a structure Example: For each Subscription to get id, href, plan(id and kind) and labels (all fields)  &#x60;&#x60;&#x60; ocm get subscriptions --parameter fields&#x3D;id,href,plan.id,plan.kind,labels.* --parameter fetchLabels&#x3D;true &#x60;&#x60;&#x60;
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsIdMetricsMetricNameGet
   */
  readonly fields?: string;
}

/**
 * Request parameters for apiAccountsMgmtV1SubscriptionsIdNotifyPost operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1SubscriptionsIdNotifyPostRequest
 */
export interface DefaultApiApiAccountsMgmtV1SubscriptionsIdNotifyPostRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsIdNotifyPost
   */
  readonly id: string;

  /**
   * The contents of the notification to send to the owner of a subscription in addition to the set of template parameters which are sent automatically ACCOUNT_USERNAME, FIRST_NAME, LAST_NAME, ORGANIZATION_NAME, ORGANIZATION_EXTERNAL_ID
   * @type {NotificationRequest}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsIdNotifyPost
   */
  readonly notificationRequest: NotificationRequest;
}

/**
 * Request parameters for apiAccountsMgmtV1SubscriptionsIdPatch operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1SubscriptionsIdPatchRequest
 */
export interface DefaultApiApiAccountsMgmtV1SubscriptionsIdPatchRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsIdPatch
   */
  readonly id: string;

  /**
   * Updated subscription data
   * @type {SubscriptionPatchRequest}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsIdPatch
   */
  readonly subscriptionPatchRequest: SubscriptionPatchRequest;
}

/**
 * Request parameters for apiAccountsMgmtV1SubscriptionsIdReservedResourcesGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1SubscriptionsIdReservedResourcesGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1SubscriptionsIdReservedResourcesGetRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsIdReservedResourcesGet
   */
  readonly id: string;

  /**
   * Page number of record list when record list exceeds specified page size
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsIdReservedResourcesGet
   */
  readonly page?: number;

  /**
   * Maximum number of records to return
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsIdReservedResourcesGet
   */
  readonly size?: number;

  /**
   * Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsIdReservedResourcesGet
   */
  readonly search?: string;

  /**
   * Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsIdReservedResourcesGet
   */
  readonly orderBy?: string;
}

/**
 * Request parameters for apiAccountsMgmtV1SubscriptionsIdSupportCasesGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1SubscriptionsIdSupportCasesGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1SubscriptionsIdSupportCasesGetRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsIdSupportCasesGet
   */
  readonly id: string;

  /**
   * Page number of record list when record list exceeds specified page size
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsIdSupportCasesGet
   */
  readonly page?: number;

  /**
   * Maximum number of records to return
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsIdSupportCasesGet
   */
  readonly size?: number;
}

/**
 * Request parameters for apiAccountsMgmtV1SubscriptionsPost operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1SubscriptionsPostRequest
 */
export interface DefaultApiApiAccountsMgmtV1SubscriptionsPostRequest {
  /**
   * Subscription Creation data
   * @type {SubscriptionCreateRequest}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsPost
   */
  readonly subscriptionCreateRequest: SubscriptionCreateRequest;
}

/**
 * Request parameters for apiAccountsMgmtV1SubscriptionsSubIdNotificationContactsAccountIdDelete operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1SubscriptionsSubIdNotificationContactsAccountIdDeleteRequest
 */
export interface DefaultApiApiAccountsMgmtV1SubscriptionsSubIdNotificationContactsAccountIdDeleteRequest {
  /**
   * The id of subscription
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsSubIdNotificationContactsAccountIdDelete
   */
  readonly subId: string;

  /**
   * The id of account
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsSubIdNotificationContactsAccountIdDelete
   */
  readonly accountId: string;
}

/**
 * Request parameters for apiAccountsMgmtV1SubscriptionsSubIdNotificationContactsGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1SubscriptionsSubIdNotificationContactsGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1SubscriptionsSubIdNotificationContactsGetRequest {
  /**
   * The id of subscription
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsSubIdNotificationContactsGet
   */
  readonly subId: string;

  /**
   * Page number of record list when record list exceeds specified page size
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsSubIdNotificationContactsGet
   */
  readonly page?: number;

  /**
   * Maximum number of records to return
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsSubIdNotificationContactsGet
   */
  readonly size?: number;

  /**
   * Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsSubIdNotificationContactsGet
   */
  readonly search?: string;

  /**
   * Supplies a comma-separated list of fields to be returned. Fields of sub-structures and of arrays use &lt;structure&gt;.&lt;field&gt; notation. &lt;stucture&gt;.* means all field of a structure Example: For each Subscription to get id, href, plan(id and kind) and labels (all fields)  &#x60;&#x60;&#x60; ocm get subscriptions --parameter fields&#x3D;id,href,plan.id,plan.kind,labels.* --parameter fetchLabels&#x3D;true &#x60;&#x60;&#x60;
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsSubIdNotificationContactsGet
   */
  readonly fields?: string;

  /**
   * Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsSubIdNotificationContactsGet
   */
  readonly orderBy?: string;
}

/**
 * Request parameters for apiAccountsMgmtV1SubscriptionsSubIdNotificationContactsPost operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1SubscriptionsSubIdNotificationContactsPostRequest
 */
export interface DefaultApiApiAccountsMgmtV1SubscriptionsSubIdNotificationContactsPostRequest {
  /**
   * The id of subscription
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsSubIdNotificationContactsPost
   */
  readonly subId: string;

  /**
   * Add a notification contact by an account\&#39;s username
   * @type {NotificationContactCreateRequest}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsSubIdNotificationContactsPost
   */
  readonly notificationContactCreateRequest: NotificationContactCreateRequest;
}

/**
 * Request parameters for apiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdDelete operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdDeleteRequest
 */
export interface DefaultApiApiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdDeleteRequest {
  /**
   * The id of subscription
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdDelete
   */
  readonly subId: string;

  /**
   * The id of reserved resource
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdDelete
   */
  readonly reservedResourceId: string;
}

/**
 * Request parameters for apiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdGetRequest {
  /**
   * The id of subscription
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdGet
   */
  readonly subId: string;

  /**
   * The id of reserved resource
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdGet
   */
  readonly reservedResourceId: string;
}

/**
 * Request parameters for apiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdPatch operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdPatchRequest
 */
export interface DefaultApiApiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdPatchRequest {
  /**
   * The id of subscription
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdPatch
   */
  readonly subId: string;

  /**
   * The id of reserved resource
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdPatch
   */
  readonly reservedResourceId: string;

  /**
   * Updated reserved resource data
   * @type {ReservedResourcePatchRequest}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdPatch
   */
  readonly reservedResourcePatchRequest: ReservedResourcePatchRequest;
}

/**
 * Request parameters for apiAccountsMgmtV1SubscriptionsSubIdRoleBindingsGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1SubscriptionsSubIdRoleBindingsGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1SubscriptionsSubIdRoleBindingsGetRequest {
  /**
   * The id of subscription
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsSubIdRoleBindingsGet
   */
  readonly subId: string;

  /**
   * Page number of record list when record list exceeds specified page size
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsSubIdRoleBindingsGet
   */
  readonly page?: number;

  /**
   * Maximum number of records to return
   * @type {number}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsSubIdRoleBindingsGet
   */
  readonly size?: number;

  /**
   * Specifies the search criteria. The syntax of this parameter is similar to the syntax of the _where_ clause of an SQL statement, using the names of the json attributes / column names of the account. For example, in order to retrieve all the accounts with a username starting with &#x60;my&#x60;:  &#x60;&#x60;&#x60;sql username like \&#39;my%\&#39; &#x60;&#x60;&#x60;  The search criteria can also be applied on related resource. For example, in order to retrieve all the subscriptions labeled by &#x60;foo&#x3D;bar&#x60;,  &#x60;&#x60;&#x60;sql labels.key &#x3D; \&#39;foo\&#39; and labels.value &#x3D; \&#39;bar\&#39; &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then all the accounts that the user has permission to see will be returned.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsSubIdRoleBindingsGet
   */
  readonly search?: string;

  /**
   * Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the _order by_ clause of an SQL statement, but using the names of the json attributes / column of the account. For example, in order to retrieve all accounts ordered by username:  &#x60;&#x60;&#x60;sql username asc &#x60;&#x60;&#x60;  Or in order to retrieve all accounts ordered by username _and_ first name:  &#x60;&#x60;&#x60;sql username asc, firstName asc &#x60;&#x60;&#x60;  If the parameter isn\&#39;t provided, or if the value is empty, then no explicit ordering will be applied.
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsSubIdRoleBindingsGet
   */
  readonly orderBy?: string;

  /**
   * If true, includes the account reference information in the output. Could slow request response time.
   * @type {boolean}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsSubIdRoleBindingsGet
   */
  readonly fetchAccounts?: boolean;
}

/**
 * Request parameters for apiAccountsMgmtV1SubscriptionsSubIdRoleBindingsIdDelete operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1SubscriptionsSubIdRoleBindingsIdDeleteRequest
 */
export interface DefaultApiApiAccountsMgmtV1SubscriptionsSubIdRoleBindingsIdDeleteRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsSubIdRoleBindingsIdDelete
   */
  readonly id: string;

  /**
   * The id of subscription
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsSubIdRoleBindingsIdDelete
   */
  readonly subId: string;
}

/**
 * Request parameters for apiAccountsMgmtV1SubscriptionsSubIdRoleBindingsIdGet operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1SubscriptionsSubIdRoleBindingsIdGetRequest
 */
export interface DefaultApiApiAccountsMgmtV1SubscriptionsSubIdRoleBindingsIdGetRequest {
  /**
   * The id of record
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsSubIdRoleBindingsIdGet
   */
  readonly id: string;

  /**
   * The id of subscription
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsSubIdRoleBindingsIdGet
   */
  readonly subId: string;
}

/**
 * Request parameters for apiAccountsMgmtV1SubscriptionsSubIdRoleBindingsPost operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1SubscriptionsSubIdRoleBindingsPostRequest
 */
export interface DefaultApiApiAccountsMgmtV1SubscriptionsSubIdRoleBindingsPostRequest {
  /**
   * The id of subscription
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsSubIdRoleBindingsPost
   */
  readonly subId: string;

  /**
   * Subscription role binding data
   * @type {SubscriptionRoleBindingCreateRequest}
   * @memberof DefaultApiApiAccountsMgmtV1SubscriptionsSubIdRoleBindingsPost
   */
  readonly subscriptionRoleBindingCreateRequest: SubscriptionRoleBindingCreateRequest;
}

/**
 * Request parameters for apiAccountsMgmtV1SupportCasesCaseIdDelete operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1SupportCasesCaseIdDeleteRequest
 */
export interface DefaultApiApiAccountsMgmtV1SupportCasesCaseIdDeleteRequest {
  /**
   * The id of a support case
   * @type {string}
   * @memberof DefaultApiApiAccountsMgmtV1SupportCasesCaseIdDelete
   */
  readonly caseId: string;
}

/**
 * Request parameters for apiAccountsMgmtV1SupportCasesPost operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1SupportCasesPostRequest
 */
export interface DefaultApiApiAccountsMgmtV1SupportCasesPostRequest {
  /**
   * The contents of the support case to be created
   * @type {SupportCasesRequest}
   * @memberof DefaultApiApiAccountsMgmtV1SupportCasesPost
   */
  readonly supportCasesRequest: SupportCasesRequest;
}

/**
 * Request parameters for apiAccountsMgmtV1TokenAuthorizationPost operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAccountsMgmtV1TokenAuthorizationPostRequest
 */
export interface DefaultApiApiAccountsMgmtV1TokenAuthorizationPostRequest {
  /**
   * Token authorization data
   * @type {TokenAuthorizationRequest}
   * @memberof DefaultApiApiAccountsMgmtV1TokenAuthorizationPost
   */
  readonly tokenAuthorizationRequest: TokenAuthorizationRequest;
}

/**
 * Request parameters for apiAuthorizationsV1AccessReviewPost operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAuthorizationsV1AccessReviewPostRequest
 */
export interface DefaultApiApiAuthorizationsV1AccessReviewPostRequest {
  /**
   * Access review data
   * @type {AccessReview}
   * @memberof DefaultApiApiAuthorizationsV1AccessReviewPost
   */
  readonly accessReview: AccessReview;
}

/**
 * Request parameters for apiAuthorizationsV1CapabilityReviewPost operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAuthorizationsV1CapabilityReviewPostRequest
 */
export interface DefaultApiApiAuthorizationsV1CapabilityReviewPostRequest {
  /**
   * Capability review data
   * @type {CapabilityReviewRequest}
   * @memberof DefaultApiApiAuthorizationsV1CapabilityReviewPost
   */
  readonly capabilityReviewRequest: CapabilityReviewRequest;
}

/**
 * Request parameters for apiAuthorizationsV1ExportControlReviewPost operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAuthorizationsV1ExportControlReviewPostRequest
 */
export interface DefaultApiApiAuthorizationsV1ExportControlReviewPostRequest {
  /**
   * Export control review data
   * @type {ExportControlReviewRequest}
   * @memberof DefaultApiApiAuthorizationsV1ExportControlReviewPost
   */
  readonly exportControlReviewRequest: ExportControlReviewRequest;
}

/**
 * Request parameters for apiAuthorizationsV1FeatureReviewPost operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAuthorizationsV1FeatureReviewPostRequest
 */
export interface DefaultApiApiAuthorizationsV1FeatureReviewPostRequest {
  /**
   * Feature review data
   * @type {FeatureReview}
   * @memberof DefaultApiApiAuthorizationsV1FeatureReviewPost
   */
  readonly featureReview: FeatureReview;
}

/**
 * Request parameters for apiAuthorizationsV1ResourceReviewPost operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAuthorizationsV1ResourceReviewPostRequest
 */
export interface DefaultApiApiAuthorizationsV1ResourceReviewPostRequest {
  /**
   * Resource review data
   * @type {ResourceReviewRequest}
   * @memberof DefaultApiApiAuthorizationsV1ResourceReviewPost
   */
  readonly resourceReviewRequest: ResourceReviewRequest;

  /**
   * If true, When returning a list of cluster_ids/cluster_uuids/subscription_ids, if those are already included in one of the organizations provided in organization_ids, do not include it in the list.
   * @type {boolean}
   * @memberof DefaultApiApiAuthorizationsV1ResourceReviewPost
   */
  readonly reduceClusterList?: boolean;

  /**
   * A comma-separated list of subscription statuses. Subscriptions with these statuses will be excluded from results. This options is mutually exclusive with includeSubscriptionStatuses.
   * @type {string}
   * @memberof DefaultApiApiAuthorizationsV1ResourceReviewPost
   */
  readonly excludeSubscriptionStatuses?: string;

  /**
   * A comma-separated list of subscription statuses. Only subscriptions with these statuses will be included into results. This options is mutually exclusive with excludeSubscriptionStatuses.
   * @type {string}
   * @memberof DefaultApiApiAuthorizationsV1ResourceReviewPost
   */
  readonly includeSubscriptionStatuses?: string;
}

/**
 * Request parameters for apiAuthorizationsV1SelfAccessReviewPost operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAuthorizationsV1SelfAccessReviewPostRequest
 */
export interface DefaultApiApiAuthorizationsV1SelfAccessReviewPostRequest {
  /**
   * Self access review data
   * @type {SelfAccessReview}
   * @memberof DefaultApiApiAuthorizationsV1SelfAccessReviewPost
   */
  readonly selfAccessReview: SelfAccessReview;
}

/**
 * Request parameters for apiAuthorizationsV1SelfFeatureReviewPost operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAuthorizationsV1SelfFeatureReviewPostRequest
 */
export interface DefaultApiApiAuthorizationsV1SelfFeatureReviewPostRequest {
  /**
   * Self feature review data
   * @type {SelfFeatureReview}
   * @memberof DefaultApiApiAuthorizationsV1SelfFeatureReviewPost
   */
  readonly selfFeatureReview: SelfFeatureReview;
}

/**
 * Request parameters for apiAuthorizationsV1SelfResourceReviewPost operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAuthorizationsV1SelfResourceReviewPostRequest
 */
export interface DefaultApiApiAuthorizationsV1SelfResourceReviewPostRequest {
  /**
   * Self resource review data
   * @type {SelfResourceReviewRequest}
   * @memberof DefaultApiApiAuthorizationsV1SelfResourceReviewPost
   */
  readonly selfResourceReviewRequest: SelfResourceReviewRequest;

  /**
   * If true, When returning a list of cluster_ids/cluster_uuids/subscription_ids, if those are already included in one of the organizations provided in organization_ids, do not include it in the list.
   * @type {boolean}
   * @memberof DefaultApiApiAuthorizationsV1SelfResourceReviewPost
   */
  readonly reduceClusterList?: boolean;

  /**
   * A comma-separated list of subscription statuses. Subscriptions with these statuses will be excluded from results. This options is mutually exclusive with includeSubscriptionStatuses.
   * @type {string}
   * @memberof DefaultApiApiAuthorizationsV1SelfResourceReviewPost
   */
  readonly excludeSubscriptionStatuses?: string;

  /**
   * A comma-separated list of subscription statuses. Only subscriptions with these statuses will be included into results. This options is mutually exclusive with excludeSubscriptionStatuses.
   * @type {string}
   * @memberof DefaultApiApiAuthorizationsV1SelfResourceReviewPost
   */
  readonly includeSubscriptionStatuses?: string;
}

/**
 * Request parameters for apiAuthorizationsV1SelfTermsReviewPost operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAuthorizationsV1SelfTermsReviewPostRequest
 */
export interface DefaultApiApiAuthorizationsV1SelfTermsReviewPostRequest {
  /**
   * Data to check self terms for
   * @type {SelfTermsReview}
   * @memberof DefaultApiApiAuthorizationsV1SelfTermsReviewPost
   */
  readonly selfTermsReview: SelfTermsReview;
}

/**
 * Request parameters for apiAuthorizationsV1TermsReviewPost operation in DefaultApi.
 * @export
 * @interface DefaultApiApiAuthorizationsV1TermsReviewPostRequest
 */
export interface DefaultApiApiAuthorizationsV1TermsReviewPostRequest {
  /**
   * Data to check terms for
   * @type {TermsReview}
   * @memberof DefaultApiApiAuthorizationsV1TermsReviewPost
   */
  readonly termsReview: TermsReview;
}

/**
 * DefaultApi - object-oriented interface
 * @export
 * @class DefaultApi
 * @extends {BaseAPI}
 */
export class DefaultApi extends BaseAPI {
  /**
   *
   * @summary Return access token generated from registries in docker format
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1AccessTokenPost(options?: AxiosRequestConfig) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1AccessTokenPost(options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Returns a list of accounts
   * @param {DefaultApiApiAccountsMgmtV1AccountsGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1AccountsGet(
    requestParameters: DefaultApiApiAccountsMgmtV1AccountsGetRequest = {},
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1AccountsGet(
        requestParameters.page,
        requestParameters.size,
        requestParameters.search,
        requestParameters.orderBy,
        requestParameters.fields,
        requestParameters.fetchLabels,
        requestParameters.fetchCapabilities,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Delete an account by id
   * @param {DefaultApiApiAccountsMgmtV1AccountsIdDeleteRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1AccountsIdDelete(
    requestParameters: DefaultApiApiAccountsMgmtV1AccountsIdDeleteRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1AccountsIdDelete(
        requestParameters.id,
        requestParameters.deleteAssociatedResources,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Get an account by id
   * @param {DefaultApiApiAccountsMgmtV1AccountsIdGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1AccountsIdGet(
    requestParameters: DefaultApiApiAccountsMgmtV1AccountsIdGetRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1AccountsIdGet(
        requestParameters.id,
        requestParameters.fetchLabels,
        requestParameters.fetchCapabilities,
        requestParameters.fetchRhit,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Returns a list of labels
   * @param {DefaultApiApiAccountsMgmtV1AccountsIdLabelsGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1AccountsIdLabelsGet(
    requestParameters: DefaultApiApiAccountsMgmtV1AccountsIdLabelsGetRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1AccountsIdLabelsGet(
        requestParameters.id,
        requestParameters.page,
        requestParameters.size,
        requestParameters.search,
        requestParameters.orderBy,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Delete a label
   * @param {DefaultApiApiAccountsMgmtV1AccountsIdLabelsKeyDeleteRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1AccountsIdLabelsKeyDelete(
    requestParameters: DefaultApiApiAccountsMgmtV1AccountsIdLabelsKeyDeleteRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1AccountsIdLabelsKeyDelete(
        requestParameters.id,
        requestParameters.key,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Get account labels by label key
   * @param {DefaultApiApiAccountsMgmtV1AccountsIdLabelsKeyGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1AccountsIdLabelsKeyGet(
    requestParameters: DefaultApiApiAccountsMgmtV1AccountsIdLabelsKeyGetRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1AccountsIdLabelsKeyGet(requestParameters.id, requestParameters.key, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Create a new label or update an existing label
   * @param {DefaultApiApiAccountsMgmtV1AccountsIdLabelsKeyPatchRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1AccountsIdLabelsKeyPatch(
    requestParameters: DefaultApiApiAccountsMgmtV1AccountsIdLabelsKeyPatchRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1AccountsIdLabelsKeyPatch(
        requestParameters.id,
        requestParameters.key,
        requestParameters.label,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Create a new label or update an existing label
   * @param {DefaultApiApiAccountsMgmtV1AccountsIdLabelsPostRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1AccountsIdLabelsPost(
    requestParameters: DefaultApiApiAccountsMgmtV1AccountsIdLabelsPostRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1AccountsIdLabelsPost(requestParameters.id, requestParameters.label, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Update an account
   * @param {DefaultApiApiAccountsMgmtV1AccountsIdPatchRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1AccountsIdPatch(
    requestParameters: DefaultApiApiAccountsMgmtV1AccountsIdPatchRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1AccountsIdPatch(
        requestParameters.id,
        requestParameters.accountPatchRequest,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary List of pull secrets rotation
   * @param {DefaultApiApiAccountsMgmtV1AccountsIdPullSecretRotationGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1AccountsIdPullSecretRotationGet(
    requestParameters: DefaultApiApiAccountsMgmtV1AccountsIdPullSecretRotationGetRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1AccountsIdPullSecretRotationGet(
        requestParameters.id,
        requestParameters.page,
        requestParameters.size,
        requestParameters.search,
        requestParameters.orderBy,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Initiate pull secret rotation for this account id
   * @param {DefaultApiApiAccountsMgmtV1AccountsIdPullSecretRotationPostRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1AccountsIdPullSecretRotationPost(
    requestParameters: DefaultApiApiAccountsMgmtV1AccountsIdPullSecretRotationPostRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1AccountsIdPullSecretRotationPost(
        requestParameters.id,
        requestParameters.pullSecretRotationRequest,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Delete a single Pull Secret Rotation record
   * @param {DefaultApiApiAccountsMgmtV1AccountsIdPullSecretRotationRotationIdDeleteRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1AccountsIdPullSecretRotationRotationIdDelete(
    requestParameters: DefaultApiApiAccountsMgmtV1AccountsIdPullSecretRotationRotationIdDeleteRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1AccountsIdPullSecretRotationRotationIdDelete(
        requestParameters.id,
        requestParameters.rotationId,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Get a pull secret rotation by id for a specific account
   * @param {DefaultApiApiAccountsMgmtV1AccountsIdPullSecretRotationRotationIdGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1AccountsIdPullSecretRotationRotationIdGet(
    requestParameters: DefaultApiApiAccountsMgmtV1AccountsIdPullSecretRotationRotationIdGetRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1AccountsIdPullSecretRotationRotationIdGet(
        requestParameters.id,
        requestParameters.rotationId,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Create a new account
   * @param {DefaultApiApiAccountsMgmtV1AccountsPostRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1AccountsPost(
    requestParameters: DefaultApiApiAccountsMgmtV1AccountsPostRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1AccountsPost(requestParameters.account, requestParameters.dryRun, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Returns a list of available billing models
   * @param {DefaultApiApiAccountsMgmtV1BillingModelsGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1BillingModelsGet(
    requestParameters: DefaultApiApiAccountsMgmtV1BillingModelsGetRequest = {},
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1BillingModelsGet(requestParameters.page, requestParameters.size, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Get a billing model
   * @param {DefaultApiApiAccountsMgmtV1BillingModelsIdGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1BillingModelsIdGet(
    requestParameters: DefaultApiApiAccountsMgmtV1BillingModelsIdGetRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1BillingModelsIdGet(requestParameters.id, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Returns a list of available capabilities
   * @param {DefaultApiApiAccountsMgmtV1CapabilitiesGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1CapabilitiesGet(
    requestParameters: DefaultApiApiAccountsMgmtV1CapabilitiesGetRequest = {},
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1CapabilitiesGet(
        requestParameters.page,
        requestParameters.size,
        requestParameters.search,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Fetch certificates of a particular type
   * @param {DefaultApiApiAccountsMgmtV1CertificatesPostRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1CertificatesPost(
    requestParameters: DefaultApiApiAccountsMgmtV1CertificatesPostRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1CertificatesPost(requestParameters.certificatesRequest, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Returns a list of cloud resources
   * @param {DefaultApiApiAccountsMgmtV1CloudResourcesGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1CloudResourcesGet(
    requestParameters: DefaultApiApiAccountsMgmtV1CloudResourcesGetRequest = {},
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1CloudResourcesGet(
        requestParameters.page,
        requestParameters.size,
        requestParameters.search,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Delete a cloud resource
   * @param {DefaultApiApiAccountsMgmtV1CloudResourcesIdDeleteRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1CloudResourcesIdDelete(
    requestParameters: DefaultApiApiAccountsMgmtV1CloudResourcesIdDeleteRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1CloudResourcesIdDelete(requestParameters.id, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Get a cloud resource
   * @param {DefaultApiApiAccountsMgmtV1CloudResourcesIdGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1CloudResourcesIdGet(
    requestParameters: DefaultApiApiAccountsMgmtV1CloudResourcesIdGetRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1CloudResourcesIdGet(requestParameters.id, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Update a cloud resource
   * @param {DefaultApiApiAccountsMgmtV1CloudResourcesIdPatchRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1CloudResourcesIdPatch(
    requestParameters: DefaultApiApiAccountsMgmtV1CloudResourcesIdPatchRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1CloudResourcesIdPatch(
        requestParameters.id,
        requestParameters.cloudResource,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Create a new cloud resource
   * @param {DefaultApiApiAccountsMgmtV1CloudResourcesPostRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1CloudResourcesPost(
    requestParameters: DefaultApiApiAccountsMgmtV1CloudResourcesPostRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1CloudResourcesPost(requestParameters.cloudResource, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Authorizes new cluster creation against an exsiting RH Subscription.
   * @param {DefaultApiApiAccountsMgmtV1ClusterAuthorizationsPostRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1ClusterAuthorizationsPost(
    requestParameters: DefaultApiApiAccountsMgmtV1ClusterAuthorizationsPostRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1ClusterAuthorizationsPost(
        requestParameters.clusterAuthorizationRequest,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Finds or creates a cluster registration with a registy credential token and cluster ID
   * @param {DefaultApiApiAccountsMgmtV1ClusterRegistrationsPostRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1ClusterRegistrationsPost(
    requestParameters: DefaultApiApiAccountsMgmtV1ClusterRegistrationsPostRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1ClusterRegistrationsPost(
        requestParameters.clusterRegistrationRequest,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary List cluster transfers - returns either an empty result set or a valid ClusterTransfer instance that is within a valid transfer window.
   * @param {DefaultApiApiAccountsMgmtV1ClusterTransfersGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1ClusterTransfersGet(
    requestParameters: DefaultApiApiAccountsMgmtV1ClusterTransfersGetRequest = {},
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1ClusterTransfersGet(
        requestParameters.page,
        requestParameters.size,
        requestParameters.search,
        requestParameters.orderBy,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Update specific cluster transfer
   * @param {DefaultApiApiAccountsMgmtV1ClusterTransfersIdPatchRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1ClusterTransfersIdPatch(
    requestParameters: DefaultApiApiAccountsMgmtV1ClusterTransfersIdPatchRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1ClusterTransfersIdPatch(
        requestParameters.id,
        requestParameters.clusterTransferPatchRequest,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Initiate cluster transfer.
   * @param {DefaultApiApiAccountsMgmtV1ClusterTransfersPostRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1ClusterTransfersPost(
    requestParameters: DefaultApiApiAccountsMgmtV1ClusterTransfersPostRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1ClusterTransfersPost(requestParameters.clusterTransferRequest, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Returns a list of skus
   * @param {DefaultApiApiAccountsMgmtV1ConfigSkusGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1ConfigSkusGet(
    requestParameters: DefaultApiApiAccountsMgmtV1ConfigSkusGetRequest = {},
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1ConfigSkusGet(
        requestParameters.page,
        requestParameters.size,
        requestParameters.search,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Delete a sku
   * @param {DefaultApiApiAccountsMgmtV1ConfigSkusIdDeleteRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1ConfigSkusIdDelete(
    requestParameters: DefaultApiApiAccountsMgmtV1ConfigSkusIdDeleteRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1ConfigSkusIdDelete(requestParameters.id, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Get a sku
   * @param {DefaultApiApiAccountsMgmtV1ConfigSkusIdGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1ConfigSkusIdGet(
    requestParameters: DefaultApiApiAccountsMgmtV1ConfigSkusIdGetRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1ConfigSkusIdGet(requestParameters.id, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Update a Sku
   * @param {DefaultApiApiAccountsMgmtV1ConfigSkusIdPatchRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1ConfigSkusIdPatch(
    requestParameters: DefaultApiApiAccountsMgmtV1ConfigSkusIdPatchRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1ConfigSkusIdPatch(requestParameters.id, requestParameters.sKU, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Create a new sku
   * @param {DefaultApiApiAccountsMgmtV1ConfigSkusPostRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1ConfigSkusPost(
    requestParameters: DefaultApiApiAccountsMgmtV1ConfigSkusPostRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1ConfigSkusPost(requestParameters.sKU, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Get the authenticated account
   * @param {DefaultApiApiAccountsMgmtV1CurrentAccountGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1CurrentAccountGet(
    requestParameters: DefaultApiApiAccountsMgmtV1CurrentAccountGetRequest = {},
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1CurrentAccountGet(requestParameters.fetchLabels, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Returns a list of default capabilities
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1DefaultCapabilitiesGet(options?: AxiosRequestConfig) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1DefaultCapabilitiesGet(options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Delete a default capability
   * @param {DefaultApiApiAccountsMgmtV1DefaultCapabilitiesNameDeleteRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1DefaultCapabilitiesNameDelete(
    requestParameters: DefaultApiApiAccountsMgmtV1DefaultCapabilitiesNameDeleteRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1DefaultCapabilitiesNameDelete(requestParameters.name, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Get default capability by label name
   * @param {DefaultApiApiAccountsMgmtV1DefaultCapabilitiesNameGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1DefaultCapabilitiesNameGet(
    requestParameters: DefaultApiApiAccountsMgmtV1DefaultCapabilitiesNameGetRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1DefaultCapabilitiesNameGet(requestParameters.name, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Create a new default capability or update an existing one
   * @param {DefaultApiApiAccountsMgmtV1DefaultCapabilitiesNamePatchRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1DefaultCapabilitiesNamePatch(
    requestParameters: DefaultApiApiAccountsMgmtV1DefaultCapabilitiesNamePatchRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1DefaultCapabilitiesNamePatch(
        requestParameters.name,
        requestParameters.defaultCapability,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Create a new default capability or update an existing one
   * @param {DefaultApiApiAccountsMgmtV1DefaultCapabilitiesPostRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1DefaultCapabilitiesPost(
    requestParameters: DefaultApiApiAccountsMgmtV1DefaultCapabilitiesPostRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1DefaultCapabilitiesPost(requestParameters.defaultCapability, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Returns a list of deleted subscriptions
   * @param {DefaultApiApiAccountsMgmtV1DeletedSubscriptionsGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1DeletedSubscriptionsGet(
    requestParameters: DefaultApiApiAccountsMgmtV1DeletedSubscriptionsGetRequest = {},
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1DeletedSubscriptionsGet(
        requestParameters.page,
        requestParameters.size,
        requestParameters.search,
        requestParameters.orderBy,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Fetches a deleted subscription by id
   * @param {DefaultApiApiAccountsMgmtV1DeletedSubscriptionsIdGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1DeletedSubscriptionsIdGet(
    requestParameters: DefaultApiApiAccountsMgmtV1DeletedSubscriptionsIdGetRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1DeletedSubscriptionsIdGet(requestParameters.id, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Returns a list of errors
   * @param {DefaultApiApiAccountsMgmtV1ErrorsGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1ErrorsGet(
    requestParameters: DefaultApiApiAccountsMgmtV1ErrorsGetRequest = {},
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1ErrorsGet(
        requestParameters.page,
        requestParameters.size,
        requestParameters.search,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Get an error by id
   * @param {DefaultApiApiAccountsMgmtV1ErrorsIdGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1ErrorsIdGet(
    requestParameters: DefaultApiApiAccountsMgmtV1ErrorsIdGetRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1ErrorsIdGet(requestParameters.id, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Query a feature toggle by id
   * @param {DefaultApiApiAccountsMgmtV1FeatureTogglesIdQueryPostRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @deprecated
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1FeatureTogglesIdQueryPost(
    requestParameters: DefaultApiApiAccountsMgmtV1FeatureTogglesIdQueryPostRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1FeatureTogglesIdQueryPost(
        requestParameters.id,
        requestParameters.featureToggleQueryRequest,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Returns a list of labels
   * @param {DefaultApiApiAccountsMgmtV1LabelsGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1LabelsGet(
    requestParameters: DefaultApiApiAccountsMgmtV1LabelsGetRequest = {},
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1LabelsGet(
        requestParameters.page,
        requestParameters.size,
        requestParameters.search,
        requestParameters.orderBy,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Get a console.redhat.com landing page content JSON schema
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1LandingPageSelfServiceGet(options?: AxiosRequestConfig) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1LandingPageSelfServiceGet(options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Returns a list of metrics
   * @param {DefaultApiApiAccountsMgmtV1MetricsGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1MetricsGet(
    requestParameters: DefaultApiApiAccountsMgmtV1MetricsGetRequest = {},
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1MetricsGet(requestParameters.search, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Notify the owner of cluster/subscription
   * @param {DefaultApiApiAccountsMgmtV1NotifyPostRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1NotifyPost(
    requestParameters: DefaultApiApiAccountsMgmtV1NotifyPostRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1NotifyPost(requestParameters.notificationRequest, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Returns a list of organizations
   * @param {DefaultApiApiAccountsMgmtV1OrganizationsGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1OrganizationsGet(
    requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsGetRequest = {},
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1OrganizationsGet(
        requestParameters.page,
        requestParameters.size,
        requestParameters.search,
        requestParameters.orderBy,
        requestParameters.fetchLabels,
        requestParameters.fetchCapabilities,
        requestParameters.fields,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Get an organization by id
   * @param {DefaultApiApiAccountsMgmtV1OrganizationsIdGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1OrganizationsIdGet(
    requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsIdGetRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1OrganizationsIdGet(
        requestParameters.id,
        requestParameters.fetchLabels,
        requestParameters.fetchCapabilities,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Returns a list of labels
   * @param {DefaultApiApiAccountsMgmtV1OrganizationsIdLabelsGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1OrganizationsIdLabelsGet(
    requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsIdLabelsGetRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1OrganizationsIdLabelsGet(
        requestParameters.id,
        requestParameters.page,
        requestParameters.size,
        requestParameters.search,
        requestParameters.orderBy,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Delete a label
   * @param {DefaultApiApiAccountsMgmtV1OrganizationsIdLabelsKeyDeleteRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1OrganizationsIdLabelsKeyDelete(
    requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsIdLabelsKeyDeleteRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1OrganizationsIdLabelsKeyDelete(
        requestParameters.id,
        requestParameters.key,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Get organization labels by label key
   * @param {DefaultApiApiAccountsMgmtV1OrganizationsIdLabelsKeyGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1OrganizationsIdLabelsKeyGet(
    requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsIdLabelsKeyGetRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1OrganizationsIdLabelsKeyGet(
        requestParameters.id,
        requestParameters.key,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Create a new label or update an existing label
   * @param {DefaultApiApiAccountsMgmtV1OrganizationsIdLabelsKeyPatchRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1OrganizationsIdLabelsKeyPatch(
    requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsIdLabelsKeyPatchRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1OrganizationsIdLabelsKeyPatch(
        requestParameters.id,
        requestParameters.key,
        requestParameters.label,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Create a new label or update an existing label
   * @param {DefaultApiApiAccountsMgmtV1OrganizationsIdLabelsPostRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1OrganizationsIdLabelsPost(
    requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsIdLabelsPostRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1OrganizationsIdLabelsPost(
        requestParameters.id,
        requestParameters.label,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Update an organization
   * @param {DefaultApiApiAccountsMgmtV1OrganizationsIdPatchRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1OrganizationsIdPatch(
    requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsIdPatchRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1OrganizationsIdPatch(
        requestParameters.id,
        requestParameters.organizationPatchRequest,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Returns a summary of organizations clusters based on metrics
   * @param {DefaultApiApiAccountsMgmtV1OrganizationsIdSummaryDashboardGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1OrganizationsIdSummaryDashboardGet(
    requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsIdSummaryDashboardGetRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1OrganizationsIdSummaryDashboardGet(requestParameters.id, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Delete an account group assignment
   * @param {DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsAcctGrpAsgnIdDeleteRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsAcctGrpAsgnIdDelete(
    requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsAcctGrpAsgnIdDeleteRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsAcctGrpAsgnIdDelete(
        requestParameters.orgId,
        requestParameters.acctGrpAsgnId,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Get account group assignment by id
   * @param {DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsAcctGrpAsgnIdGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsAcctGrpAsgnIdGet(
    requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsAcctGrpAsgnIdGetRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsAcctGrpAsgnIdGet(
        requestParameters.orgId,
        requestParameters.acctGrpAsgnId,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Returns a list of account group assignments for the given org
   * @param {DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsGet(
    requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsGetRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsGet(
        requestParameters.orgId,
        requestParameters.page,
        requestParameters.size,
        requestParameters.search,
        requestParameters.orderBy,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Create a new AccountGroupAssignment
   * @param {DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsPostRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsPost(
    requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsPostRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1OrganizationsOrgIdAccountGroupAssignmentsPost(
        requestParameters.orgId,
        requestParameters.accountGroupAssignment,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Delete an account group
   * @param {DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdDeleteRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdDelete(
    requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdDeleteRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdDelete(
        requestParameters.orgId,
        requestParameters.acctGrpId,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Get account group by id
   * @param {DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdGet(
    requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdGetRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdGet(
        requestParameters.orgId,
        requestParameters.acctGrpId,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Update an account group
   * @param {DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdPatchRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdPatch(
    requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdPatchRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsAcctGrpIdPatch(
        requestParameters.orgId,
        requestParameters.acctGrpId,
        requestParameters.accountGroupRequest,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Returns a list of account groups for the given org
   * @param {DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupsGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsGet(
    requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupsGetRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsGet(
        requestParameters.orgId,
        requestParameters.page,
        requestParameters.size,
        requestParameters.search,
        requestParameters.orderBy,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Create a new AccountGroup
   * @param {DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupsPostRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsPost(
    requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsOrgIdAccountGroupsPostRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1OrganizationsOrgIdAccountGroupsPost(
        requestParameters.orgId,
        requestParameters.accountGroupRequest,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Returns a list of consumed quota for an organization
   * @param {DefaultApiApiAccountsMgmtV1OrganizationsOrgIdConsumedQuotaGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1OrganizationsOrgIdConsumedQuotaGet(
    requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsOrgIdConsumedQuotaGetRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1OrganizationsOrgIdConsumedQuotaGet(
        requestParameters.orgId,
        requestParameters.forceRecalc,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Returns a summary of quota cost
   * @param {DefaultApiApiAccountsMgmtV1OrganizationsOrgIdQuotaCostGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1OrganizationsOrgIdQuotaCostGet(
    requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsOrgIdQuotaCostGetRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1OrganizationsOrgIdQuotaCostGet(
        requestParameters.orgId,
        requestParameters.search,
        requestParameters.page,
        requestParameters.size,
        requestParameters.fetchRelatedResources,
        requestParameters.forceRecalc,
        requestParameters.fetchCloudAccounts,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Returns a list of resource quota objects
   * @param {DefaultApiApiAccountsMgmtV1OrganizationsOrgIdResourceQuotaGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaGet(
    requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsOrgIdResourceQuotaGetRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaGet(
        requestParameters.orgId,
        requestParameters.page,
        requestParameters.size,
        requestParameters.search,
        requestParameters.orderBy,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Create a new resource quota
   * @param {DefaultApiApiAccountsMgmtV1OrganizationsOrgIdResourceQuotaPostRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaPost(
    requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsOrgIdResourceQuotaPostRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaPost(
        requestParameters.orgId,
        requestParameters.resourceQuotaRequest,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Delete a resource quota
   * @param {DefaultApiApiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdDeleteRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdDelete(
    requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdDeleteRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdDelete(
        requestParameters.orgId,
        requestParameters.quotaId,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Get a resource quota by id
   * @param {DefaultApiApiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdGet(
    requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdGetRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdGet(
        requestParameters.orgId,
        requestParameters.quotaId,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Update a resource quota
   * @param {DefaultApiApiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdPatchRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdPatch(
    requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdPatchRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1OrganizationsOrgIdResourceQuotaQuotaIdPatch(
        requestParameters.orgId,
        requestParameters.quotaId,
        requestParameters.resourceQuotaRequest,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Create a new organization
   * @param {DefaultApiApiAccountsMgmtV1OrganizationsPostRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1OrganizationsPost(
    requestParameters: DefaultApiApiAccountsMgmtV1OrganizationsPostRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1OrganizationsPost(requestParameters.organization, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Get all plans
   * @param {DefaultApiApiAccountsMgmtV1PlansGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1PlansGet(
    requestParameters: DefaultApiApiAccountsMgmtV1PlansGetRequest = {},
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1PlansGet(
        requestParameters.page,
        requestParameters.size,
        requestParameters.search,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Get a plan by id
   * @param {DefaultApiApiAccountsMgmtV1PlansIdGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1PlansIdGet(
    requestParameters: DefaultApiApiAccountsMgmtV1PlansIdGetRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1PlansIdGet(requestParameters.id, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Delete a pull secret
   * @param {DefaultApiApiAccountsMgmtV1PullSecretsExternalResourceIdDeleteRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1PullSecretsExternalResourceIdDelete(
    requestParameters: DefaultApiApiAccountsMgmtV1PullSecretsExternalResourceIdDeleteRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1PullSecretsExternalResourceIdDelete(
        requestParameters.externalResourceId,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Return access token generated from registries in docker format
   * @param {DefaultApiApiAccountsMgmtV1PullSecretsPostRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1PullSecretsPost(
    requestParameters: DefaultApiApiAccountsMgmtV1PullSecretsPostRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1PullSecretsPost(requestParameters.pullSecretRequest, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Authorizes a user to consume or release a single quantity of quota
   * @param {DefaultApiApiAccountsMgmtV1QuotaAuthorizationsPostRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1QuotaAuthorizationsPost(
    requestParameters: DefaultApiApiAccountsMgmtV1QuotaAuthorizationsPostRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1QuotaAuthorizationsPost(
        requestParameters.quotaAuthorizationRequest,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Returns a summary of quota cost for the authenticated user
   * @param {DefaultApiApiAccountsMgmtV1QuotaCostGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1QuotaCostGet(
    requestParameters: DefaultApiApiAccountsMgmtV1QuotaCostGetRequest = {},
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1QuotaCostGet(
        requestParameters.search,
        requestParameters.page,
        requestParameters.size,
        requestParameters.fetchRelatedResources,
        requestParameters.fetchCloudAccounts,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Returns a list of UHC product Quota Rules
   * @param {DefaultApiApiAccountsMgmtV1QuotaRulesGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1QuotaRulesGet(
    requestParameters: DefaultApiApiAccountsMgmtV1QuotaRulesGetRequest = {},
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1QuotaRulesGet(
        requestParameters.page,
        requestParameters.size,
        requestParameters.search,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Returns a list of quotas
   * @param {DefaultApiApiAccountsMgmtV1QuotasGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1QuotasGet(
    requestParameters: DefaultApiApiAccountsMgmtV1QuotasGetRequest = {},
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1QuotasGet(
        requestParameters.page,
        requestParameters.size,
        requestParameters.search,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Delete a quota
   * @param {DefaultApiApiAccountsMgmtV1QuotasIdDeleteRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1QuotasIdDelete(
    requestParameters: DefaultApiApiAccountsMgmtV1QuotasIdDeleteRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1QuotasIdDelete(requestParameters.id, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Get a quota
   * @param {DefaultApiApiAccountsMgmtV1QuotasIdGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1QuotasIdGet(
    requestParameters: DefaultApiApiAccountsMgmtV1QuotasIdGetRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1QuotasIdGet(requestParameters.id, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Update a quota
   * @param {DefaultApiApiAccountsMgmtV1QuotasIdPatchRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1QuotasIdPatch(
    requestParameters: DefaultApiApiAccountsMgmtV1QuotasIdPatchRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1QuotasIdPatch(requestParameters.id, requestParameters.quota, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Create a new quota
   * @param {DefaultApiApiAccountsMgmtV1QuotasPostRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1QuotasPost(
    requestParameters: DefaultApiApiAccountsMgmtV1QuotasPostRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1QuotasPost(requestParameters.quota, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Returns a list of registries
   * @param {DefaultApiApiAccountsMgmtV1RegistriesGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1RegistriesGet(
    requestParameters: DefaultApiApiAccountsMgmtV1RegistriesGetRequest = {},
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1RegistriesGet(
        requestParameters.page,
        requestParameters.size,
        requestParameters.search,
        requestParameters.orderBy,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Get an registry by id
   * @param {DefaultApiApiAccountsMgmtV1RegistriesIdGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1RegistriesIdGet(
    requestParameters: DefaultApiApiAccountsMgmtV1RegistriesIdGetRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1RegistriesIdGet(requestParameters.id, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   * List Registry Credentials
   * @param {DefaultApiApiAccountsMgmtV1RegistryCredentialsGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1RegistryCredentialsGet(
    requestParameters: DefaultApiApiAccountsMgmtV1RegistryCredentialsGetRequest = {},
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1RegistryCredentialsGet(
        requestParameters.page,
        requestParameters.size,
        requestParameters.search,
        requestParameters.orderBy,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Delete a registry credential by id
   * @param {DefaultApiApiAccountsMgmtV1RegistryCredentialsIdDeleteRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1RegistryCredentialsIdDelete(
    requestParameters: DefaultApiApiAccountsMgmtV1RegistryCredentialsIdDeleteRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1RegistryCredentialsIdDelete(requestParameters.id, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Get a registry credentials by id
   * @param {DefaultApiApiAccountsMgmtV1RegistryCredentialsIdGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1RegistryCredentialsIdGet(
    requestParameters: DefaultApiApiAccountsMgmtV1RegistryCredentialsIdGetRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1RegistryCredentialsIdGet(requestParameters.id, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Update a registry credential
   * @param {DefaultApiApiAccountsMgmtV1RegistryCredentialsIdPatchRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1RegistryCredentialsIdPatch(
    requestParameters: DefaultApiApiAccountsMgmtV1RegistryCredentialsIdPatchRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1RegistryCredentialsIdPatch(
        requestParameters.id,
        requestParameters.registryCredentialPatchRequest,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Request the creation of a registry credential
   * @param {DefaultApiApiAccountsMgmtV1RegistryCredentialsPostRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1RegistryCredentialsPost(
    requestParameters: DefaultApiApiAccountsMgmtV1RegistryCredentialsPostRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1RegistryCredentialsPost(requestParameters.registryCredential, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Returns a list of reserved resources
   * @param {DefaultApiApiAccountsMgmtV1ReservedResourcesGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1ReservedResourcesGet(
    requestParameters: DefaultApiApiAccountsMgmtV1ReservedResourcesGetRequest = {},
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1ReservedResourcesGet(
        requestParameters.page,
        requestParameters.size,
        requestParameters.search,
        requestParameters.orderBy,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Returns a list of resource quota objects
   * @param {DefaultApiApiAccountsMgmtV1ResourceQuotaGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1ResourceQuotaGet(
    requestParameters: DefaultApiApiAccountsMgmtV1ResourceQuotaGetRequest = {},
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1ResourceQuotaGet(
        requestParameters.page,
        requestParameters.size,
        requestParameters.search,
        requestParameters.orderBy,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Returns a list of role bindings
   * @param {DefaultApiApiAccountsMgmtV1RoleBindingsGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1RoleBindingsGet(
    requestParameters: DefaultApiApiAccountsMgmtV1RoleBindingsGetRequest = {},
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1RoleBindingsGet(
        requestParameters.page,
        requestParameters.size,
        requestParameters.search,
        requestParameters.orderBy,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Delete a role binding
   * @param {DefaultApiApiAccountsMgmtV1RoleBindingsIdDeleteRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1RoleBindingsIdDelete(
    requestParameters: DefaultApiApiAccountsMgmtV1RoleBindingsIdDeleteRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1RoleBindingsIdDelete(requestParameters.id, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Get a role binding
   * @param {DefaultApiApiAccountsMgmtV1RoleBindingsIdGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1RoleBindingsIdGet(
    requestParameters: DefaultApiApiAccountsMgmtV1RoleBindingsIdGetRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1RoleBindingsIdGet(requestParameters.id, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Update a role binding
   * @param {DefaultApiApiAccountsMgmtV1RoleBindingsIdPatchRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1RoleBindingsIdPatch(
    requestParameters: DefaultApiApiAccountsMgmtV1RoleBindingsIdPatchRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1RoleBindingsIdPatch(
        requestParameters.id,
        requestParameters.roleBindingRequest,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Create a new role binding
   * @param {DefaultApiApiAccountsMgmtV1RoleBindingsPostRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1RoleBindingsPost(
    requestParameters: DefaultApiApiAccountsMgmtV1RoleBindingsPostRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1RoleBindingsPost(requestParameters.roleBindingCreateRequest, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Returns a list of roles
   * @param {DefaultApiApiAccountsMgmtV1RolesGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1RolesGet(
    requestParameters: DefaultApiApiAccountsMgmtV1RolesGetRequest = {},
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1RolesGet(
        requestParameters.page,
        requestParameters.size,
        requestParameters.search,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Get a role by id
   * @param {DefaultApiApiAccountsMgmtV1RolesIdGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1RolesIdGet(
    requestParameters: DefaultApiApiAccountsMgmtV1RolesIdGetRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1RolesIdGet(requestParameters.id, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Create or renew the entitlement to support a product for the user\'s organization.
   * @param {DefaultApiApiAccountsMgmtV1SelfEntitlementProductPostRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1SelfEntitlementProductPost(
    requestParameters: DefaultApiApiAccountsMgmtV1SelfEntitlementProductPostRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1SelfEntitlementProductPost(requestParameters.product, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Returns a list of UHC product SKU Rules
   * @param {DefaultApiApiAccountsMgmtV1SkuRulesGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1SkuRulesGet(
    requestParameters: DefaultApiApiAccountsMgmtV1SkuRulesGetRequest = {},
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1SkuRulesGet(
        requestParameters.search,
        requestParameters.page,
        requestParameters.size,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Delete a sku rule
   * @param {DefaultApiApiAccountsMgmtV1SkuRulesIdDeleteRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1SkuRulesIdDelete(
    requestParameters: DefaultApiApiAccountsMgmtV1SkuRulesIdDeleteRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1SkuRulesIdDelete(requestParameters.id, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Get a sku rules by id
   * @param {DefaultApiApiAccountsMgmtV1SkuRulesIdGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1SkuRulesIdGet(
    requestParameters: DefaultApiApiAccountsMgmtV1SkuRulesIdGetRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1SkuRulesIdGet(requestParameters.id, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Update a sku rule
   * @param {DefaultApiApiAccountsMgmtV1SkuRulesIdPatchRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1SkuRulesIdPatch(
    requestParameters: DefaultApiApiAccountsMgmtV1SkuRulesIdPatchRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1SkuRulesIdPatch(requestParameters.id, requestParameters.skuRules, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Create a new sku rule
   * @param {DefaultApiApiAccountsMgmtV1SkuRulesPostRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1SkuRulesPost(
    requestParameters: DefaultApiApiAccountsMgmtV1SkuRulesPostRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1SkuRulesPost(requestParameters.skuRules, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Returns a list of UHC product SKUs
   * @param {DefaultApiApiAccountsMgmtV1SkusGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @deprecated
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1SkusGet(
    requestParameters: DefaultApiApiAccountsMgmtV1SkusGetRequest = {},
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1SkusGet(requestParameters.search, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Get a sku by id
   * @param {DefaultApiApiAccountsMgmtV1SkusIdGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @deprecated
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1SkusIdGet(
    requestParameters: DefaultApiApiAccountsMgmtV1SkusIdGetRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1SkusIdGet(requestParameters.id, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Returns a list of subscriptions
   * @param {DefaultApiApiAccountsMgmtV1SubscriptionsGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1SubscriptionsGet(
    requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsGetRequest = {},
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1SubscriptionsGet(
        requestParameters.page,
        requestParameters.size,
        requestParameters.search,
        requestParameters.fetchAccounts,
        requestParameters.fetchLabels,
        requestParameters.fetchCapabilities,
        requestParameters.fields,
        requestParameters.orderBy,
        requestParameters.labels,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Deletes a subscription by id
   * @param {DefaultApiApiAccountsMgmtV1SubscriptionsIdDeleteRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1SubscriptionsIdDelete(
    requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsIdDeleteRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1SubscriptionsIdDelete(requestParameters.id, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Get a subscription by id
   * @param {DefaultApiApiAccountsMgmtV1SubscriptionsIdGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1SubscriptionsIdGet(
    requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsIdGetRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1SubscriptionsIdGet(
        requestParameters.id,
        requestParameters.fetchAccounts,
        requestParameters.fetchLabels,
        requestParameters.fetchCapabilities,
        requestParameters.fetchCpuAndSocket,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Returns a list of labels
   * @param {DefaultApiApiAccountsMgmtV1SubscriptionsIdLabelsGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1SubscriptionsIdLabelsGet(
    requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsIdLabelsGetRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1SubscriptionsIdLabelsGet(
        requestParameters.id,
        requestParameters.page,
        requestParameters.size,
        requestParameters.search,
        requestParameters.orderBy,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Delete a label
   * @param {DefaultApiApiAccountsMgmtV1SubscriptionsIdLabelsKeyDeleteRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1SubscriptionsIdLabelsKeyDelete(
    requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsIdLabelsKeyDeleteRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1SubscriptionsIdLabelsKeyDelete(
        requestParameters.id,
        requestParameters.key,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Get subscription labels by label key
   * @param {DefaultApiApiAccountsMgmtV1SubscriptionsIdLabelsKeyGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1SubscriptionsIdLabelsKeyGet(
    requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsIdLabelsKeyGetRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1SubscriptionsIdLabelsKeyGet(
        requestParameters.id,
        requestParameters.key,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Create a new label or update an existing label
   * @param {DefaultApiApiAccountsMgmtV1SubscriptionsIdLabelsKeyPatchRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1SubscriptionsIdLabelsKeyPatch(
    requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsIdLabelsKeyPatchRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1SubscriptionsIdLabelsKeyPatch(
        requestParameters.id,
        requestParameters.key,
        requestParameters.label,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Create a new label or update an existing label
   * @param {DefaultApiApiAccountsMgmtV1SubscriptionsIdLabelsPostRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1SubscriptionsIdLabelsPost(
    requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsIdLabelsPostRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1SubscriptionsIdLabelsPost(
        requestParameters.id,
        requestParameters.label,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Get subscription\'s metrics by metric name
   * @param {DefaultApiApiAccountsMgmtV1SubscriptionsIdMetricsMetricNameGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1SubscriptionsIdMetricsMetricNameGet(
    requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsIdMetricsMetricNameGetRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1SubscriptionsIdMetricsMetricNameGet(
        requestParameters.id,
        requestParameters.metricName,
        requestParameters.search,
        requestParameters.fields,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Notify the owner of a subscription
   * @param {DefaultApiApiAccountsMgmtV1SubscriptionsIdNotifyPostRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1SubscriptionsIdNotifyPost(
    requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsIdNotifyPostRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1SubscriptionsIdNotifyPost(
        requestParameters.id,
        requestParameters.notificationRequest,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Update a subscription
   * @param {DefaultApiApiAccountsMgmtV1SubscriptionsIdPatchRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1SubscriptionsIdPatch(
    requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsIdPatchRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1SubscriptionsIdPatch(
        requestParameters.id,
        requestParameters.subscriptionPatchRequest,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Returns a list of reserved resources
   * @param {DefaultApiApiAccountsMgmtV1SubscriptionsIdReservedResourcesGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1SubscriptionsIdReservedResourcesGet(
    requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsIdReservedResourcesGetRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1SubscriptionsIdReservedResourcesGet(
        requestParameters.id,
        requestParameters.page,
        requestParameters.size,
        requestParameters.search,
        requestParameters.orderBy,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Returns a list of open support creates opened against the external cluster id of this subscrption
   * @param {DefaultApiApiAccountsMgmtV1SubscriptionsIdSupportCasesGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1SubscriptionsIdSupportCasesGet(
    requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsIdSupportCasesGetRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1SubscriptionsIdSupportCasesGet(
        requestParameters.id,
        requestParameters.page,
        requestParameters.size,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Create a new subscription
   * @param {DefaultApiApiAccountsMgmtV1SubscriptionsPostRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1SubscriptionsPost(
    requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsPostRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1SubscriptionsPost(requestParameters.subscriptionCreateRequest, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Deletes a notification contact by subscription and account id
   * @param {DefaultApiApiAccountsMgmtV1SubscriptionsSubIdNotificationContactsAccountIdDeleteRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1SubscriptionsSubIdNotificationContactsAccountIdDelete(
    requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsSubIdNotificationContactsAccountIdDeleteRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1SubscriptionsSubIdNotificationContactsAccountIdDelete(
        requestParameters.subId,
        requestParameters.accountId,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Returns a list of notification contacts for the given subscription
   * @param {DefaultApiApiAccountsMgmtV1SubscriptionsSubIdNotificationContactsGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1SubscriptionsSubIdNotificationContactsGet(
    requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsSubIdNotificationContactsGetRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1SubscriptionsSubIdNotificationContactsGet(
        requestParameters.subId,
        requestParameters.page,
        requestParameters.size,
        requestParameters.search,
        requestParameters.fields,
        requestParameters.orderBy,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Add an account as a notification contact to this subscription
   * @param {DefaultApiApiAccountsMgmtV1SubscriptionsSubIdNotificationContactsPostRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1SubscriptionsSubIdNotificationContactsPost(
    requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsSubIdNotificationContactsPostRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1SubscriptionsSubIdNotificationContactsPost(
        requestParameters.subId,
        requestParameters.notificationContactCreateRequest,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Delete reserved resources by id
   * @param {DefaultApiApiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdDeleteRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdDelete(
    requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdDeleteRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdDelete(
        requestParameters.subId,
        requestParameters.reservedResourceId,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Get reserved resources by id
   * @param {DefaultApiApiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdGet(
    requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdGetRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdGet(
        requestParameters.subId,
        requestParameters.reservedResourceId,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Update a reserved resource
   * @param {DefaultApiApiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdPatchRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdPatch(
    requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdPatchRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1SubscriptionsSubIdReservedResourcesReservedResourceIdPatch(
        requestParameters.subId,
        requestParameters.reservedResourceId,
        requestParameters.reservedResourcePatchRequest,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Get subscription role bindings
   * @param {DefaultApiApiAccountsMgmtV1SubscriptionsSubIdRoleBindingsGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1SubscriptionsSubIdRoleBindingsGet(
    requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsSubIdRoleBindingsGetRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1SubscriptionsSubIdRoleBindingsGet(
        requestParameters.subId,
        requestParameters.page,
        requestParameters.size,
        requestParameters.search,
        requestParameters.orderBy,
        requestParameters.fetchAccounts,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Delete a subscription role binding
   * @param {DefaultApiApiAccountsMgmtV1SubscriptionsSubIdRoleBindingsIdDeleteRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1SubscriptionsSubIdRoleBindingsIdDelete(
    requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsSubIdRoleBindingsIdDeleteRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1SubscriptionsSubIdRoleBindingsIdDelete(
        requestParameters.id,
        requestParameters.subId,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Get a Subscription Role Binding by id
   * @param {DefaultApiApiAccountsMgmtV1SubscriptionsSubIdRoleBindingsIdGetRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1SubscriptionsSubIdRoleBindingsIdGet(
    requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsSubIdRoleBindingsIdGetRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1SubscriptionsSubIdRoleBindingsIdGet(
        requestParameters.id,
        requestParameters.subId,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Create a new subscription role binding
   * @param {DefaultApiApiAccountsMgmtV1SubscriptionsSubIdRoleBindingsPostRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1SubscriptionsSubIdRoleBindingsPost(
    requestParameters: DefaultApiApiAccountsMgmtV1SubscriptionsSubIdRoleBindingsPostRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1SubscriptionsSubIdRoleBindingsPost(
        requestParameters.subId,
        requestParameters.subscriptionRoleBindingCreateRequest,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Delete a support case
   * @param {DefaultApiApiAccountsMgmtV1SupportCasesCaseIdDeleteRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1SupportCasesCaseIdDelete(
    requestParameters: DefaultApiApiAccountsMgmtV1SupportCasesCaseIdDeleteRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1SupportCasesCaseIdDelete(requestParameters.caseId, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary create a support case for the subscription
   * @param {DefaultApiApiAccountsMgmtV1SupportCasesPostRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1SupportCasesPost(
    requestParameters: DefaultApiApiAccountsMgmtV1SupportCasesPostRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1SupportCasesPost(requestParameters.supportCasesRequest, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Finds the account owner of the provided token
   * @param {DefaultApiApiAccountsMgmtV1TokenAuthorizationPostRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAccountsMgmtV1TokenAuthorizationPost(
    requestParameters: DefaultApiApiAccountsMgmtV1TokenAuthorizationPostRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAccountsMgmtV1TokenAuthorizationPost(requestParameters.tokenAuthorizationRequest, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Review an account\'s access to perform an action on a particular resource or resource type
   * @param {DefaultApiApiAuthorizationsV1AccessReviewPostRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAuthorizationsV1AccessReviewPost(
    requestParameters: DefaultApiApiAuthorizationsV1AccessReviewPostRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAuthorizationsV1AccessReviewPost(requestParameters.accessReview, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Review an account\'s capabilities
   * @param {DefaultApiApiAuthorizationsV1CapabilityReviewPostRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAuthorizationsV1CapabilityReviewPost(
    requestParameters: DefaultApiApiAuthorizationsV1CapabilityReviewPostRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAuthorizationsV1CapabilityReviewPost(requestParameters.capabilityReviewRequest, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Determine whether a user is restricted from downloading Red Hat software based on export control compliance.
   * @param {DefaultApiApiAuthorizationsV1ExportControlReviewPostRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAuthorizationsV1ExportControlReviewPost(
    requestParameters: DefaultApiApiAuthorizationsV1ExportControlReviewPostRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAuthorizationsV1ExportControlReviewPost(
        requestParameters.exportControlReviewRequest,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Review feature to perform an action on it such as toggle a feature on/off
   * @param {DefaultApiApiAuthorizationsV1FeatureReviewPostRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAuthorizationsV1FeatureReviewPost(
    requestParameters: DefaultApiApiAuthorizationsV1FeatureReviewPostRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAuthorizationsV1FeatureReviewPost(requestParameters.featureReview, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Obtain resource ids for resources an account may perform the specified action upon. Resource ids returned as [\"*\"] is shorthand for all ids.
   * @param {DefaultApiApiAuthorizationsV1ResourceReviewPostRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @deprecated
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAuthorizationsV1ResourceReviewPost(
    requestParameters: DefaultApiApiAuthorizationsV1ResourceReviewPostRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAuthorizationsV1ResourceReviewPost(
        requestParameters.resourceReviewRequest,
        requestParameters.reduceClusterList,
        requestParameters.excludeSubscriptionStatuses,
        requestParameters.includeSubscriptionStatuses,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Review your ability to perform an action on a particular resource or resource type
   * @param {DefaultApiApiAuthorizationsV1SelfAccessReviewPostRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAuthorizationsV1SelfAccessReviewPost(
    requestParameters: DefaultApiApiAuthorizationsV1SelfAccessReviewPostRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAuthorizationsV1SelfAccessReviewPost(requestParameters.selfAccessReview, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Review your ability to toggle a feature
   * @param {DefaultApiApiAuthorizationsV1SelfFeatureReviewPostRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAuthorizationsV1SelfFeatureReviewPost(
    requestParameters: DefaultApiApiAuthorizationsV1SelfFeatureReviewPostRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAuthorizationsV1SelfFeatureReviewPost(requestParameters.selfFeatureReview, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Obtain resource ids for resources you may perform the specified action upon. Resource ids returned as [\"*\"] is shorthand for all ids.
   * @param {DefaultApiApiAuthorizationsV1SelfResourceReviewPostRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAuthorizationsV1SelfResourceReviewPost(
    requestParameters: DefaultApiApiAuthorizationsV1SelfResourceReviewPostRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAuthorizationsV1SelfResourceReviewPost(
        requestParameters.selfResourceReviewRequest,
        requestParameters.reduceClusterList,
        requestParameters.excludeSubscriptionStatuses,
        requestParameters.includeSubscriptionStatuses,
        options,
      )
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Review your status of Terms
   * @param {DefaultApiApiAuthorizationsV1SelfTermsReviewPostRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAuthorizationsV1SelfTermsReviewPost(
    requestParameters: DefaultApiApiAuthorizationsV1SelfTermsReviewPostRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAuthorizationsV1SelfTermsReviewPost(requestParameters.selfTermsReview, options)
      .then((request) => request(this.axios, this.basePath));
  }

  /**
   *
   * @summary Review an account\'s status of Terms
   * @param {DefaultApiApiAuthorizationsV1TermsReviewPostRequest} requestParameters Request parameters.
   * @param {*} [options] Override http request option.
   * @throws {RequiredError}
   * @memberof DefaultApi
   */
  public apiAuthorizationsV1TermsReviewPost(
    requestParameters: DefaultApiApiAuthorizationsV1TermsReviewPostRequest,
    options?: AxiosRequestConfig,
  ) {
    return DefaultApiFp(this.configuration)
      .apiAuthorizationsV1TermsReviewPost(requestParameters.termsReview, options)
      .then((request) => request(this.axios, this.basePath));
  }
}
