github.com/minio/console@v1.3.0/web-app/src/api/consoleApi.ts (about)

     1  /* eslint-disable */
     2  /* tslint:disable */
     3  /*
     4   * ---------------------------------------------------------------
     5   * ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API        ##
     6   * ##                                                           ##
     7   * ## AUTHOR: acacode                                           ##
     8   * ## SOURCE: https://github.com/acacode/swagger-typescript-api ##
     9   * ---------------------------------------------------------------
    10   */
    11  
    12  export interface AccountChangePasswordRequest {
    13    current_secret_key: string;
    14    new_secret_key: string;
    15  }
    16  
    17  export interface ChangeUserPasswordRequest {
    18    selectedUser: string;
    19    newSecretKey: string;
    20  }
    21  
    22  /** @default "sse-s3" */
    23  export enum BucketEncryptionType {
    24    SseS3 = "sse-s3",
    25    SseKms = "sse-kms",
    26  }
    27  
    28  /** @default "PRIVATE" */
    29  export enum BucketAccess {
    30    PRIVATE = "PRIVATE",
    31    PUBLIC = "PUBLIC",
    32    CUSTOM = "CUSTOM",
    33  }
    34  
    35  export interface UserServiceAccountItem {
    36    userName?: string;
    37    /** @format int64 */
    38    numSAs?: number;
    39  }
    40  
    41  export interface Bucket {
    42    /** @minLength 3 */
    43    name: string;
    44    /** @format int64 */
    45    size?: number;
    46    access?: BucketAccess;
    47    definition?: string;
    48    rw_access?: {
    49      write?: boolean;
    50      read?: boolean;
    51    };
    52    /** @format int64 */
    53    objects?: number;
    54    details?: {
    55      versioning?: boolean;
    56      versioningSuspended?: boolean;
    57      locking?: boolean;
    58      replication?: boolean;
    59      tags?: Record<string, string>;
    60      quota?: {
    61        /** @format int64 */
    62        quota?: number;
    63        type?: "hard";
    64      };
    65    };
    66    creation_date?: string;
    67  }
    68  
    69  export interface BucketEncryptionRequest {
    70    encType?: BucketEncryptionType;
    71    kmsKeyID?: string;
    72  }
    73  
    74  export interface BucketEncryptionInfo {
    75    kmsMasterKeyID?: string;
    76    algorithm?: string;
    77  }
    78  
    79  export interface ListBucketsResponse {
    80    /** list of resulting buckets */
    81    buckets?: Bucket[];
    82    /**
    83     * number of buckets accessible to the user
    84     * @format int64
    85     */
    86    total?: number;
    87  }
    88  
    89  export interface UserServiceAccountSummary {
    90    /** list of users with number of service accounts */
    91    userServiceAccountList?: UserServiceAccountItem[];
    92    hasSA?: boolean;
    93  }
    94  
    95  export interface ListObjectsResponse {
    96    /** list of resulting objects */
    97    objects?: BucketObject[];
    98    /**
    99     * number of objects
   100     * @format int64
   101     */
   102    total?: number;
   103  }
   104  
   105  export interface BucketObject {
   106    name?: string;
   107    /** @format int64 */
   108    size?: number;
   109    content_type?: string;
   110    last_modified?: string;
   111    is_latest?: boolean;
   112    is_delete_marker?: boolean;
   113    version_id?: string;
   114    user_tags?: Record<string, string>;
   115    expiration?: string;
   116    expiration_rule_id?: string;
   117    legal_hold_status?: string;
   118    retention_mode?: string;
   119    retention_until_date?: string;
   120    etag?: string;
   121    tags?: Record<string, string>;
   122    metadata?: Record<string, string>;
   123    user_metadata?: Record<string, string>;
   124  }
   125  
   126  export interface MakeBucketRequest {
   127    name: string;
   128    locking?: boolean;
   129    versioning?: SetBucketVersioning;
   130    quota?: SetBucketQuota;
   131    retention?: PutBucketRetentionRequest;
   132  }
   133  
   134  export interface ApiError {
   135    message?: string;
   136    detailedMessage?: string;
   137  }
   138  
   139  export interface User {
   140    accessKey?: string;
   141    policy?: string[];
   142    memberOf?: string[];
   143    status?: string;
   144    hasPolicy?: boolean;
   145  }
   146  
   147  export interface ListUsersResponse {
   148    /** list of resulting users */
   149    users?: User[];
   150  }
   151  
   152  export type SelectedUsers = string[];
   153  
   154  export interface AddUserRequest {
   155    accessKey: string;
   156    secretKey: string;
   157    groups: string[];
   158    policies: string[];
   159  }
   160  
   161  export interface Group {
   162    name?: string;
   163    status?: string;
   164    members?: string[];
   165    policy?: string;
   166  }
   167  
   168  export interface AddGroupRequest {
   169    group: string;
   170    members: string[];
   171  }
   172  
   173  export interface ListGroupsResponse {
   174    /** list of groups */
   175    groups?: string[];
   176    /**
   177     * total number of groups
   178     * @format int64
   179     */
   180    total?: number;
   181  }
   182  
   183  export interface Policy {
   184    name?: string;
   185    policy?: string;
   186  }
   187  
   188  /** @default "user" */
   189  export enum PolicyEntity {
   190    User = "user",
   191    Group = "group",
   192  }
   193  
   194  export interface SetPolicyRequest {
   195    entityType: PolicyEntity;
   196    entityName: string;
   197  }
   198  
   199  export interface SetPolicyNameRequest {
   200    name: string[];
   201    entityType: PolicyEntity;
   202    entityName: string;
   203  }
   204  
   205  export interface SetPolicyMultipleNameRequest {
   206    name?: string[];
   207    users?: IamEntity[];
   208    groups?: IamEntity[];
   209  }
   210  
   211  /** @pattern ^[\w+=,.@-]{1,64}$ */
   212  export type IamEntity = string;
   213  
   214  export interface AddPolicyRequest {
   215    name: string;
   216    policy: string;
   217  }
   218  
   219  export interface UpdateServiceAccountRequest {
   220    policy: string;
   221    secretKey?: string;
   222    name?: string;
   223    description?: string;
   224    expiry?: string;
   225    status?: string;
   226  }
   227  
   228  export interface ListPoliciesResponse {
   229    /** list of policies */
   230    policies?: Policy[];
   231    /**
   232     * total number of policies
   233     * @format int64
   234     */
   235    total?: number;
   236  }
   237  
   238  export interface ListAccessRulesResponse {
   239    /** list of policies */
   240    accessRules?: AccessRule[];
   241    /**
   242     * total number of policies
   243     * @format int64
   244     */
   245    total?: number;
   246  }
   247  
   248  export interface AccessRule {
   249    prefix?: string;
   250    access?: string;
   251  }
   252  
   253  export interface UpdateGroupRequest {
   254    members: string[];
   255    status: string;
   256  }
   257  
   258  export interface ConfigDescription {
   259    key?: string;
   260    description?: string;
   261  }
   262  
   263  export interface ConfigurationKV {
   264    key?: string;
   265    value?: string;
   266    env_override?: EnvOverride;
   267  }
   268  
   269  export interface EnvOverride {
   270    name?: string;
   271    value?: string;
   272  }
   273  
   274  export interface Configuration {
   275    name?: string;
   276    key_values?: ConfigurationKV[];
   277  }
   278  
   279  export interface ListConfigResponse {
   280    configurations?: ConfigDescription[];
   281    /**
   282     * total number of configurations
   283     * @format int64
   284     */
   285    total?: number;
   286  }
   287  
   288  export interface SetConfigRequest {
   289    /** @minItems 1 */
   290    key_values: ConfigurationKV[];
   291    /** Used if configuration is an event notification's target */
   292    arn_resource_id?: string;
   293  }
   294  
   295  export enum NotificationEventType {
   296    Put = "put",
   297    Delete = "delete",
   298    Get = "get",
   299    Replica = "replica",
   300    Ilm = "ilm",
   301    Scanner = "scanner",
   302  }
   303  
   304  export interface NotificationConfig {
   305    id?: string;
   306    arn: string;
   307    /** filter specific type of event. Defaults to all event (default: '[put,delete,get]') */
   308    events?: NotificationEventType[];
   309    /** filter event associated to the specified prefix */
   310    prefix?: string;
   311    /** filter event associated to the specified suffix */
   312    suffix?: string;
   313  }
   314  
   315  export interface NotificationDeleteRequest {
   316    /**
   317     * filter specific type of event. Defaults to all event (default: '[put,delete,get]')
   318     * @minLength 1
   319     */
   320    events: NotificationEventType[];
   321    /** filter event associated to the specified prefix */
   322    prefix: string;
   323    /** filter event associated to the specified suffix */
   324    suffix: string;
   325  }
   326  
   327  export interface BucketEventRequest {
   328    configuration: NotificationConfig;
   329    ignoreExisting?: boolean;
   330  }
   331  
   332  export interface BucketReplicationDestination {
   333    bucket?: string;
   334  }
   335  
   336  export interface BucketReplicationRule {
   337    id?: string;
   338    status?: "Enabled" | "Disabled";
   339    /** @format int32 */
   340    priority?: number;
   341    /** @default "async" */
   342    syncMode?: "async" | "sync";
   343    bandwidth?: string;
   344    healthCheckPeriod?: number;
   345    delete_marker_replication?: boolean;
   346    deletes_replication?: boolean;
   347    existingObjects?: boolean;
   348    metadata_replication?: boolean;
   349    prefix?: string;
   350    tags?: string;
   351    storageClass?: string;
   352    destination?: BucketReplicationDestination;
   353  }
   354  
   355  export interface BucketReplicationRuleList {
   356    rules?: string[];
   357  }
   358  
   359  export interface BucketReplicationResponse {
   360    rules?: BucketReplicationRule[];
   361  }
   362  
   363  export interface ListExternalBucketsParams {
   364    /** @minLength 3 */
   365    accessKey: string;
   366    /** @minLength 8 */
   367    secretKey: string;
   368    targetURL: string;
   369    useTLS: boolean;
   370    region?: string;
   371  }
   372  
   373  export interface MultiBucketReplication {
   374    /** @minLength 3 */
   375    accessKey: string;
   376    /** @minLength 8 */
   377    secretKey: string;
   378    targetURL: string;
   379    region?: string;
   380    /** @default "async" */
   381    syncMode?: "async" | "sync";
   382    /** @format int64 */
   383    bandwidth?: number;
   384    /** @format int32 */
   385    healthCheckPeriod?: number;
   386    prefix?: string;
   387    tags?: string;
   388    replicateDeleteMarkers?: boolean;
   389    replicateDeletes?: boolean;
   390    replicateMetadata?: boolean;
   391    /**
   392     * @format int32
   393     * @default 0
   394     */
   395    priority?: number;
   396    /** @default "" */
   397    storageClass?: string;
   398    /** @minLength 1 */
   399    bucketsRelation: MultiBucketsRelation[];
   400  }
   401  
   402  export interface MultiBucketReplicationEdit {
   403    ruleState?: boolean;
   404    arn?: string;
   405    prefix?: string;
   406    /** @default "" */
   407    tags?: string;
   408    replicateDeleteMarkers?: boolean;
   409    replicateDeletes?: boolean;
   410    replicateMetadata?: boolean;
   411    replicateExistingObjects?: boolean;
   412    /**
   413     * @format int32
   414     * @default 0
   415     */
   416    priority?: number;
   417    /** @default "" */
   418    storageClass?: string;
   419  }
   420  
   421  export interface MultiBucketsRelation {
   422    originBucket?: string;
   423    destinationBucket?: string;
   424  }
   425  
   426  export interface MultiBucketResponseItem {
   427    originBucket?: string;
   428    targetBucket?: string;
   429    errorString?: string;
   430  }
   431  
   432  export interface MultiBucketResponseState {
   433    replicationState?: MultiBucketResponseItem[];
   434  }
   435  
   436  export interface AddBucketReplication {
   437    arn?: string;
   438    destination_bucket?: string;
   439  }
   440  
   441  export interface MakeBucketsResponse {
   442    bucketName?: string;
   443  }
   444  
   445  export interface ListBucketEventsResponse {
   446    events?: NotificationConfig[];
   447    /**
   448     * total number of bucket events
   449     * @format int64
   450     */
   451    total?: number;
   452  }
   453  
   454  export interface SetBucketPolicyRequest {
   455    access: BucketAccess;
   456    definition?: string;
   457  }
   458  
   459  export interface BucketQuota {
   460    quota?: number;
   461    type?: "hard";
   462  }
   463  
   464  export interface SetBucketQuota {
   465    enabled: boolean;
   466    quota_type?: "hard";
   467    amount?: number;
   468  }
   469  
   470  export interface LoginDetails {
   471    loginStrategy?:
   472      | "form"
   473      | "redirect"
   474      | "service-account"
   475      | "redirect-service-account";
   476    redirectRules?: RedirectRule[];
   477    isK8S?: boolean;
   478    animatedLogin?: boolean;
   479  }
   480  
   481  export interface LoginOauth2AuthRequest {
   482    state: string;
   483    code: string;
   484  }
   485  
   486  export interface LoginRequest {
   487    accessKey?: string;
   488    secretKey?: string;
   489    sts?: string;
   490    features?: {
   491      hide_menu?: boolean;
   492    };
   493  }
   494  
   495  export interface LoginResponse {
   496    sessionId?: string;
   497    IDPRefreshToken?: string;
   498  }
   499  
   500  export interface LogoutRequest {
   501    state?: string;
   502  }
   503  
   504  export interface Principal {
   505    STSAccessKeyID?: string;
   506    STSSecretAccessKey?: string;
   507    STSSessionToken?: string;
   508    accountAccessKey?: string;
   509    hm?: boolean;
   510    ob?: boolean;
   511    customStyleOb?: string;
   512  }
   513  
   514  export interface StartProfilingItem {
   515    nodeName?: string;
   516    success?: boolean;
   517    error?: string;
   518  }
   519  
   520  export interface StartProfilingList {
   521    /**
   522     * number of start results
   523     * @format int64
   524     */
   525    total?: number;
   526    startResults?: StartProfilingItem[];
   527  }
   528  
   529  export interface ProfilingStartRequest {
   530    type: string;
   531  }
   532  
   533  export interface SessionResponse {
   534    features?: string[];
   535    status?: "ok";
   536    operator?: boolean;
   537    distributedMode?: boolean;
   538    serverEndPoint?: string;
   539    permissions?: Record<string, string[]>;
   540    customStyles?: string;
   541    allowResources?: PermissionResource[];
   542    envConstants?: EnvironmentConstants;
   543  }
   544  
   545  export interface WidgetResult {
   546    metric?: Record<string, string>;
   547    values?: any[];
   548  }
   549  
   550  export interface ResultTarget {
   551    legendFormat?: string;
   552    resultType?: string;
   553    result?: WidgetResult[];
   554  }
   555  
   556  export interface Widget {
   557    title?: string;
   558    type?: string;
   559    /** @format int32 */
   560    id?: number;
   561    options?: {
   562      reduceOptions?: {
   563        calcs?: string[];
   564      };
   565    };
   566    targets?: ResultTarget[];
   567  }
   568  
   569  export interface WidgetDetails {
   570    title?: string;
   571    type?: string;
   572    /** @format int32 */
   573    id?: number;
   574    options?: {
   575      reduceOptions?: {
   576        calcs?: string[];
   577      };
   578    };
   579    targets?: ResultTarget[];
   580  }
   581  
   582  export interface AdminInfoResponse {
   583    buckets?: number;
   584    objects?: number;
   585    usage?: number;
   586    advancedMetricsStatus?: "not configured" | "available" | "unavailable";
   587    widgets?: Widget[];
   588    servers?: ServerProperties[];
   589    backend?: BackendProperties;
   590  }
   591  
   592  export interface ServerProperties {
   593    state?: string;
   594    endpoint?: string;
   595    uptime?: number;
   596    version?: string;
   597    commitID?: string;
   598    poolNumber?: number;
   599    network?: Record<string, string>;
   600    drives?: ServerDrives[];
   601  }
   602  
   603  export interface ServerDrives {
   604    uuid?: string;
   605    state?: string;
   606    endpoint?: string;
   607    drivePath?: string;
   608    rootDisk?: boolean;
   609    healing?: boolean;
   610    model?: string;
   611    totalSpace?: number;
   612    usedSpace?: number;
   613    availableSpace?: number;
   614  }
   615  
   616  export interface BackendProperties {
   617    backendType?: string;
   618    rrSCParity?: number;
   619    standardSCParity?: number;
   620    onlineDrives?: number;
   621    offlineDrives?: number;
   622  }
   623  
   624  export interface ArnsResponse {
   625    arns?: string[];
   626  }
   627  
   628  export interface UpdateUserGroups {
   629    groups: string[];
   630  }
   631  
   632  export enum NofiticationService {
   633    Webhook = "webhook",
   634    Amqp = "amqp",
   635    Kafka = "kafka",
   636    Mqtt = "mqtt",
   637    Nats = "nats",
   638    Nsq = "nsq",
   639    Mysql = "mysql",
   640    Postgres = "postgres",
   641    Elasticsearch = "elasticsearch",
   642    Redis = "redis",
   643  }
   644  
   645  export interface NotificationEndpointItem {
   646    service?: NofiticationService;
   647    account_id?: string;
   648    status?: string;
   649  }
   650  
   651  export interface NotificationEndpoint {
   652    service: NofiticationService;
   653    account_id: string;
   654    properties: Record<string, string>;
   655  }
   656  
   657  export interface SetNotificationEndpointResponse {
   658    service: NofiticationService;
   659    account_id: string;
   660    properties: Record<string, string>;
   661    restart?: boolean;
   662  }
   663  
   664  export interface NotifEndpointResponse {
   665    notification_endpoints?: NotificationEndpointItem[];
   666  }
   667  
   668  export interface PeerSiteRemoveResponse {
   669    status?: string;
   670    errorDetail?: string;
   671  }
   672  
   673  export interface PeerSiteEditResponse {
   674    success?: boolean;
   675    status?: string;
   676    errorDetail?: string;
   677  }
   678  
   679  export interface PeerSite {
   680    name?: string;
   681    endpoint?: string;
   682    accessKey?: string;
   683    secretKey?: string;
   684  }
   685  
   686  export interface PeerInfo {
   687    endpoint?: string;
   688    name?: string;
   689    deploymentID?: string;
   690  }
   691  
   692  export interface PeerInfoRemove {
   693    all?: boolean;
   694    sites: string[];
   695  }
   696  
   697  export type SiteReplicationAddRequest = PeerSite[];
   698  
   699  export interface SiteReplicationAddResponse {
   700    success?: boolean;
   701    status?: string;
   702    errorDetail?: string;
   703    initialSyncErrorMessage?: string;
   704  }
   705  
   706  export interface SiteReplicationInfoResponse {
   707    enabled?: boolean;
   708    name?: string;
   709    sites?: PeerInfo[];
   710    serviceAccountAccessKey?: string;
   711  }
   712  
   713  export interface SiteReplicationStatusResponse {
   714    enabled?: boolean;
   715    maxBuckets?: number;
   716    maxUsers?: number;
   717    maxGroups?: number;
   718    maxPolicies?: number;
   719    sites?: object;
   720    statsSummary?: object;
   721    bucketStats?: object;
   722    policyStats?: object;
   723    userStats?: object;
   724    groupStats?: object;
   725  }
   726  
   727  export interface UpdateUser {
   728    status: string;
   729    groups: string[];
   730  }
   731  
   732  export interface BulkUserGroups {
   733    users: string[];
   734    groups: string[];
   735  }
   736  
   737  export interface ServiceAccount {
   738    parentUser?: string;
   739    accountStatus?: string;
   740    impliedPolicy?: boolean;
   741    policy?: string;
   742    name?: string;
   743    description?: string;
   744    expiration?: string;
   745  }
   746  
   747  export type ServiceAccounts = {
   748    accountStatus?: string;
   749    name?: string;
   750    description?: string;
   751    expiration?: string;
   752    accessKey?: string;
   753  }[];
   754  
   755  export interface ServiceAccountRequest {
   756    /** policy to be applied to the Service Account if any */
   757    policy?: string;
   758    name?: string;
   759    description?: string;
   760    expiry?: string;
   761    comment?: string;
   762  }
   763  
   764  export interface ServiceAccountRequestCreds {
   765    /** policy to be applied to the Service Account if any */
   766    policy?: string;
   767    accessKey?: string;
   768    secretKey?: string;
   769    name?: string;
   770    description?: string;
   771    expiry?: string;
   772    comment?: string;
   773  }
   774  
   775  export interface ServiceAccountCreds {
   776    accessKey?: string;
   777    secretKey?: string;
   778    url?: string;
   779  }
   780  
   781  export interface RemoteBucket {
   782    /** @minLength 3 */
   783    accessKey: string;
   784    /** @minLength 8 */
   785    secretKey?: string;
   786    sourceBucket: string;
   787    targetURL?: string;
   788    targetBucket?: string;
   789    remoteARN: string;
   790    status?: string;
   791    service?: "replication";
   792    syncMode?: string;
   793    /** @format int64 */
   794    bandwidth?: number;
   795    healthCheckPeriod?: number;
   796  }
   797  
   798  export interface CreateRemoteBucket {
   799    /** @minLength 3 */
   800    accessKey: string;
   801    /** @minLength 8 */
   802    secretKey: string;
   803    targetURL: string;
   804    sourceBucket: string;
   805    targetBucket: string;
   806    region?: string;
   807    /** @default "async" */
   808    syncMode?: "async" | "sync";
   809    /** @format int64 */
   810    bandwidth?: number;
   811    /** @format int32 */
   812    healthCheckPeriod?: number;
   813  }
   814  
   815  export interface ListRemoteBucketsResponse {
   816    /** list of remote buckets */
   817    buckets?: RemoteBucket[];
   818    /**
   819     * number of remote buckets accessible to user
   820     * @format int64
   821     */
   822    total?: number;
   823  }
   824  
   825  export interface BucketVersioningResponse {
   826    status?: string;
   827    MFADelete?: string;
   828    excludedPrefixes?: {
   829      prefix?: string;
   830    }[];
   831    excludeFolders?: boolean;
   832  }
   833  
   834  export interface SetBucketVersioning {
   835    enabled?: boolean;
   836    /** @maxLength 10 */
   837    excludePrefixes?: string[];
   838    excludeFolders?: boolean;
   839  }
   840  
   841  export interface BucketObLockingResponse {
   842    object_locking_enabled?: boolean;
   843  }
   844  
   845  export interface LogSearchResponse {
   846    /** list of log search responses */
   847    results?: object;
   848  }
   849  
   850  export enum ObjectLegalHoldStatus {
   851    Enabled = "enabled",
   852    Disabled = "disabled",
   853  }
   854  
   855  export interface PutObjectLegalHoldRequest {
   856    status: ObjectLegalHoldStatus;
   857  }
   858  
   859  export enum ObjectRetentionMode {
   860    Governance = "governance",
   861    Compliance = "compliance",
   862  }
   863  
   864  export interface PutObjectRetentionRequest {
   865    mode: ObjectRetentionMode;
   866    expires: string;
   867    governance_bypass?: boolean;
   868  }
   869  
   870  export interface PutObjectTagsRequest {
   871    tags?: any;
   872  }
   873  
   874  export interface PutBucketTagsRequest {
   875    tags?: any;
   876  }
   877  
   878  export enum ObjectRetentionUnit {
   879    Days = "days",
   880    Years = "years",
   881  }
   882  
   883  export interface PutBucketRetentionRequest {
   884    mode: ObjectRetentionMode;
   885    unit: ObjectRetentionUnit;
   886    /** @format int32 */
   887    validity: number;
   888  }
   889  
   890  export interface GetBucketRetentionConfig {
   891    mode?: ObjectRetentionMode;
   892    unit?: ObjectRetentionUnit;
   893    /** @format int32 */
   894    validity?: number;
   895  }
   896  
   897  export interface BucketLifecycleResponse {
   898    lifecycle?: ObjectBucketLifecycle[];
   899  }
   900  
   901  export interface ExpirationResponse {
   902    date?: string;
   903    /** @format int64 */
   904    days?: number;
   905    delete_marker?: boolean;
   906    delete_all?: boolean;
   907    /** @format int64 */
   908    noncurrent_expiration_days?: number;
   909    /** @format int64 */
   910    newer_noncurrent_expiration_versions?: number;
   911  }
   912  
   913  export interface TransitionResponse {
   914    date?: string;
   915    storage_class?: string;
   916    /** @format int64 */
   917    days?: number;
   918    /** @format int64 */
   919    noncurrent_transition_days?: number;
   920    noncurrent_storage_class?: string;
   921  }
   922  
   923  export interface LifecycleTag {
   924    key?: string;
   925    value?: string;
   926  }
   927  
   928  export interface ObjectBucketLifecycle {
   929    id?: string;
   930    prefix?: string;
   931    status?: string;
   932    expiration?: ExpirationResponse;
   933    transition?: TransitionResponse;
   934    tags?: LifecycleTag[];
   935  }
   936  
   937  export interface AddBucketLifecycle {
   938    /** ILM Rule type (Expiry or transition) */
   939    type?: "expiry" | "transition";
   940    /** Non required field, it matches a prefix to perform ILM operations on it */
   941    prefix?: string;
   942    /** Non required field, tags to match ILM files */
   943    tags?: string;
   944    /**
   945     * Required in case of expiry_date or transition fields are not set. it defines an expiry days for ILM
   946     * @format int32
   947     * @default 0
   948     */
   949    expiry_days?: number;
   950    /**
   951     * Required in case of transition_date or expiry fields are not set. it defines a transition days for ILM
   952     * @format int32
   953     * @default 0
   954     */
   955    transition_days?: number;
   956    /** Required only in case of transition is set. it refers to a tier */
   957    storage_class?: string;
   958    /** Non required, toggle to disable or enable rule */
   959    disable?: boolean;
   960    /** Non required, toggle to disable or enable rule */
   961    expired_object_delete_marker?: boolean;
   962    /** Non required, toggle to disable or enable rule */
   963    expired_object_delete_all?: boolean;
   964    /**
   965     * Non required, can be set in case of expiration is enabled
   966     * @format int32
   967     * @default 0
   968     */
   969    noncurrentversion_expiration_days?: number;
   970    /**
   971     * Non required, can be set in case of transition is enabled
   972     * @format int32
   973     * @default 0
   974     */
   975    noncurrentversion_transition_days?: number;
   976    /**
   977     * Non required, can be set in case of expiration is enabled
   978     * @format int32
   979     * @default 0
   980     */
   981    newer_noncurrentversion_expiration_versions?: number;
   982    /** Non required, can be set in case of transition is enabled */
   983    noncurrentversion_transition_storage_class?: string;
   984  }
   985  
   986  export interface UpdateBucketLifecycle {
   987    /** ILM Rule type (Expiry or transition) */
   988    type: "expiry" | "transition";
   989    /** Non required field, it matches a prefix to perform ILM operations on it */
   990    prefix?: string;
   991    /** Non required field, tags to match ILM files */
   992    tags?: string;
   993    /**
   994     * Required in case of expiry_date or transition fields are not set. it defines an expiry days for ILM
   995     * @format int32
   996     * @default 0
   997     */
   998    expiry_days?: number;
   999    /**
  1000     * Required in case of transition_date or expiry fields are not set. it defines a transition days for ILM
  1001     * @format int32
  1002     * @default 0
  1003     */
  1004    transition_days?: number;
  1005    /** Required only in case of transition is set. it refers to a tier */
  1006    storage_class?: string;
  1007    /** Non required, toggle to disable or enable rule */
  1008    disable?: boolean;
  1009    /** Non required, toggle to disable or enable rule */
  1010    expired_object_delete_marker?: boolean;
  1011    /** Non required, toggle to disable or enable rule */
  1012    expired_object_delete_all?: boolean;
  1013    /**
  1014     * Non required, can be set in case of expiration is enabled
  1015     * @format int32
  1016     * @default 0
  1017     */
  1018    noncurrentversion_expiration_days?: number;
  1019    /**
  1020     * Non required, can be set in case of transition is enabled
  1021     * @format int32
  1022     * @default 0
  1023     */
  1024    noncurrentversion_transition_days?: number;
  1025    /** Non required, can be set in case of transition is enabled */
  1026    noncurrentversion_transition_storage_class?: string;
  1027  }
  1028  
  1029  export interface AddMultiBucketLifecycle {
  1030    buckets: string[];
  1031    /** ILM Rule type (Expiry or transition) */
  1032    type: "expiry" | "transition";
  1033    /** Non required field, it matches a prefix to perform ILM operations on it */
  1034    prefix?: string;
  1035    /** Non required field, tags to match ILM files */
  1036    tags?: string;
  1037    /**
  1038     * Required in case of expiry_date or transition fields are not set. it defines an expiry days for ILM
  1039     * @format int32
  1040     * @default 0
  1041     */
  1042    expiry_days?: number;
  1043    /**
  1044     * Required in case of transition_date or expiry fields are not set. it defines a transition days for ILM
  1045     * @format int32
  1046     * @default 0
  1047     */
  1048    transition_days?: number;
  1049    /** Required only in case of transition is set. it refers to a tier */
  1050    storage_class?: string;
  1051    /** Non required, toggle to disable or enable rule */
  1052    expired_object_delete_marker?: boolean;
  1053    /** Non required, toggle to disable or enable rule */
  1054    expired_object_delete_all?: boolean;
  1055    /**
  1056     * Non required, can be set in case of expiration is enabled
  1057     * @format int32
  1058     * @default 0
  1059     */
  1060    noncurrentversion_expiration_days?: number;
  1061    /**
  1062     * Non required, can be set in case of transition is enabled
  1063     * @format int32
  1064     * @default 0
  1065     */
  1066    noncurrentversion_transition_days?: number;
  1067    /** Non required, can be set in case of transition is enabled */
  1068    noncurrentversion_transition_storage_class?: string;
  1069  }
  1070  
  1071  export interface MulticycleResultItem {
  1072    bucketName?: string;
  1073    error?: string;
  1074  }
  1075  
  1076  export interface MultiLifecycleResult {
  1077    results?: MulticycleResultItem[];
  1078  }
  1079  
  1080  export interface PrefixAccessPair {
  1081    prefix?: string;
  1082    access?: string;
  1083  }
  1084  
  1085  export interface PrefixWrapper {
  1086    prefix?: string;
  1087  }
  1088  
  1089  export interface SetConfigResponse {
  1090    /** Returns wheter server needs to restart to apply changes or not */
  1091    restart?: boolean;
  1092  }
  1093  
  1094  export interface ConfigExportResponse {
  1095    /** Returns base64 encoded value */
  1096    value?: string;
  1097    status?: string;
  1098  }
  1099  
  1100  export interface License {
  1101    email?: string;
  1102    organization?: string;
  1103    account_id?: number;
  1104    storage_capacity?: number;
  1105    plan?: string;
  1106    expires_at?: string;
  1107  }
  1108  
  1109  export interface ApiKey {
  1110    apiKey?: string;
  1111  }
  1112  
  1113  export interface PolicyArgs {
  1114    id?: string;
  1115    action?: string;
  1116    bucket_name?: string;
  1117  }
  1118  
  1119  export interface TierS3 {
  1120    name?: string;
  1121    endpoint?: string;
  1122    accesskey?: string;
  1123    secretkey?: string;
  1124    bucket?: string;
  1125    prefix?: string;
  1126    region?: string;
  1127    storageclass?: string;
  1128    usage?: string;
  1129    objects?: string;
  1130    versions?: string;
  1131  }
  1132  
  1133  export interface TierMinio {
  1134    name?: string;
  1135    endpoint?: string;
  1136    accesskey?: string;
  1137    secretkey?: string;
  1138    bucket?: string;
  1139    prefix?: string;
  1140    region?: string;
  1141    storageclass?: string;
  1142    usage?: string;
  1143    objects?: string;
  1144    versions?: string;
  1145  }
  1146  
  1147  export interface TierAzure {
  1148    name?: string;
  1149    endpoint?: string;
  1150    accountname?: string;
  1151    accountkey?: string;
  1152    bucket?: string;
  1153    prefix?: string;
  1154    region?: string;
  1155    usage?: string;
  1156    objects?: string;
  1157    versions?: string;
  1158  }
  1159  
  1160  export interface TierGcs {
  1161    name?: string;
  1162    endpoint?: string;
  1163    creds?: string;
  1164    bucket?: string;
  1165    prefix?: string;
  1166    region?: string;
  1167    usage?: string;
  1168    objects?: string;
  1169    versions?: string;
  1170  }
  1171  
  1172  export interface DeleteFile {
  1173    path?: string;
  1174    versionID?: string;
  1175    recursive?: boolean;
  1176  }
  1177  
  1178  export interface UserSAs {
  1179    path?: string;
  1180    versionID?: string;
  1181    recursive?: boolean;
  1182  }
  1183  
  1184  export interface Tier {
  1185    status?: boolean;
  1186    type?: "s3" | "gcs" | "azure" | "minio" | "unsupported";
  1187    s3?: TierS3;
  1188    gcs?: TierGcs;
  1189    azure?: TierAzure;
  1190    minio?: TierMinio;
  1191  }
  1192  
  1193  export interface TierListResponse {
  1194    items?: Tier[];
  1195  }
  1196  
  1197  export interface TierCredentialsRequest {
  1198    access_key?: string;
  1199    secret_key?: string;
  1200    /** a base64 encoded value */
  1201    creds?: string;
  1202  }
  1203  
  1204  export interface RewindItem {
  1205    last_modified?: string;
  1206    /** @format int64 */
  1207    size?: number;
  1208    version_id?: string;
  1209    delete_flag?: boolean;
  1210    action?: string;
  1211    name?: string;
  1212    is_latest?: boolean;
  1213  }
  1214  
  1215  export interface RewindResponse {
  1216    objects?: RewindItem[];
  1217  }
  1218  
  1219  export interface IamPolicy {
  1220    version?: string;
  1221    statement?: IamPolicyStatement[];
  1222  }
  1223  
  1224  export interface IamPolicyStatement {
  1225    effect?: string;
  1226    action?: string[];
  1227    resource?: string[];
  1228    condition?: Record<string, object>;
  1229  }
  1230  
  1231  export interface Metadata {
  1232    objectMetadata?: Record<string, any>;
  1233  }
  1234  
  1235  export interface SubnetLoginResponse {
  1236    access_token?: string;
  1237    organizations?: SubnetOrganization[];
  1238    mfa_token?: string;
  1239    registered?: boolean;
  1240  }
  1241  
  1242  export interface SubnetLoginRequest {
  1243    username?: string;
  1244    password?: string;
  1245    apiKey?: string;
  1246  }
  1247  
  1248  export interface SubnetLoginMFARequest {
  1249    username: string;
  1250    otp: string;
  1251    mfa_token: string;
  1252  }
  1253  
  1254  export interface SubnetRegisterRequest {
  1255    token: string;
  1256    account_id: string;
  1257  }
  1258  
  1259  export interface SubnetRegTokenResponse {
  1260    regToken?: string;
  1261  }
  1262  
  1263  export interface SubnetOrganization {
  1264    userId?: number;
  1265    accountId?: number;
  1266    subscriptionStatus?: string;
  1267    isAccountOwner?: boolean;
  1268    company?: string;
  1269    shortName?: string;
  1270  }
  1271  
  1272  export interface PermissionResource {
  1273    resource?: string;
  1274    conditionOperator?: string;
  1275    prefixes?: string[];
  1276  }
  1277  
  1278  export interface AUserPolicyResponse {
  1279    policy?: string;
  1280  }
  1281  
  1282  export interface KmsStatusResponse {
  1283    name?: string;
  1284    defaultKeyID?: string;
  1285    endpoints?: KmsEndpoint[];
  1286  }
  1287  
  1288  export interface KmsEndpoint {
  1289    url?: string;
  1290    status?: string;
  1291  }
  1292  
  1293  export interface KmsKeyStatusResponse {
  1294    keyID?: string;
  1295    encryptionErr?: string;
  1296    decryptionErr?: string;
  1297  }
  1298  
  1299  export interface KmsCreateKeyRequest {
  1300    key: string;
  1301  }
  1302  
  1303  export interface KmsImportKeyRequest {
  1304    bytes: string;
  1305  }
  1306  
  1307  export type KmDeleteKeyRequest = object;
  1308  
  1309  export interface KmsListKeysResponse {
  1310    results?: KmsKeyInfo[];
  1311  }
  1312  
  1313  export interface KmsKeyInfo {
  1314    name?: string;
  1315    createdAt?: string;
  1316    createdBy?: string;
  1317  }
  1318  
  1319  export interface KmsGetPolicyResponse {
  1320    allow?: string[];
  1321    deny?: string[];
  1322  }
  1323  
  1324  export interface KmsSetPolicyRequest {
  1325    policy: string;
  1326    allow?: string[];
  1327    deny?: string[];
  1328  }
  1329  
  1330  export interface KmsDescribePolicyResponse {
  1331    createdAt?: string;
  1332    createdBy?: string;
  1333    name?: string;
  1334  }
  1335  
  1336  export interface KmsAssignPolicyRequest {
  1337    identity?: string;
  1338  }
  1339  
  1340  export interface KmsListPoliciesResponse {
  1341    results?: KmsPolicyInfo[];
  1342  }
  1343  
  1344  export interface KmsPolicyInfo {
  1345    name?: string;
  1346    createdAt?: string;
  1347    createdBy?: string;
  1348  }
  1349  
  1350  export interface KmsDescribeIdentityResponse {
  1351    policy?: string;
  1352    identity?: string;
  1353    admin?: boolean;
  1354    createdAt?: string;
  1355    createdBy?: string;
  1356  }
  1357  
  1358  export interface KmsDescribeSelfIdentityResponse {
  1359    identity?: string;
  1360    policyName?: string;
  1361    admin?: boolean;
  1362    createdAt?: string;
  1363    createdBy?: string;
  1364    policy?: KmsGetPolicyResponse;
  1365  }
  1366  
  1367  export interface KmsListIdentitiesResponse {
  1368    results?: KmsIdentityInfo[];
  1369  }
  1370  
  1371  export interface KmsIdentityInfo {
  1372    identity?: string;
  1373    policy?: string;
  1374    error?: string;
  1375    createdAt?: string;
  1376    createdBy?: string;
  1377  }
  1378  
  1379  export interface KmsMetricsResponse {
  1380    requestOK: number;
  1381    requestErr: number;
  1382    requestFail: number;
  1383    requestActive: number;
  1384    auditEvents: number;
  1385    errorEvents: number;
  1386    latencyHistogram: KmsLatencyHistogram[];
  1387    uptime: number;
  1388    cpus: number;
  1389    usableCPUs: number;
  1390    threads: number;
  1391    heapAlloc: number;
  1392    heapObjects?: number;
  1393    stackAlloc: number;
  1394  }
  1395  
  1396  export interface KmsLatencyHistogram {
  1397    duration?: number;
  1398    total?: number;
  1399  }
  1400  
  1401  export interface KmsAPIsResponse {
  1402    results?: KmsAPI[];
  1403  }
  1404  
  1405  export interface KmsAPI {
  1406    method?: string;
  1407    path?: string;
  1408    maxBody?: number;
  1409    timeout?: number;
  1410  }
  1411  
  1412  export interface KmsVersionResponse {
  1413    version?: string;
  1414  }
  1415  
  1416  export interface EnvironmentConstants {
  1417    maxConcurrentUploads?: number;
  1418    maxConcurrentDownloads?: number;
  1419  }
  1420  
  1421  export interface RedirectRule {
  1422    redirect?: string;
  1423    displayName?: string;
  1424    serviceType?: string;
  1425  }
  1426  
  1427  export interface IdpServerConfiguration {
  1428    name?: string;
  1429    input?: string;
  1430    type?: string;
  1431    enabled?: boolean;
  1432    info?: IdpServerConfigurationInfo[];
  1433  }
  1434  
  1435  export interface IdpServerConfigurationInfo {
  1436    key?: string;
  1437    value?: string;
  1438    isCfg?: boolean;
  1439    isEnv?: boolean;
  1440  }
  1441  
  1442  export interface IdpListConfigurationsResponse {
  1443    results?: IdpServerConfiguration[];
  1444  }
  1445  
  1446  export interface SetIDPResponse {
  1447    restart?: boolean;
  1448  }
  1449  
  1450  export interface ReleaseListResponse {
  1451    results?: ReleaseInfo[];
  1452  }
  1453  
  1454  export interface ReleaseInfo {
  1455    metadata?: ReleaseMetadata;
  1456    notesContent?: string;
  1457    securityContent?: string;
  1458    breakingChangesContent?: string;
  1459    contextContent?: string;
  1460    newFeaturesContent?: string;
  1461  }
  1462  
  1463  export interface ReleaseMetadata {
  1464    tag_name?: string;
  1465    target_commitish?: string;
  1466    name?: string;
  1467    draft?: boolean;
  1468    prerelease?: boolean;
  1469    id?: number;
  1470    created_at?: string;
  1471    published_at?: string;
  1472    url?: string;
  1473    html_url?: string;
  1474    assets_url?: string;
  1475    upload_url?: string;
  1476    zipball_url?: string;
  1477    tarball_url?: string;
  1478    author?: ReleaseAuthor;
  1479    node_id?: string;
  1480  }
  1481  
  1482  export interface ReleaseAuthor {
  1483    login?: string;
  1484    id?: number;
  1485    node_id?: string;
  1486    avatar_url?: string;
  1487    html_url?: string;
  1488    gravatar_id?: string;
  1489    type?: string;
  1490    site_admin?: boolean;
  1491    url?: string;
  1492    events_url?: string;
  1493    following_url?: string;
  1494    followers_url?: string;
  1495    gists_url?: string;
  1496    organizations_url?: string;
  1497    receivedEvents_url?: string;
  1498    repos_url?: string;
  1499    starred_url?: string;
  1500    subscriptions_url?: string;
  1501  }
  1502  
  1503  export interface CallHomeGetResponse {
  1504    diagnosticsStatus?: boolean;
  1505    logsStatus?: boolean;
  1506  }
  1507  
  1508  export interface CallHomeSetStatus {
  1509    diagState: boolean;
  1510    logsState: boolean;
  1511  }
  1512  
  1513  export interface LdapEntitiesRequest {
  1514    users?: string[];
  1515    groups?: string[];
  1516    policies?: string[];
  1517  }
  1518  
  1519  export interface LdapEntities {
  1520    timestamp?: string;
  1521    users?: LdapUserPolicyEntity[];
  1522    groups?: LdapGroupPolicyEntity[];
  1523    policies?: LdapPolicyEntity[];
  1524  }
  1525  
  1526  export interface LdapUserPolicyEntity {
  1527    user?: string;
  1528    policies?: string[];
  1529  }
  1530  
  1531  export interface LdapGroupPolicyEntity {
  1532    group?: string;
  1533    policies?: string[];
  1534  }
  1535  
  1536  export interface LdapPolicyEntity {
  1537    policy?: string;
  1538    users?: string[];
  1539    groups?: string[];
  1540  }
  1541  
  1542  export interface MaxShareLinkExpResponse {
  1543    /** @format int64 */
  1544    exp: number;
  1545  }
  1546  
  1547  export type SelectedSAs = string[];
  1548  
  1549  export type QueryParamsType = Record<string | number, any>;
  1550  export type ResponseFormat = keyof Omit<Body, "body" | "bodyUsed">;
  1551  
  1552  export interface FullRequestParams extends Omit<RequestInit, "body"> {
  1553    /** set parameter to `true` for call `securityWorker` for this request */
  1554    secure?: boolean;
  1555    /** request path */
  1556    path: string;
  1557    /** content type of request body */
  1558    type?: ContentType;
  1559    /** query params */
  1560    query?: QueryParamsType;
  1561    /** format of response (i.e. response.json() -> format: "json") */
  1562    format?: ResponseFormat;
  1563    /** request body */
  1564    body?: unknown;
  1565    /** base url */
  1566    baseUrl?: string;
  1567    /** request cancellation token */
  1568    cancelToken?: CancelToken;
  1569  }
  1570  
  1571  export type RequestParams = Omit<
  1572    FullRequestParams,
  1573    "body" | "method" | "query" | "path"
  1574  >;
  1575  
  1576  export interface ApiConfig<SecurityDataType = unknown> {
  1577    baseUrl?: string;
  1578    baseApiParams?: Omit<RequestParams, "baseUrl" | "cancelToken" | "signal">;
  1579    securityWorker?: (
  1580      securityData: SecurityDataType | null,
  1581    ) => Promise<RequestParams | void> | RequestParams | void;
  1582    customFetch?: typeof fetch;
  1583  }
  1584  
  1585  export interface HttpResponse<D extends unknown, E extends unknown = unknown>
  1586    extends Response {
  1587    data: D;
  1588    error: E;
  1589  }
  1590  
  1591  type CancelToken = Symbol | string | number;
  1592  
  1593  export enum ContentType {
  1594    Json = "application/json",
  1595    FormData = "multipart/form-data",
  1596    UrlEncoded = "application/x-www-form-urlencoded",
  1597    Text = "text/plain",
  1598  }
  1599  
  1600  export class HttpClient<SecurityDataType = unknown> {
  1601    public baseUrl: string = "/api/v1";
  1602    private securityData: SecurityDataType | null = null;
  1603    private securityWorker?: ApiConfig<SecurityDataType>["securityWorker"];
  1604    private abortControllers = new Map<CancelToken, AbortController>();
  1605    private customFetch = (...fetchParams: Parameters<typeof fetch>) =>
  1606      fetch(...fetchParams);
  1607  
  1608    private baseApiParams: RequestParams = {
  1609      credentials: "same-origin",
  1610      headers: {},
  1611      redirect: "follow",
  1612      referrerPolicy: "no-referrer",
  1613    };
  1614  
  1615    constructor(apiConfig: ApiConfig<SecurityDataType> = {}) {
  1616      Object.assign(this, apiConfig);
  1617    }
  1618  
  1619    public setSecurityData = (data: SecurityDataType | null) => {
  1620      this.securityData = data;
  1621    };
  1622  
  1623    protected encodeQueryParam(key: string, value: any) {
  1624      const encodedKey = encodeURIComponent(key);
  1625      return `${encodedKey}=${encodeURIComponent(typeof value === "number" ? value : `${value}`)}`;
  1626    }
  1627  
  1628    protected addQueryParam(query: QueryParamsType, key: string) {
  1629      return this.encodeQueryParam(key, query[key]);
  1630    }
  1631  
  1632    protected addArrayQueryParam(query: QueryParamsType, key: string) {
  1633      const value = query[key];
  1634      return value.map((v: any) => this.encodeQueryParam(key, v)).join("&");
  1635    }
  1636  
  1637    protected toQueryString(rawQuery?: QueryParamsType): string {
  1638      const query = rawQuery || {};
  1639      const keys = Object.keys(query).filter(
  1640        (key) => "undefined" !== typeof query[key],
  1641      );
  1642      return keys
  1643        .map((key) =>
  1644          Array.isArray(query[key])
  1645            ? this.addArrayQueryParam(query, key)
  1646            : this.addQueryParam(query, key),
  1647        )
  1648        .join("&");
  1649    }
  1650  
  1651    protected addQueryParams(rawQuery?: QueryParamsType): string {
  1652      const queryString = this.toQueryString(rawQuery);
  1653      return queryString ? `?${queryString}` : "";
  1654    }
  1655  
  1656    private contentFormatters: Record<ContentType, (input: any) => any> = {
  1657      [ContentType.Json]: (input: any) =>
  1658        input !== null && (typeof input === "object" || typeof input === "string")
  1659          ? JSON.stringify(input)
  1660          : input,
  1661      [ContentType.Text]: (input: any) =>
  1662        input !== null && typeof input !== "string"
  1663          ? JSON.stringify(input)
  1664          : input,
  1665      [ContentType.FormData]: (input: any) =>
  1666        Object.keys(input || {}).reduce((formData, key) => {
  1667          const property = input[key];
  1668          formData.append(
  1669            key,
  1670            property instanceof Blob
  1671              ? property
  1672              : typeof property === "object" && property !== null
  1673                ? JSON.stringify(property)
  1674                : `${property}`,
  1675          );
  1676          return formData;
  1677        }, new FormData()),
  1678      [ContentType.UrlEncoded]: (input: any) => this.toQueryString(input),
  1679    };
  1680  
  1681    protected mergeRequestParams(
  1682      params1: RequestParams,
  1683      params2?: RequestParams,
  1684    ): RequestParams {
  1685      return {
  1686        ...this.baseApiParams,
  1687        ...params1,
  1688        ...(params2 || {}),
  1689        headers: {
  1690          ...(this.baseApiParams.headers || {}),
  1691          ...(params1.headers || {}),
  1692          ...((params2 && params2.headers) || {}),
  1693        },
  1694      };
  1695    }
  1696  
  1697    protected createAbortSignal = (
  1698      cancelToken: CancelToken,
  1699    ): AbortSignal | undefined => {
  1700      if (this.abortControllers.has(cancelToken)) {
  1701        const abortController = this.abortControllers.get(cancelToken);
  1702        if (abortController) {
  1703          return abortController.signal;
  1704        }
  1705        return void 0;
  1706      }
  1707  
  1708      const abortController = new AbortController();
  1709      this.abortControllers.set(cancelToken, abortController);
  1710      return abortController.signal;
  1711    };
  1712  
  1713    public abortRequest = (cancelToken: CancelToken) => {
  1714      const abortController = this.abortControllers.get(cancelToken);
  1715  
  1716      if (abortController) {
  1717        abortController.abort();
  1718        this.abortControllers.delete(cancelToken);
  1719      }
  1720    };
  1721  
  1722    public request = async <T = any, E = any>({
  1723      body,
  1724      secure,
  1725      path,
  1726      type,
  1727      query,
  1728      format,
  1729      baseUrl,
  1730      cancelToken,
  1731      ...params
  1732    }: FullRequestParams): Promise<HttpResponse<T, E>> => {
  1733      const secureParams =
  1734        ((typeof secure === "boolean" ? secure : this.baseApiParams.secure) &&
  1735          this.securityWorker &&
  1736          (await this.securityWorker(this.securityData))) ||
  1737        {};
  1738      const requestParams = this.mergeRequestParams(params, secureParams);
  1739      const queryString = query && this.toQueryString(query);
  1740      const payloadFormatter = this.contentFormatters[type || ContentType.Json];
  1741      const responseFormat = format || requestParams.format;
  1742  
  1743      return this.customFetch(
  1744        `${baseUrl || this.baseUrl || ""}${path}${queryString ? `?${queryString}` : ""}`,
  1745        {
  1746          ...requestParams,
  1747          headers: {
  1748            ...(requestParams.headers || {}),
  1749            ...(type && type !== ContentType.FormData
  1750              ? { "Content-Type": type }
  1751              : {}),
  1752          },
  1753          signal:
  1754            (cancelToken
  1755              ? this.createAbortSignal(cancelToken)
  1756              : requestParams.signal) || null,
  1757          body:
  1758            typeof body === "undefined" || body === null
  1759              ? null
  1760              : payloadFormatter(body),
  1761        },
  1762      ).then(async (response) => {
  1763        const r = response as HttpResponse<T, E>;
  1764        r.data = null as unknown as T;
  1765        r.error = null as unknown as E;
  1766  
  1767        const data = !responseFormat
  1768          ? r
  1769          : await response[responseFormat]()
  1770              .then((data) => {
  1771                if (r.ok) {
  1772                  r.data = data;
  1773                } else {
  1774                  r.error = data;
  1775                }
  1776                return r;
  1777              })
  1778              .catch((e) => {
  1779                r.error = e;
  1780                return r;
  1781              });
  1782  
  1783        if (cancelToken) {
  1784          this.abortControllers.delete(cancelToken);
  1785        }
  1786  
  1787        if (!response.ok) throw data;
  1788        return data;
  1789      });
  1790    };
  1791  }
  1792  
  1793  /**
  1794   * @title MinIO Console Server
  1795   * @version 0.1.0
  1796   * @baseUrl /api/v1
  1797   */
  1798  export class Api<
  1799    SecurityDataType extends unknown,
  1800  > extends HttpClient<SecurityDataType> {
  1801    login = {
  1802      /**
  1803       * No description
  1804       *
  1805       * @tags Auth
  1806       * @name LoginDetail
  1807       * @summary Returns login strategy, form or sso.
  1808       * @request GET:/login
  1809       */
  1810      loginDetail: (params: RequestParams = {}) =>
  1811        this.request<LoginDetails, ApiError>({
  1812          path: `/login`,
  1813          method: "GET",
  1814          format: "json",
  1815          ...params,
  1816        }),
  1817  
  1818      /**
  1819       * No description
  1820       *
  1821       * @tags Auth
  1822       * @name Login
  1823       * @summary Login to Console
  1824       * @request POST:/login
  1825       */
  1826      login: (body: LoginRequest, params: RequestParams = {}) =>
  1827        this.request<void, ApiError>({
  1828          path: `/login`,
  1829          method: "POST",
  1830          body: body,
  1831          type: ContentType.Json,
  1832          ...params,
  1833        }),
  1834  
  1835      /**
  1836       * No description
  1837       *
  1838       * @tags Auth
  1839       * @name LoginOauth2Auth
  1840       * @summary Identity Provider oauth2 callback endpoint.
  1841       * @request POST:/login/oauth2/auth
  1842       */
  1843      loginOauth2Auth: (
  1844        body: LoginOauth2AuthRequest,
  1845        params: RequestParams = {},
  1846      ) =>
  1847        this.request<void, ApiError>({
  1848          path: `/login/oauth2/auth`,
  1849          method: "POST",
  1850          body: body,
  1851          type: ContentType.Json,
  1852          ...params,
  1853        }),
  1854    };
  1855    logout = {
  1856      /**
  1857       * No description
  1858       *
  1859       * @tags Auth
  1860       * @name Logout
  1861       * @summary Logout from Console.
  1862       * @request POST:/logout
  1863       * @secure
  1864       */
  1865      logout: (body: LogoutRequest, params: RequestParams = {}) =>
  1866        this.request<void, ApiError>({
  1867          path: `/logout`,
  1868          method: "POST",
  1869          body: body,
  1870          secure: true,
  1871          type: ContentType.Json,
  1872          ...params,
  1873        }),
  1874    };
  1875    session = {
  1876      /**
  1877       * No description
  1878       *
  1879       * @tags Auth
  1880       * @name SessionCheck
  1881       * @summary Endpoint to check if your session is still valid
  1882       * @request GET:/session
  1883       * @secure
  1884       */
  1885      sessionCheck: (params: RequestParams = {}) =>
  1886        this.request<SessionResponse, ApiError>({
  1887          path: `/session`,
  1888          method: "GET",
  1889          secure: true,
  1890          format: "json",
  1891          ...params,
  1892        }),
  1893    };
  1894    account = {
  1895      /**
  1896       * No description
  1897       *
  1898       * @tags Account
  1899       * @name AccountChangePassword
  1900       * @summary Change password of currently logged in user.
  1901       * @request POST:/account/change-password
  1902       * @secure
  1903       */
  1904      accountChangePassword: (
  1905        body: AccountChangePasswordRequest,
  1906        params: RequestParams = {},
  1907      ) =>
  1908        this.request<void, ApiError>({
  1909          path: `/account/change-password`,
  1910          method: "POST",
  1911          body: body,
  1912          secure: true,
  1913          type: ContentType.Json,
  1914          ...params,
  1915        }),
  1916  
  1917      /**
  1918       * No description
  1919       *
  1920       * @tags Account
  1921       * @name ChangeUserPassword
  1922       * @summary Change password of currently logged in user.
  1923       * @request POST:/account/change-user-password
  1924       * @secure
  1925       */
  1926      changeUserPassword: (
  1927        body: ChangeUserPasswordRequest,
  1928        params: RequestParams = {},
  1929      ) =>
  1930        this.request<void, ApiError>({
  1931          path: `/account/change-user-password`,
  1932          method: "POST",
  1933          body: body,
  1934          secure: true,
  1935          type: ContentType.Json,
  1936          ...params,
  1937        }),
  1938    };
  1939    buckets = {
  1940      /**
  1941       * No description
  1942       *
  1943       * @tags Bucket
  1944       * @name ListBuckets
  1945       * @summary List Buckets
  1946       * @request GET:/buckets
  1947       * @secure
  1948       */
  1949      listBuckets: (params: RequestParams = {}) =>
  1950        this.request<ListBucketsResponse, ApiError>({
  1951          path: `/buckets`,
  1952          method: "GET",
  1953          secure: true,
  1954          format: "json",
  1955          ...params,
  1956        }),
  1957  
  1958      /**
  1959       * No description
  1960       *
  1961       * @tags Bucket
  1962       * @name MakeBucket
  1963       * @summary Make bucket
  1964       * @request POST:/buckets
  1965       * @secure
  1966       */
  1967      makeBucket: (body: MakeBucketRequest, params: RequestParams = {}) =>
  1968        this.request<MakeBucketsResponse, ApiError>({
  1969          path: `/buckets`,
  1970          method: "POST",
  1971          body: body,
  1972          secure: true,
  1973          type: ContentType.Json,
  1974          format: "json",
  1975          ...params,
  1976        }),
  1977  
  1978      /**
  1979       * No description
  1980       *
  1981       * @tags Bucket
  1982       * @name BucketInfo
  1983       * @summary Bucket Info
  1984       * @request GET:/buckets/{name}
  1985       * @secure
  1986       */
  1987      bucketInfo: (name: string, params: RequestParams = {}) =>
  1988        this.request<Bucket, ApiError>({
  1989          path: `/buckets/${name}`,
  1990          method: "GET",
  1991          secure: true,
  1992          format: "json",
  1993          ...params,
  1994        }),
  1995  
  1996      /**
  1997       * No description
  1998       *
  1999       * @tags Bucket
  2000       * @name DeleteBucket
  2001       * @summary Delete Bucket
  2002       * @request DELETE:/buckets/{name}
  2003       * @secure
  2004       */
  2005      deleteBucket: (name: string, params: RequestParams = {}) =>
  2006        this.request<void, ApiError>({
  2007          path: `/buckets/${name}`,
  2008          method: "DELETE",
  2009          secure: true,
  2010          ...params,
  2011        }),
  2012  
  2013      /**
  2014       * No description
  2015       *
  2016       * @tags Bucket
  2017       * @name GetBucketRetentionConfig
  2018       * @summary Get Bucket's retention config
  2019       * @request GET:/buckets/{bucket_name}/retention
  2020       * @secure
  2021       */
  2022      getBucketRetentionConfig: (
  2023        bucketName: string,
  2024        params: RequestParams = {},
  2025      ) =>
  2026        this.request<GetBucketRetentionConfig, ApiError>({
  2027          path: `/buckets/${bucketName}/retention`,
  2028          method: "GET",
  2029          secure: true,
  2030          format: "json",
  2031          ...params,
  2032        }),
  2033  
  2034      /**
  2035       * No description
  2036       *
  2037       * @tags Bucket
  2038       * @name SetBucketRetentionConfig
  2039       * @summary Set Bucket's retention config
  2040       * @request PUT:/buckets/{bucket_name}/retention
  2041       * @secure
  2042       */
  2043      setBucketRetentionConfig: (
  2044        bucketName: string,
  2045        body: PutBucketRetentionRequest,
  2046        params: RequestParams = {},
  2047      ) =>
  2048        this.request<void, ApiError>({
  2049          path: `/buckets/${bucketName}/retention`,
  2050          method: "PUT",
  2051          body: body,
  2052          secure: true,
  2053          type: ContentType.Json,
  2054          ...params,
  2055        }),
  2056  
  2057      /**
  2058       * No description
  2059       *
  2060       * @tags Object
  2061       * @name ListObjects
  2062       * @summary List Objects
  2063       * @request GET:/buckets/{bucket_name}/objects
  2064       * @secure
  2065       */
  2066      listObjects: (
  2067        bucketName: string,
  2068        query?: {
  2069          prefix?: string;
  2070          recursive?: boolean;
  2071          with_versions?: boolean;
  2072          with_metadata?: boolean;
  2073          /**
  2074           * @format int32
  2075           * @default 20
  2076           */
  2077          limit?: number;
  2078        },
  2079        params: RequestParams = {},
  2080      ) =>
  2081        this.request<ListObjectsResponse, ApiError>({
  2082          path: `/buckets/${bucketName}/objects`,
  2083          method: "GET",
  2084          query: query,
  2085          secure: true,
  2086          format: "json",
  2087          ...params,
  2088        }),
  2089  
  2090      /**
  2091       * No description
  2092       *
  2093       * @tags Object
  2094       * @name DeleteObject
  2095       * @summary Delete Object
  2096       * @request DELETE:/buckets/{bucket_name}/objects
  2097       * @secure
  2098       */
  2099      deleteObject: (
  2100        bucketName: string,
  2101        query: {
  2102          prefix: string;
  2103          version_id?: string;
  2104          recursive?: boolean;
  2105          all_versions?: boolean;
  2106          non_current_versions?: boolean;
  2107          bypass?: boolean;
  2108        },
  2109        params: RequestParams = {},
  2110      ) =>
  2111        this.request<void, ApiError>({
  2112          path: `/buckets/${bucketName}/objects`,
  2113          method: "DELETE",
  2114          query: query,
  2115          secure: true,
  2116          ...params,
  2117        }),
  2118  
  2119      /**
  2120       * No description
  2121       *
  2122       * @tags Object
  2123       * @name DeleteMultipleObjects
  2124       * @summary Delete Multiple Objects
  2125       * @request POST:/buckets/{bucket_name}/delete-objects
  2126       * @secure
  2127       */
  2128      deleteMultipleObjects: (
  2129        bucketName: string,
  2130        files: DeleteFile[],
  2131        query?: {
  2132          all_versions?: boolean;
  2133          bypass?: boolean;
  2134        },
  2135        params: RequestParams = {},
  2136      ) =>
  2137        this.request<void, ApiError>({
  2138          path: `/buckets/${bucketName}/delete-objects`,
  2139          method: "POST",
  2140          query: query,
  2141          body: files,
  2142          secure: true,
  2143          type: ContentType.Json,
  2144          ...params,
  2145        }),
  2146  
  2147      /**
  2148       * No description
  2149       *
  2150       * @tags Object
  2151       * @name ObjectsUploadCreate
  2152       * @summary Uploads an Object.
  2153       * @request POST:/buckets/{bucket_name}/objects/upload
  2154       * @secure
  2155       */
  2156      objectsUploadCreate: (
  2157        bucketName: string,
  2158        query?: {
  2159          prefix?: string;
  2160        },
  2161        data?: any,
  2162        params: RequestParams = {},
  2163      ) =>
  2164        this.request<void, ApiError>({
  2165          path: `/buckets/${bucketName}/objects/upload`,
  2166          method: "POST",
  2167          query: query,
  2168          body: data,
  2169          secure: true,
  2170          type: ContentType.FormData,
  2171          ...params,
  2172        }),
  2173  
  2174      /**
  2175       * No description
  2176       *
  2177       * @tags Object
  2178       * @name DownloadMultipleObjects
  2179       * @summary Download Multiple Objects
  2180       * @request POST:/buckets/{bucket_name}/objects/download-multiple
  2181       * @secure
  2182       */
  2183      downloadMultipleObjects: (
  2184        bucketName: string,
  2185        objectList: SelectedUsers,
  2186        params: RequestParams = {},
  2187      ) =>
  2188        this.request<File, ApiError>({
  2189          path: `/buckets/${bucketName}/objects/download-multiple`,
  2190          method: "POST",
  2191          body: objectList,
  2192          secure: true,
  2193          type: ContentType.Json,
  2194          ...params,
  2195        }),
  2196  
  2197      /**
  2198       * No description
  2199       *
  2200       * @tags Object
  2201       * @name DownloadObject
  2202       * @summary Download Object
  2203       * @request GET:/buckets/{bucket_name}/objects/download
  2204       * @secure
  2205       */
  2206      downloadObject: (
  2207        bucketName: string,
  2208        query: {
  2209          prefix: string;
  2210          version_id?: string;
  2211          /** @default false */
  2212          preview?: boolean;
  2213          /** @default "" */
  2214          override_file_name?: string;
  2215        },
  2216        params: RequestParams = {},
  2217      ) =>
  2218        this.request<File, ApiError>({
  2219          path: `/buckets/${bucketName}/objects/download`,
  2220          method: "GET",
  2221          query: query,
  2222          secure: true,
  2223          ...params,
  2224        }),
  2225  
  2226      /**
  2227       * No description
  2228       *
  2229       * @tags Object
  2230       * @name ShareObject
  2231       * @summary Shares an Object on a url
  2232       * @request GET:/buckets/{bucket_name}/objects/share
  2233       * @secure
  2234       */
  2235      shareObject: (
  2236        bucketName: string,
  2237        query: {
  2238          prefix: string;
  2239          version_id: string;
  2240          expires?: string;
  2241        },
  2242        params: RequestParams = {},
  2243      ) =>
  2244        this.request<IamEntity, ApiError>({
  2245          path: `/buckets/${bucketName}/objects/share`,
  2246          method: "GET",
  2247          query: query,
  2248          secure: true,
  2249          format: "json",
  2250          ...params,
  2251        }),
  2252  
  2253      /**
  2254       * No description
  2255       *
  2256       * @tags Object
  2257       * @name PutObjectLegalHold
  2258       * @summary Put Object's legalhold status
  2259       * @request PUT:/buckets/{bucket_name}/objects/legalhold
  2260       * @secure
  2261       */
  2262      putObjectLegalHold: (
  2263        bucketName: string,
  2264        query: {
  2265          prefix: string;
  2266          version_id: string;
  2267        },
  2268        body: PutObjectLegalHoldRequest,
  2269        params: RequestParams = {},
  2270      ) =>
  2271        this.request<void, ApiError>({
  2272          path: `/buckets/${bucketName}/objects/legalhold`,
  2273          method: "PUT",
  2274          query: query,
  2275          body: body,
  2276          secure: true,
  2277          type: ContentType.Json,
  2278          ...params,
  2279        }),
  2280  
  2281      /**
  2282       * No description
  2283       *
  2284       * @tags Object
  2285       * @name PutObjectRetention
  2286       * @summary Put Object's retention status
  2287       * @request PUT:/buckets/{bucket_name}/objects/retention
  2288       * @secure
  2289       */
  2290      putObjectRetention: (
  2291        bucketName: string,
  2292        query: {
  2293          prefix: string;
  2294          version_id: string;
  2295        },
  2296        body: PutObjectRetentionRequest,
  2297        params: RequestParams = {},
  2298      ) =>
  2299        this.request<void, ApiError>({
  2300          path: `/buckets/${bucketName}/objects/retention`,
  2301          method: "PUT",
  2302          query: query,
  2303          body: body,
  2304          secure: true,
  2305          type: ContentType.Json,
  2306          ...params,
  2307        }),
  2308  
  2309      /**
  2310       * No description
  2311       *
  2312       * @tags Object
  2313       * @name DeleteObjectRetention
  2314       * @summary Delete Object retention from an object
  2315       * @request DELETE:/buckets/{bucket_name}/objects/retention
  2316       * @secure
  2317       */
  2318      deleteObjectRetention: (
  2319        bucketName: string,
  2320        query: {
  2321          prefix: string;
  2322          version_id: string;
  2323        },
  2324        params: RequestParams = {},
  2325      ) =>
  2326        this.request<void, ApiError>({
  2327          path: `/buckets/${bucketName}/objects/retention`,
  2328          method: "DELETE",
  2329          query: query,
  2330          secure: true,
  2331          ...params,
  2332        }),
  2333  
  2334      /**
  2335       * No description
  2336       *
  2337       * @tags Object
  2338       * @name PutObjectTags
  2339       * @summary Put Object's tags
  2340       * @request PUT:/buckets/{bucket_name}/objects/tags
  2341       * @secure
  2342       */
  2343      putObjectTags: (
  2344        bucketName: string,
  2345        query: {
  2346          prefix: string;
  2347          version_id: string;
  2348        },
  2349        body: PutObjectTagsRequest,
  2350        params: RequestParams = {},
  2351      ) =>
  2352        this.request<void, ApiError>({
  2353          path: `/buckets/${bucketName}/objects/tags`,
  2354          method: "PUT",
  2355          query: query,
  2356          body: body,
  2357          secure: true,
  2358          type: ContentType.Json,
  2359          ...params,
  2360        }),
  2361  
  2362      /**
  2363       * No description
  2364       *
  2365       * @tags Object
  2366       * @name PutObjectRestore
  2367       * @summary Restore Object to a selected version
  2368       * @request PUT:/buckets/{bucket_name}/objects/restore
  2369       * @secure
  2370       */
  2371      putObjectRestore: (
  2372        bucketName: string,
  2373        query: {
  2374          prefix: string;
  2375          version_id: string;
  2376        },
  2377        params: RequestParams = {},
  2378      ) =>
  2379        this.request<void, ApiError>({
  2380          path: `/buckets/${bucketName}/objects/restore`,
  2381          method: "PUT",
  2382          query: query,
  2383          secure: true,
  2384          ...params,
  2385        }),
  2386  
  2387      /**
  2388       * No description
  2389       *
  2390       * @tags Object
  2391       * @name GetObjectMetadata
  2392       * @summary Gets the metadata of an object
  2393       * @request GET:/buckets/{bucket_name}/objects/metadata
  2394       * @secure
  2395       */
  2396      getObjectMetadata: (
  2397        bucketName: string,
  2398        query: {
  2399          prefix: string;
  2400        },
  2401        params: RequestParams = {},
  2402      ) =>
  2403        this.request<Metadata, ApiError>({
  2404          path: `/buckets/${bucketName}/objects/metadata`,
  2405          method: "GET",
  2406          query: query,
  2407          secure: true,
  2408          format: "json",
  2409          ...params,
  2410        }),
  2411  
  2412      /**
  2413       * No description
  2414       *
  2415       * @tags Bucket
  2416       * @name PutBucketTags
  2417       * @summary Put Bucket's tags
  2418       * @request PUT:/buckets/{bucket_name}/tags
  2419       * @secure
  2420       */
  2421      putBucketTags: (
  2422        bucketName: string,
  2423        body: PutBucketTagsRequest,
  2424        params: RequestParams = {},
  2425      ) =>
  2426        this.request<void, ApiError>({
  2427          path: `/buckets/${bucketName}/tags`,
  2428          method: "PUT",
  2429          body: body,
  2430          secure: true,
  2431          type: ContentType.Json,
  2432          ...params,
  2433        }),
  2434  
  2435      /**
  2436       * No description
  2437       *
  2438       * @tags Bucket
  2439       * @name BucketSetPolicy
  2440       * @summary Bucket Set Policy
  2441       * @request PUT:/buckets/{name}/set-policy
  2442       * @secure
  2443       */
  2444      bucketSetPolicy: (
  2445        name: string,
  2446        body: SetBucketPolicyRequest,
  2447        params: RequestParams = {},
  2448      ) =>
  2449        this.request<Bucket, ApiError>({
  2450          path: `/buckets/${name}/set-policy`,
  2451          method: "PUT",
  2452          body: body,
  2453          secure: true,
  2454          type: ContentType.Json,
  2455          format: "json",
  2456          ...params,
  2457        }),
  2458  
  2459      /**
  2460       * No description
  2461       *
  2462       * @tags Bucket
  2463       * @name GetBucketQuota
  2464       * @summary Get Bucket Quota
  2465       * @request GET:/buckets/{name}/quota
  2466       * @secure
  2467       */
  2468      getBucketQuota: (name: string, params: RequestParams = {}) =>
  2469        this.request<BucketQuota, ApiError>({
  2470          path: `/buckets/${name}/quota`,
  2471          method: "GET",
  2472          secure: true,
  2473          format: "json",
  2474          ...params,
  2475        }),
  2476  
  2477      /**
  2478       * No description
  2479       *
  2480       * @tags Bucket
  2481       * @name SetBucketQuota
  2482       * @summary Bucket Quota
  2483       * @request PUT:/buckets/{name}/quota
  2484       * @secure
  2485       */
  2486      setBucketQuota: (
  2487        name: string,
  2488        body: SetBucketQuota,
  2489        params: RequestParams = {},
  2490      ) =>
  2491        this.request<Bucket, ApiError>({
  2492          path: `/buckets/${name}/quota`,
  2493          method: "PUT",
  2494          body: body,
  2495          secure: true,
  2496          type: ContentType.Json,
  2497          format: "json",
  2498          ...params,
  2499        }),
  2500  
  2501      /**
  2502       * No description
  2503       *
  2504       * @tags Bucket
  2505       * @name ListBucketEvents
  2506       * @summary List Bucket Events
  2507       * @request GET:/buckets/{bucket_name}/events
  2508       * @secure
  2509       */
  2510      listBucketEvents: (
  2511        bucketName: string,
  2512        query?: {
  2513          /**
  2514           * @format int32
  2515           * @default 0
  2516           */
  2517          offset?: number;
  2518          /**
  2519           * @format int32
  2520           * @default 20
  2521           */
  2522          limit?: number;
  2523        },
  2524        params: RequestParams = {},
  2525      ) =>
  2526        this.request<ListBucketEventsResponse, ApiError>({
  2527          path: `/buckets/${bucketName}/events`,
  2528          method: "GET",
  2529          query: query,
  2530          secure: true,
  2531          format: "json",
  2532          ...params,
  2533        }),
  2534  
  2535      /**
  2536       * No description
  2537       *
  2538       * @tags Bucket
  2539       * @name CreateBucketEvent
  2540       * @summary Create Bucket Event
  2541       * @request POST:/buckets/{bucket_name}/events
  2542       * @secure
  2543       */
  2544      createBucketEvent: (
  2545        bucketName: string,
  2546        body: BucketEventRequest,
  2547        params: RequestParams = {},
  2548      ) =>
  2549        this.request<void, ApiError>({
  2550          path: `/buckets/${bucketName}/events`,
  2551          method: "POST",
  2552          body: body,
  2553          secure: true,
  2554          type: ContentType.Json,
  2555          ...params,
  2556        }),
  2557  
  2558      /**
  2559       * No description
  2560       *
  2561       * @tags Bucket
  2562       * @name DeleteBucketEvent
  2563       * @summary Delete Bucket Event
  2564       * @request DELETE:/buckets/{bucket_name}/events/{arn}
  2565       * @secure
  2566       */
  2567      deleteBucketEvent: (
  2568        bucketName: string,
  2569        arn: string,
  2570        body: NotificationDeleteRequest,
  2571        params: RequestParams = {},
  2572      ) =>
  2573        this.request<void, ApiError>({
  2574          path: `/buckets/${bucketName}/events/${arn}`,
  2575          method: "DELETE",
  2576          body: body,
  2577          secure: true,
  2578          type: ContentType.Json,
  2579          ...params,
  2580        }),
  2581  
  2582      /**
  2583       * No description
  2584       *
  2585       * @tags Bucket
  2586       * @name GetBucketReplication
  2587       * @summary Bucket Replication
  2588       * @request GET:/buckets/{bucket_name}/replication
  2589       * @secure
  2590       */
  2591      getBucketReplication: (bucketName: string, params: RequestParams = {}) =>
  2592        this.request<BucketReplicationResponse, ApiError>({
  2593          path: `/buckets/${bucketName}/replication`,
  2594          method: "GET",
  2595          secure: true,
  2596          format: "json",
  2597          ...params,
  2598        }),
  2599  
  2600      /**
  2601       * No description
  2602       *
  2603       * @tags Bucket
  2604       * @name GetBucketReplicationRule
  2605       * @summary Bucket Replication
  2606       * @request GET:/buckets/{bucket_name}/replication/{rule_id}
  2607       * @secure
  2608       */
  2609      getBucketReplicationRule: (
  2610        bucketName: string,
  2611        ruleId: string,
  2612        params: RequestParams = {},
  2613      ) =>
  2614        this.request<BucketReplicationRule, ApiError>({
  2615          path: `/buckets/${bucketName}/replication/${ruleId}`,
  2616          method: "GET",
  2617          secure: true,
  2618          format: "json",
  2619          ...params,
  2620        }),
  2621  
  2622      /**
  2623       * No description
  2624       *
  2625       * @tags Bucket
  2626       * @name UpdateMultiBucketReplication
  2627       * @summary Update Replication rule
  2628       * @request PUT:/buckets/{bucket_name}/replication/{rule_id}
  2629       * @secure
  2630       */
  2631      updateMultiBucketReplication: (
  2632        bucketName: string,
  2633        ruleId: string,
  2634        body: MultiBucketReplicationEdit,
  2635        params: RequestParams = {},
  2636      ) =>
  2637        this.request<void, ApiError>({
  2638          path: `/buckets/${bucketName}/replication/${ruleId}`,
  2639          method: "PUT",
  2640          body: body,
  2641          secure: true,
  2642          type: ContentType.Json,
  2643          ...params,
  2644        }),
  2645  
  2646      /**
  2647       * No description
  2648       *
  2649       * @tags Bucket
  2650       * @name DeleteBucketReplicationRule
  2651       * @summary Bucket Replication Rule Delete
  2652       * @request DELETE:/buckets/{bucket_name}/replication/{rule_id}
  2653       * @secure
  2654       */
  2655      deleteBucketReplicationRule: (
  2656        bucketName: string,
  2657        ruleId: string,
  2658        params: RequestParams = {},
  2659      ) =>
  2660        this.request<void, ApiError>({
  2661          path: `/buckets/${bucketName}/replication/${ruleId}`,
  2662          method: "DELETE",
  2663          secure: true,
  2664          ...params,
  2665        }),
  2666  
  2667      /**
  2668       * No description
  2669       *
  2670       * @tags Bucket
  2671       * @name DeleteAllReplicationRules
  2672       * @summary Deletes all replication rules from a bucket
  2673       * @request DELETE:/buckets/{bucket_name}/delete-all-replication-rules
  2674       * @secure
  2675       */
  2676      deleteAllReplicationRules: (
  2677        bucketName: string,
  2678        params: RequestParams = {},
  2679      ) =>
  2680        this.request<void, ApiError>({
  2681          path: `/buckets/${bucketName}/delete-all-replication-rules`,
  2682          method: "DELETE",
  2683          secure: true,
  2684          ...params,
  2685        }),
  2686  
  2687      /**
  2688       * No description
  2689       *
  2690       * @tags Bucket
  2691       * @name DeleteSelectedReplicationRules
  2692       * @summary Deletes selected replication rules from a bucket
  2693       * @request DELETE:/buckets/{bucket_name}/delete-selected-replication-rules
  2694       * @secure
  2695       */
  2696      deleteSelectedReplicationRules: (
  2697        bucketName: string,
  2698        rules: BucketReplicationRuleList,
  2699        params: RequestParams = {},
  2700      ) =>
  2701        this.request<void, ApiError>({
  2702          path: `/buckets/${bucketName}/delete-selected-replication-rules`,
  2703          method: "DELETE",
  2704          body: rules,
  2705          secure: true,
  2706          type: ContentType.Json,
  2707          ...params,
  2708        }),
  2709  
  2710      /**
  2711       * No description
  2712       *
  2713       * @tags Bucket
  2714       * @name GetBucketVersioning
  2715       * @summary Bucket Versioning
  2716       * @request GET:/buckets/{bucket_name}/versioning
  2717       * @secure
  2718       */
  2719      getBucketVersioning: (bucketName: string, params: RequestParams = {}) =>
  2720        this.request<BucketVersioningResponse, ApiError>({
  2721          path: `/buckets/${bucketName}/versioning`,
  2722          method: "GET",
  2723          secure: true,
  2724          format: "json",
  2725          ...params,
  2726        }),
  2727  
  2728      /**
  2729       * No description
  2730       *
  2731       * @tags Bucket
  2732       * @name SetBucketVersioning
  2733       * @summary Set Bucket Versioning
  2734       * @request PUT:/buckets/{bucket_name}/versioning
  2735       * @secure
  2736       */
  2737      setBucketVersioning: (
  2738        bucketName: string,
  2739        body: SetBucketVersioning,
  2740        params: RequestParams = {},
  2741      ) =>
  2742        this.request<void, ApiError>({
  2743          path: `/buckets/${bucketName}/versioning`,
  2744          method: "PUT",
  2745          body: body,
  2746          secure: true,
  2747          type: ContentType.Json,
  2748          ...params,
  2749        }),
  2750  
  2751      /**
  2752       * No description
  2753       *
  2754       * @tags Bucket
  2755       * @name GetBucketObjectLockingStatus
  2756       * @summary Returns the status of object locking support on the bucket
  2757       * @request GET:/buckets/{bucket_name}/object-locking
  2758       * @secure
  2759       */
  2760      getBucketObjectLockingStatus: (
  2761        bucketName: string,
  2762        params: RequestParams = {},
  2763      ) =>
  2764        this.request<BucketObLockingResponse, ApiError>({
  2765          path: `/buckets/${bucketName}/object-locking`,
  2766          method: "GET",
  2767          secure: true,
  2768          format: "json",
  2769          ...params,
  2770        }),
  2771  
  2772      /**
  2773       * No description
  2774       *
  2775       * @tags Bucket
  2776       * @name EnableBucketEncryption
  2777       * @summary Enable bucket encryption.
  2778       * @request POST:/buckets/{bucket_name}/encryption/enable
  2779       * @secure
  2780       */
  2781      enableBucketEncryption: (
  2782        bucketName: string,
  2783        body: BucketEncryptionRequest,
  2784        params: RequestParams = {},
  2785      ) =>
  2786        this.request<void, ApiError>({
  2787          path: `/buckets/${bucketName}/encryption/enable`,
  2788          method: "POST",
  2789          body: body,
  2790          secure: true,
  2791          type: ContentType.Json,
  2792          ...params,
  2793        }),
  2794  
  2795      /**
  2796       * No description
  2797       *
  2798       * @tags Bucket
  2799       * @name DisableBucketEncryption
  2800       * @summary Disable bucket encryption.
  2801       * @request POST:/buckets/{bucket_name}/encryption/disable
  2802       * @secure
  2803       */
  2804      disableBucketEncryption: (bucketName: string, params: RequestParams = {}) =>
  2805        this.request<void, ApiError>({
  2806          path: `/buckets/${bucketName}/encryption/disable`,
  2807          method: "POST",
  2808          secure: true,
  2809          ...params,
  2810        }),
  2811  
  2812      /**
  2813       * No description
  2814       *
  2815       * @tags Bucket
  2816       * @name GetBucketEncryptionInfo
  2817       * @summary Get bucket encryption information.
  2818       * @request GET:/buckets/{bucket_name}/encryption/info
  2819       * @secure
  2820       */
  2821      getBucketEncryptionInfo: (bucketName: string, params: RequestParams = {}) =>
  2822        this.request<BucketEncryptionInfo, ApiError>({
  2823          path: `/buckets/${bucketName}/encryption/info`,
  2824          method: "GET",
  2825          secure: true,
  2826          format: "json",
  2827          ...params,
  2828        }),
  2829  
  2830      /**
  2831       * No description
  2832       *
  2833       * @tags Bucket
  2834       * @name GetBucketLifecycle
  2835       * @summary Bucket Lifecycle
  2836       * @request GET:/buckets/{bucket_name}/lifecycle
  2837       * @secure
  2838       */
  2839      getBucketLifecycle: (bucketName: string, params: RequestParams = {}) =>
  2840        this.request<BucketLifecycleResponse, ApiError>({
  2841          path: `/buckets/${bucketName}/lifecycle`,
  2842          method: "GET",
  2843          secure: true,
  2844          format: "json",
  2845          ...params,
  2846        }),
  2847  
  2848      /**
  2849       * No description
  2850       *
  2851       * @tags Bucket
  2852       * @name AddBucketLifecycle
  2853       * @summary Add Bucket Lifecycle
  2854       * @request POST:/buckets/{bucket_name}/lifecycle
  2855       * @secure
  2856       */
  2857      addBucketLifecycle: (
  2858        bucketName: string,
  2859        body: AddBucketLifecycle,
  2860        params: RequestParams = {},
  2861      ) =>
  2862        this.request<void, ApiError>({
  2863          path: `/buckets/${bucketName}/lifecycle`,
  2864          method: "POST",
  2865          body: body,
  2866          secure: true,
  2867          type: ContentType.Json,
  2868          ...params,
  2869        }),
  2870  
  2871      /**
  2872       * No description
  2873       *
  2874       * @tags Bucket
  2875       * @name AddMultiBucketLifecycle
  2876       * @summary Add Multi Bucket Lifecycle
  2877       * @request POST:/buckets/multi-lifecycle
  2878       * @secure
  2879       */
  2880      addMultiBucketLifecycle: (
  2881        body: AddMultiBucketLifecycle,
  2882        params: RequestParams = {},
  2883      ) =>
  2884        this.request<MultiLifecycleResult, ApiError>({
  2885          path: `/buckets/multi-lifecycle`,
  2886          method: "POST",
  2887          body: body,
  2888          secure: true,
  2889          type: ContentType.Json,
  2890          format: "json",
  2891          ...params,
  2892        }),
  2893  
  2894      /**
  2895       * No description
  2896       *
  2897       * @tags Bucket
  2898       * @name UpdateBucketLifecycle
  2899       * @summary Update Lifecycle rule
  2900       * @request PUT:/buckets/{bucket_name}/lifecycle/{lifecycle_id}
  2901       * @secure
  2902       */
  2903      updateBucketLifecycle: (
  2904        bucketName: string,
  2905        lifecycleId: string,
  2906        body: UpdateBucketLifecycle,
  2907        params: RequestParams = {},
  2908      ) =>
  2909        this.request<void, ApiError>({
  2910          path: `/buckets/${bucketName}/lifecycle/${lifecycleId}`,
  2911          method: "PUT",
  2912          body: body,
  2913          secure: true,
  2914          type: ContentType.Json,
  2915          ...params,
  2916        }),
  2917  
  2918      /**
  2919       * No description
  2920       *
  2921       * @tags Bucket
  2922       * @name DeleteBucketLifecycleRule
  2923       * @summary Delete Lifecycle rule
  2924       * @request DELETE:/buckets/{bucket_name}/lifecycle/{lifecycle_id}
  2925       * @secure
  2926       */
  2927      deleteBucketLifecycleRule: (
  2928        bucketName: string,
  2929        lifecycleId: string,
  2930        params: RequestParams = {},
  2931      ) =>
  2932        this.request<void, ApiError>({
  2933          path: `/buckets/${bucketName}/lifecycle/${lifecycleId}`,
  2934          method: "DELETE",
  2935          secure: true,
  2936          ...params,
  2937        }),
  2938  
  2939      /**
  2940       * No description
  2941       *
  2942       * @tags Bucket
  2943       * @name GetBucketRewind
  2944       * @summary Get objects in a bucket for a rewind date
  2945       * @request GET:/buckets/{bucket_name}/rewind/{date}
  2946       * @secure
  2947       */
  2948      getBucketRewind: (
  2949        bucketName: string,
  2950        date: string,
  2951        query?: {
  2952          prefix?: string;
  2953        },
  2954        params: RequestParams = {},
  2955      ) =>
  2956        this.request<RewindResponse, ApiError>({
  2957          path: `/buckets/${bucketName}/rewind/${date}`,
  2958          method: "GET",
  2959          query: query,
  2960          secure: true,
  2961          format: "json",
  2962          ...params,
  2963        }),
  2964  
  2965      /**
  2966       * No description
  2967       *
  2968       * @tags Bucket
  2969       * @name GetMaxShareLinkExp
  2970       * @summary Get max expiration time for share link in seconds
  2971       * @request GET:/buckets/max-share-exp
  2972       * @secure
  2973       */
  2974      getMaxShareLinkExp: (params: RequestParams = {}) =>
  2975        this.request<MaxShareLinkExpResponse, ApiError>({
  2976          path: `/buckets/max-share-exp`,
  2977          method: "GET",
  2978          secure: true,
  2979          format: "json",
  2980          ...params,
  2981        }),
  2982    };
  2983    listExternalBuckets = {
  2984      /**
  2985       * No description
  2986       *
  2987       * @tags Bucket
  2988       * @name ListExternalBuckets
  2989       * @summary Lists an External list of buckets using custom credentials
  2990       * @request POST:/list-external-buckets
  2991       * @secure
  2992       */
  2993      listExternalBuckets: (
  2994        body: ListExternalBucketsParams,
  2995        params: RequestParams = {},
  2996      ) =>
  2997        this.request<ListBucketsResponse, ApiError>({
  2998          path: `/list-external-buckets`,
  2999          method: "POST",
  3000          body: body,
  3001          secure: true,
  3002          type: ContentType.Json,
  3003          format: "json",
  3004          ...params,
  3005        }),
  3006    };
  3007    bucketsReplication = {
  3008      /**
  3009       * No description
  3010       *
  3011       * @tags Bucket
  3012       * @name SetMultiBucketReplication
  3013       * @summary Sets Multi Bucket Replication in multiple Buckets
  3014       * @request POST:/buckets-replication
  3015       * @secure
  3016       */
  3017      setMultiBucketReplication: (
  3018        body: MultiBucketReplication,
  3019        params: RequestParams = {},
  3020      ) =>
  3021        this.request<MultiBucketResponseState, ApiError>({
  3022          path: `/buckets-replication`,
  3023          method: "POST",
  3024          body: body,
  3025          secure: true,
  3026          type: ContentType.Json,
  3027          format: "json",
  3028          ...params,
  3029        }),
  3030    };
  3031    serviceAccounts = {
  3032      /**
  3033       * No description
  3034       *
  3035       * @tags ServiceAccount
  3036       * @name ListUserServiceAccounts
  3037       * @summary List User's Service Accounts
  3038       * @request GET:/service-accounts
  3039       * @secure
  3040       */
  3041      listUserServiceAccounts: (
  3042        query?: {
  3043          /**
  3044           * @format int32
  3045           * @default 0
  3046           */
  3047          offset?: number;
  3048          /**
  3049           * @format int32
  3050           * @default 20
  3051           */
  3052          limit?: number;
  3053        },
  3054        params: RequestParams = {},
  3055      ) =>
  3056        this.request<ServiceAccounts, ApiError>({
  3057          path: `/service-accounts`,
  3058          method: "GET",
  3059          query: query,
  3060          secure: true,
  3061          format: "json",
  3062          ...params,
  3063        }),
  3064  
  3065      /**
  3066       * No description
  3067       *
  3068       * @tags ServiceAccount
  3069       * @name CreateServiceAccount
  3070       * @summary Create Service Account
  3071       * @request POST:/service-accounts
  3072       * @secure
  3073       */
  3074      createServiceAccount: (
  3075        body: ServiceAccountRequest,
  3076        params: RequestParams = {},
  3077      ) =>
  3078        this.request<ServiceAccountCreds, ApiError>({
  3079          path: `/service-accounts`,
  3080          method: "POST",
  3081          body: body,
  3082          secure: true,
  3083          format: "json",
  3084          ...params,
  3085        }),
  3086  
  3087      /**
  3088       * No description
  3089       *
  3090       * @tags ServiceAccount
  3091       * @name DeleteMultipleServiceAccounts
  3092       * @summary Delete Multiple Service Accounts
  3093       * @request DELETE:/service-accounts/delete-multi
  3094       * @secure
  3095       */
  3096      deleteMultipleServiceAccounts: (
  3097        selectedSA: SelectedSAs,
  3098        params: RequestParams = {},
  3099      ) =>
  3100        this.request<void, ApiError>({
  3101          path: `/service-accounts/delete-multi`,
  3102          method: "DELETE",
  3103          body: selectedSA,
  3104          secure: true,
  3105          type: ContentType.Json,
  3106          ...params,
  3107        }),
  3108  
  3109      /**
  3110       * No description
  3111       *
  3112       * @tags ServiceAccount
  3113       * @name GetServiceAccount
  3114       * @summary Get Service Account
  3115       * @request GET:/service-accounts/{access_key}
  3116       * @secure
  3117       */
  3118      getServiceAccount: (accessKey: string, params: RequestParams = {}) =>
  3119        this.request<ServiceAccount, ApiError>({
  3120          path: `/service-accounts/${accessKey}`,
  3121          method: "GET",
  3122          secure: true,
  3123          format: "json",
  3124          ...params,
  3125        }),
  3126  
  3127      /**
  3128       * No description
  3129       *
  3130       * @tags ServiceAccount
  3131       * @name UpdateServiceAccount
  3132       * @summary Set Service Account Policy
  3133       * @request PUT:/service-accounts/{access_key}
  3134       * @secure
  3135       */
  3136      updateServiceAccount: (
  3137        accessKey: string,
  3138        body: UpdateServiceAccountRequest,
  3139        params: RequestParams = {},
  3140      ) =>
  3141        this.request<void, ApiError>({
  3142          path: `/service-accounts/${accessKey}`,
  3143          method: "PUT",
  3144          body: body,
  3145          secure: true,
  3146          type: ContentType.Json,
  3147          ...params,
  3148        }),
  3149  
  3150      /**
  3151       * No description
  3152       *
  3153       * @tags ServiceAccount
  3154       * @name DeleteServiceAccount
  3155       * @summary Delete Service Account
  3156       * @request DELETE:/service-accounts/{access_key}
  3157       * @secure
  3158       */
  3159      deleteServiceAccount: (accessKey: string, params: RequestParams = {}) =>
  3160        this.request<void, ApiError>({
  3161          path: `/service-accounts/${accessKey}`,
  3162          method: "DELETE",
  3163          secure: true,
  3164          ...params,
  3165        }),
  3166    };
  3167    serviceAccountCredentials = {
  3168      /**
  3169       * No description
  3170       *
  3171       * @tags ServiceAccount
  3172       * @name CreateServiceAccountCreds
  3173       * @summary Create Service Account With Credentials
  3174       * @request POST:/service-account-credentials
  3175       * @secure
  3176       */
  3177      createServiceAccountCreds: (
  3178        body: ServiceAccountRequestCreds,
  3179        params: RequestParams = {},
  3180      ) =>
  3181        this.request<ServiceAccountCreds, ApiError>({
  3182          path: `/service-account-credentials`,
  3183          method: "POST",
  3184          body: body,
  3185          secure: true,
  3186          format: "json",
  3187          ...params,
  3188        }),
  3189    };
  3190    users = {
  3191      /**
  3192       * No description
  3193       *
  3194       * @tags User
  3195       * @name ListUsers
  3196       * @summary List Users
  3197       * @request GET:/users
  3198       * @secure
  3199       */
  3200      listUsers: (
  3201        query?: {
  3202          /**
  3203           * @format int32
  3204           * @default 0
  3205           */
  3206          offset?: number;
  3207          /**
  3208           * @format int32
  3209           * @default 20
  3210           */
  3211          limit?: number;
  3212        },
  3213        params: RequestParams = {},
  3214      ) =>
  3215        this.request<ListUsersResponse, ApiError>({
  3216          path: `/users`,
  3217          method: "GET",
  3218          query: query,
  3219          secure: true,
  3220          format: "json",
  3221          ...params,
  3222        }),
  3223  
  3224      /**
  3225       * No description
  3226       *
  3227       * @tags User
  3228       * @name AddUser
  3229       * @summary Add User
  3230       * @request POST:/users
  3231       * @secure
  3232       */
  3233      addUser: (body: AddUserRequest, params: RequestParams = {}) =>
  3234        this.request<User, ApiError>({
  3235          path: `/users`,
  3236          method: "POST",
  3237          body: body,
  3238          secure: true,
  3239          type: ContentType.Json,
  3240          format: "json",
  3241          ...params,
  3242        }),
  3243  
  3244      /**
  3245       * No description
  3246       *
  3247       * @tags User
  3248       * @name CheckUserServiceAccounts
  3249       * @summary Check number of service accounts for each user specified
  3250       * @request POST:/users/service-accounts
  3251       * @secure
  3252       */
  3253      checkUserServiceAccounts: (
  3254        selectedUsers: SelectedUsers,
  3255        params: RequestParams = {},
  3256      ) =>
  3257        this.request<UserServiceAccountSummary, ApiError>({
  3258          path: `/users/service-accounts`,
  3259          method: "POST",
  3260          body: selectedUsers,
  3261          secure: true,
  3262          type: ContentType.Json,
  3263          format: "json",
  3264          ...params,
  3265        }),
  3266    };
  3267    user = {
  3268      /**
  3269       * No description
  3270       *
  3271       * @tags User
  3272       * @name GetUserInfo
  3273       * @summary Get User Info
  3274       * @request GET:/user/{name}
  3275       * @secure
  3276       */
  3277      getUserInfo: (name: string, params: RequestParams = {}) =>
  3278        this.request<User, ApiError>({
  3279          path: `/user/${name}`,
  3280          method: "GET",
  3281          secure: true,
  3282          format: "json",
  3283          ...params,
  3284        }),
  3285  
  3286      /**
  3287       * No description
  3288       *
  3289       * @tags User
  3290       * @name UpdateUserInfo
  3291       * @summary Update User Info
  3292       * @request PUT:/user/{name}
  3293       * @secure
  3294       */
  3295      updateUserInfo: (
  3296        name: string,
  3297        body: UpdateUser,
  3298        params: RequestParams = {},
  3299      ) =>
  3300        this.request<User, ApiError>({
  3301          path: `/user/${name}`,
  3302          method: "PUT",
  3303          body: body,
  3304          secure: true,
  3305          type: ContentType.Json,
  3306          format: "json",
  3307          ...params,
  3308        }),
  3309  
  3310      /**
  3311       * No description
  3312       *
  3313       * @tags User
  3314       * @name RemoveUser
  3315       * @summary Remove user
  3316       * @request DELETE:/user/{name}
  3317       * @secure
  3318       */
  3319      removeUser: (name: string, params: RequestParams = {}) =>
  3320        this.request<void, ApiError>({
  3321          path: `/user/${name}`,
  3322          method: "DELETE",
  3323          secure: true,
  3324          ...params,
  3325        }),
  3326  
  3327      /**
  3328       * No description
  3329       *
  3330       * @tags User
  3331       * @name UpdateUserGroups
  3332       * @summary Update Groups for a user
  3333       * @request PUT:/user/{name}/groups
  3334       * @secure
  3335       */
  3336      updateUserGroups: (
  3337        name: string,
  3338        body: UpdateUserGroups,
  3339        params: RequestParams = {},
  3340      ) =>
  3341        this.request<User, ApiError>({
  3342          path: `/user/${name}/groups`,
  3343          method: "PUT",
  3344          body: body,
  3345          secure: true,
  3346          type: ContentType.Json,
  3347          format: "json",
  3348          ...params,
  3349        }),
  3350  
  3351      /**
  3352       * No description
  3353       *
  3354       * @tags Policy
  3355       * @name GetUserPolicy
  3356       * @summary returns policies for logged in user
  3357       * @request GET:/user/policy
  3358       * @secure
  3359       */
  3360      getUserPolicy: (params: RequestParams = {}) =>
  3361        this.request<IamEntity, ApiError>({
  3362          path: `/user/policy`,
  3363          method: "GET",
  3364          secure: true,
  3365          format: "json",
  3366          ...params,
  3367        }),
  3368  
  3369      /**
  3370       * No description
  3371       *
  3372       * @tags Policy
  3373       * @name GetSaUserPolicy
  3374       * @summary returns policies assigned for a specified user
  3375       * @request GET:/user/{name}/policies
  3376       * @secure
  3377       */
  3378      getSaUserPolicy: (name: string, params: RequestParams = {}) =>
  3379        this.request<AUserPolicyResponse, ApiError>({
  3380          path: `/user/${name}/policies`,
  3381          method: "GET",
  3382          secure: true,
  3383          format: "json",
  3384          ...params,
  3385        }),
  3386  
  3387      /**
  3388       * No description
  3389       *
  3390       * @tags User
  3391       * @name ListAUserServiceAccounts
  3392       * @summary returns a list of service accounts for a user
  3393       * @request GET:/user/{name}/service-accounts
  3394       * @secure
  3395       */
  3396      listAUserServiceAccounts: (name: string, params: RequestParams = {}) =>
  3397        this.request<ServiceAccounts, ApiError>({
  3398          path: `/user/${name}/service-accounts`,
  3399          method: "GET",
  3400          secure: true,
  3401          format: "json",
  3402          ...params,
  3403        }),
  3404  
  3405      /**
  3406       * No description
  3407       *
  3408       * @tags User
  3409       * @name CreateAUserServiceAccount
  3410       * @summary Create Service Account for User
  3411       * @request POST:/user/{name}/service-accounts
  3412       * @secure
  3413       */
  3414      createAUserServiceAccount: (
  3415        name: string,
  3416        body: ServiceAccountRequest,
  3417        params: RequestParams = {},
  3418      ) =>
  3419        this.request<ServiceAccountCreds, ApiError>({
  3420          path: `/user/${name}/service-accounts`,
  3421          method: "POST",
  3422          body: body,
  3423          secure: true,
  3424          format: "json",
  3425          ...params,
  3426        }),
  3427  
  3428      /**
  3429       * No description
  3430       *
  3431       * @tags User
  3432       * @name CreateServiceAccountCredentials
  3433       * @summary Create Service Account for User With Credentials
  3434       * @request POST:/user/{name}/service-account-credentials
  3435       * @secure
  3436       */
  3437      createServiceAccountCredentials: (
  3438        name: string,
  3439        body: ServiceAccountRequestCreds,
  3440        params: RequestParams = {},
  3441      ) =>
  3442        this.request<ServiceAccountCreds, ApiError>({
  3443          path: `/user/${name}/service-account-credentials`,
  3444          method: "POST",
  3445          body: body,
  3446          secure: true,
  3447          format: "json",
  3448          ...params,
  3449        }),
  3450    };
  3451    usersGroupsBulk = {
  3452      /**
  3453       * No description
  3454       *
  3455       * @tags User
  3456       * @name BulkUpdateUsersGroups
  3457       * @summary Bulk functionality to Add Users to Groups
  3458       * @request PUT:/users-groups-bulk
  3459       * @secure
  3460       */
  3461      bulkUpdateUsersGroups: (body: BulkUserGroups, params: RequestParams = {}) =>
  3462        this.request<void, ApiError>({
  3463          path: `/users-groups-bulk`,
  3464          method: "PUT",
  3465          body: body,
  3466          secure: true,
  3467          type: ContentType.Json,
  3468          ...params,
  3469        }),
  3470    };
  3471    groups = {
  3472      /**
  3473       * No description
  3474       *
  3475       * @tags Group
  3476       * @name ListGroups
  3477       * @summary List Groups
  3478       * @request GET:/groups
  3479       * @secure
  3480       */
  3481      listGroups: (
  3482        query?: {
  3483          /**
  3484           * @format int32
  3485           * @default 0
  3486           */
  3487          offset?: number;
  3488          /**
  3489           * @format int32
  3490           * @default 20
  3491           */
  3492          limit?: number;
  3493        },
  3494        params: RequestParams = {},
  3495      ) =>
  3496        this.request<ListGroupsResponse, ApiError>({
  3497          path: `/groups`,
  3498          method: "GET",
  3499          query: query,
  3500          secure: true,
  3501          format: "json",
  3502          ...params,
  3503        }),
  3504  
  3505      /**
  3506       * No description
  3507       *
  3508       * @tags Group
  3509       * @name AddGroup
  3510       * @summary Add Group
  3511       * @request POST:/groups
  3512       * @secure
  3513       */
  3514      addGroup: (body: AddGroupRequest, params: RequestParams = {}) =>
  3515        this.request<void, ApiError>({
  3516          path: `/groups`,
  3517          method: "POST",
  3518          body: body,
  3519          secure: true,
  3520          type: ContentType.Json,
  3521          ...params,
  3522        }),
  3523    };
  3524    group = {
  3525      /**
  3526       * No description
  3527       *
  3528       * @tags Group
  3529       * @name GroupInfo
  3530       * @summary Group info
  3531       * @request GET:/group/{name}
  3532       * @secure
  3533       */
  3534      groupInfo: (name: string, params: RequestParams = {}) =>
  3535        this.request<Group, ApiError>({
  3536          path: `/group/${name}`,
  3537          method: "GET",
  3538          secure: true,
  3539          format: "json",
  3540          ...params,
  3541        }),
  3542  
  3543      /**
  3544       * No description
  3545       *
  3546       * @tags Group
  3547       * @name RemoveGroup
  3548       * @summary Remove group
  3549       * @request DELETE:/group/{name}
  3550       * @secure
  3551       */
  3552      removeGroup: (name: string, params: RequestParams = {}) =>
  3553        this.request<void, ApiError>({
  3554          path: `/group/${name}`,
  3555          method: "DELETE",
  3556          secure: true,
  3557          ...params,
  3558        }),
  3559  
  3560      /**
  3561       * No description
  3562       *
  3563       * @tags Group
  3564       * @name UpdateGroup
  3565       * @summary Update Group Members or Status
  3566       * @request PUT:/group/{name}
  3567       * @secure
  3568       */
  3569      updateGroup: (
  3570        name: string,
  3571        body: UpdateGroupRequest,
  3572        params: RequestParams = {},
  3573      ) =>
  3574        this.request<Group, ApiError>({
  3575          path: `/group/${name}`,
  3576          method: "PUT",
  3577          body: body,
  3578          secure: true,
  3579          type: ContentType.Json,
  3580          format: "json",
  3581          ...params,
  3582        }),
  3583    };
  3584    policies = {
  3585      /**
  3586       * No description
  3587       *
  3588       * @tags Policy
  3589       * @name ListPolicies
  3590       * @summary List Policies
  3591       * @request GET:/policies
  3592       * @secure
  3593       */
  3594      listPolicies: (
  3595        query?: {
  3596          /**
  3597           * @format int32
  3598           * @default 0
  3599           */
  3600          offset?: number;
  3601          /**
  3602           * @format int32
  3603           * @default 20
  3604           */
  3605          limit?: number;
  3606        },
  3607        params: RequestParams = {},
  3608      ) =>
  3609        this.request<ListPoliciesResponse, ApiError>({
  3610          path: `/policies`,
  3611          method: "GET",
  3612          query: query,
  3613          secure: true,
  3614          format: "json",
  3615          ...params,
  3616        }),
  3617  
  3618      /**
  3619       * No description
  3620       *
  3621       * @tags Policy
  3622       * @name AddPolicy
  3623       * @summary Add Policy
  3624       * @request POST:/policies
  3625       * @secure
  3626       */
  3627      addPolicy: (body: AddPolicyRequest, params: RequestParams = {}) =>
  3628        this.request<Policy, ApiError>({
  3629          path: `/policies`,
  3630          method: "POST",
  3631          body: body,
  3632          secure: true,
  3633          type: ContentType.Json,
  3634          format: "json",
  3635          ...params,
  3636        }),
  3637  
  3638      /**
  3639       * No description
  3640       *
  3641       * @tags Policy
  3642       * @name ListUsersForPolicy
  3643       * @summary List Users for a Policy
  3644       * @request GET:/policies/{policy}/users
  3645       * @secure
  3646       */
  3647      listUsersForPolicy: (policy: string, params: RequestParams = {}) =>
  3648        this.request<SelectedUsers, ApiError>({
  3649          path: `/policies/${policy}/users`,
  3650          method: "GET",
  3651          secure: true,
  3652          format: "json",
  3653          ...params,
  3654        }),
  3655  
  3656      /**
  3657       * No description
  3658       *
  3659       * @tags Policy
  3660       * @name ListGroupsForPolicy
  3661       * @summary List Groups for a Policy
  3662       * @request GET:/policies/{policy}/groups
  3663       * @secure
  3664       */
  3665      listGroupsForPolicy: (policy: string, params: RequestParams = {}) =>
  3666        this.request<SelectedUsers, ApiError>({
  3667          path: `/policies/${policy}/groups`,
  3668          method: "GET",
  3669          secure: true,
  3670          format: "json",
  3671          ...params,
  3672        }),
  3673    };
  3674    bucketPolicy = {
  3675      /**
  3676       * No description
  3677       *
  3678       * @tags Bucket
  3679       * @name ListPoliciesWithBucket
  3680       * @summary List Policies With Given Bucket
  3681       * @request GET:/bucket-policy/{bucket}
  3682       * @secure
  3683       */
  3684      listPoliciesWithBucket: (
  3685        bucket: string,
  3686        query?: {
  3687          /**
  3688           * @format int32
  3689           * @default 0
  3690           */
  3691          offset?: number;
  3692          /**
  3693           * @format int32
  3694           * @default 20
  3695           */
  3696          limit?: number;
  3697        },
  3698        params: RequestParams = {},
  3699      ) =>
  3700        this.request<ListPoliciesResponse, ApiError>({
  3701          path: `/bucket-policy/${bucket}`,
  3702          method: "GET",
  3703          query: query,
  3704          secure: true,
  3705          format: "json",
  3706          ...params,
  3707        }),
  3708    };
  3709    bucket = {
  3710      /**
  3711       * No description
  3712       *
  3713       * @tags Bucket
  3714       * @name SetAccessRuleWithBucket
  3715       * @summary Add Access Rule To Given Bucket
  3716       * @request PUT:/bucket/{bucket}/access-rules
  3717       * @secure
  3718       */
  3719      setAccessRuleWithBucket: (
  3720        bucket: string,
  3721        prefixaccess: PrefixAccessPair,
  3722        params: RequestParams = {},
  3723      ) =>
  3724        this.request<boolean, ApiError>({
  3725          path: `/bucket/${bucket}/access-rules`,
  3726          method: "PUT",
  3727          body: prefixaccess,
  3728          secure: true,
  3729          type: ContentType.Json,
  3730          format: "json",
  3731          ...params,
  3732        }),
  3733  
  3734      /**
  3735       * No description
  3736       *
  3737       * @tags Bucket
  3738       * @name ListAccessRulesWithBucket
  3739       * @summary List Access Rules With Given Bucket
  3740       * @request GET:/bucket/{bucket}/access-rules
  3741       * @secure
  3742       */
  3743      listAccessRulesWithBucket: (
  3744        bucket: string,
  3745        query?: {
  3746          /**
  3747           * @format int32
  3748           * @default 0
  3749           */
  3750          offset?: number;
  3751          /**
  3752           * @format int32
  3753           * @default 20
  3754           */
  3755          limit?: number;
  3756        },
  3757        params: RequestParams = {},
  3758      ) =>
  3759        this.request<ListAccessRulesResponse, ApiError>({
  3760          path: `/bucket/${bucket}/access-rules`,
  3761          method: "GET",
  3762          query: query,
  3763          secure: true,
  3764          format: "json",
  3765          ...params,
  3766        }),
  3767  
  3768      /**
  3769       * No description
  3770       *
  3771       * @tags Bucket
  3772       * @name DeleteAccessRuleWithBucket
  3773       * @summary Delete Access Rule From Given Bucket
  3774       * @request DELETE:/bucket/{bucket}/access-rules
  3775       * @secure
  3776       */
  3777      deleteAccessRuleWithBucket: (
  3778        bucket: string,
  3779        prefix: PrefixWrapper,
  3780        params: RequestParams = {},
  3781      ) =>
  3782        this.request<boolean, ApiError>({
  3783          path: `/bucket/${bucket}/access-rules`,
  3784          method: "DELETE",
  3785          body: prefix,
  3786          secure: true,
  3787          type: ContentType.Json,
  3788          format: "json",
  3789          ...params,
  3790        }),
  3791    };
  3792    bucketUsers = {
  3793      /**
  3794       * No description
  3795       *
  3796       * @tags Bucket
  3797       * @name ListUsersWithAccessToBucket
  3798       * @summary List Users With Access to a Given Bucket
  3799       * @request GET:/bucket-users/{bucket}
  3800       * @secure
  3801       */
  3802      listUsersWithAccessToBucket: (
  3803        bucket: string,
  3804        query?: {
  3805          /**
  3806           * @format int32
  3807           * @default 0
  3808           */
  3809          offset?: number;
  3810          /**
  3811           * @format int32
  3812           * @default 20
  3813           */
  3814          limit?: number;
  3815        },
  3816        params: RequestParams = {},
  3817      ) =>
  3818        this.request<SelectedUsers, ApiError>({
  3819          path: `/bucket-users/${bucket}`,
  3820          method: "GET",
  3821          query: query,
  3822          secure: true,
  3823          format: "json",
  3824          ...params,
  3825        }),
  3826    };
  3827    policy = {
  3828      /**
  3829       * No description
  3830       *
  3831       * @tags Policy
  3832       * @name PolicyInfo
  3833       * @summary Policy info
  3834       * @request GET:/policy/{name}
  3835       * @secure
  3836       */
  3837      policyInfo: (name: string, params: RequestParams = {}) =>
  3838        this.request<Policy, ApiError>({
  3839          path: `/policy/${name}`,
  3840          method: "GET",
  3841          secure: true,
  3842          format: "json",
  3843          ...params,
  3844        }),
  3845  
  3846      /**
  3847       * No description
  3848       *
  3849       * @tags Policy
  3850       * @name RemovePolicy
  3851       * @summary Remove policy
  3852       * @request DELETE:/policy/{name}
  3853       * @secure
  3854       */
  3855      removePolicy: (name: string, params: RequestParams = {}) =>
  3856        this.request<void, ApiError>({
  3857          path: `/policy/${name}`,
  3858          method: "DELETE",
  3859          secure: true,
  3860          ...params,
  3861        }),
  3862    };
  3863    configs = {
  3864      /**
  3865       * No description
  3866       *
  3867       * @tags Configuration
  3868       * @name ListConfig
  3869       * @summary List Configurations
  3870       * @request GET:/configs
  3871       * @secure
  3872       */
  3873      listConfig: (
  3874        query?: {
  3875          /**
  3876           * @format int32
  3877           * @default 0
  3878           */
  3879          offset?: number;
  3880          /**
  3881           * @format int32
  3882           * @default 20
  3883           */
  3884          limit?: number;
  3885        },
  3886        params: RequestParams = {},
  3887      ) =>
  3888        this.request<ListConfigResponse, ApiError>({
  3889          path: `/configs`,
  3890          method: "GET",
  3891          query: query,
  3892          secure: true,
  3893          format: "json",
  3894          ...params,
  3895        }),
  3896  
  3897      /**
  3898       * No description
  3899       *
  3900       * @tags Configuration
  3901       * @name ConfigInfo
  3902       * @summary Configuration info
  3903       * @request GET:/configs/{name}
  3904       * @secure
  3905       */
  3906      configInfo: (name: string, params: RequestParams = {}) =>
  3907        this.request<Configuration[], ApiError>({
  3908          path: `/configs/${name}`,
  3909          method: "GET",
  3910          secure: true,
  3911          format: "json",
  3912          ...params,
  3913        }),
  3914  
  3915      /**
  3916       * No description
  3917       *
  3918       * @tags Configuration
  3919       * @name SetConfig
  3920       * @summary Set Configuration
  3921       * @request PUT:/configs/{name}
  3922       * @secure
  3923       */
  3924      setConfig: (
  3925        name: string,
  3926        body: SetConfigRequest,
  3927        params: RequestParams = {},
  3928      ) =>
  3929        this.request<SetConfigResponse, ApiError>({
  3930          path: `/configs/${name}`,
  3931          method: "PUT",
  3932          body: body,
  3933          secure: true,
  3934          type: ContentType.Json,
  3935          format: "json",
  3936          ...params,
  3937        }),
  3938  
  3939      /**
  3940       * No description
  3941       *
  3942       * @tags Configuration
  3943       * @name ResetConfig
  3944       * @summary Configuration reset
  3945       * @request POST:/configs/{name}/reset
  3946       * @secure
  3947       */
  3948      resetConfig: (name: string, params: RequestParams = {}) =>
  3949        this.request<SetConfigResponse, ApiError>({
  3950          path: `/configs/${name}/reset`,
  3951          method: "POST",
  3952          secure: true,
  3953          format: "json",
  3954          ...params,
  3955        }),
  3956  
  3957      /**
  3958       * No description
  3959       *
  3960       * @tags Configuration
  3961       * @name ExportConfig
  3962       * @summary Export the current config from MinIO server
  3963       * @request GET:/configs/export
  3964       * @secure
  3965       */
  3966      exportConfig: (params: RequestParams = {}) =>
  3967        this.request<ConfigExportResponse, ApiError>({
  3968          path: `/configs/export`,
  3969          method: "GET",
  3970          secure: true,
  3971          format: "json",
  3972          ...params,
  3973        }),
  3974  
  3975      /**
  3976       * No description
  3977       *
  3978       * @tags Configuration
  3979       * @name ImportCreate
  3980       * @summary Uploads a file to import MinIO server config.
  3981       * @request POST:/configs/import
  3982       * @secure
  3983       */
  3984      importCreate: (
  3985        data: {
  3986          /** @format binary */
  3987          file: File;
  3988        },
  3989        params: RequestParams = {},
  3990      ) =>
  3991        this.request<void, ApiError>({
  3992          path: `/configs/import`,
  3993          method: "POST",
  3994          body: data,
  3995          secure: true,
  3996          type: ContentType.FormData,
  3997          ...params,
  3998        }),
  3999    };
  4000    setPolicy = {
  4001      /**
  4002       * No description
  4003       *
  4004       * @tags Policy
  4005       * @name SetPolicy
  4006       * @summary Set policy
  4007       * @request PUT:/set-policy
  4008       * @secure
  4009       */
  4010      setPolicy: (body: SetPolicyNameRequest, params: RequestParams = {}) =>
  4011        this.request<void, ApiError>({
  4012          path: `/set-policy`,
  4013          method: "PUT",
  4014          body: body,
  4015          secure: true,
  4016          type: ContentType.Json,
  4017          ...params,
  4018        }),
  4019    };
  4020    setPolicyMulti = {
  4021      /**
  4022       * No description
  4023       *
  4024       * @tags Policy
  4025       * @name SetPolicyMultiple
  4026       * @summary Set policy to multiple users/groups
  4027       * @request PUT:/set-policy-multi
  4028       * @secure
  4029       */
  4030      setPolicyMultiple: (
  4031        body: SetPolicyMultipleNameRequest,
  4032        params: RequestParams = {},
  4033      ) =>
  4034        this.request<void, ApiError>({
  4035          path: `/set-policy-multi`,
  4036          method: "PUT",
  4037          body: body,
  4038          secure: true,
  4039          type: ContentType.Json,
  4040          ...params,
  4041        }),
  4042    };
  4043    service = {
  4044      /**
  4045       * No description
  4046       *
  4047       * @tags Service
  4048       * @name RestartService
  4049       * @summary Restart Service
  4050       * @request POST:/service/restart
  4051       * @secure
  4052       */
  4053      restartService: (params: RequestParams = {}) =>
  4054        this.request<void, ApiError>({
  4055          path: `/service/restart`,
  4056          method: "POST",
  4057          secure: true,
  4058          ...params,
  4059        }),
  4060    };
  4061    profiling = {
  4062      /**
  4063       * No description
  4064       *
  4065       * @tags Profile
  4066       * @name ProfilingStart
  4067       * @summary Start recording profile data
  4068       * @request POST:/profiling/start
  4069       * @secure
  4070       */
  4071      profilingStart: (body: ProfilingStartRequest, params: RequestParams = {}) =>
  4072        this.request<StartProfilingList, ApiError>({
  4073          path: `/profiling/start`,
  4074          method: "POST",
  4075          body: body,
  4076          secure: true,
  4077          type: ContentType.Json,
  4078          format: "json",
  4079          ...params,
  4080        }),
  4081  
  4082      /**
  4083       * No description
  4084       *
  4085       * @tags Profile
  4086       * @name ProfilingStop
  4087       * @summary Stop and download profile data
  4088       * @request POST:/profiling/stop
  4089       * @secure
  4090       */
  4091      profilingStop: (params: RequestParams = {}) =>
  4092        this.request<File, ApiError>({
  4093          path: `/profiling/stop`,
  4094          method: "POST",
  4095          secure: true,
  4096          ...params,
  4097        }),
  4098    };
  4099    subnet = {
  4100      /**
  4101       * No description
  4102       *
  4103       * @tags Subnet
  4104       * @name SubnetRegToken
  4105       * @summary SUBNET registraton token
  4106       * @request GET:/subnet/registration-token
  4107       * @secure
  4108       */
  4109      subnetRegToken: (params: RequestParams = {}) =>
  4110        this.request<SubnetRegTokenResponse, ApiError>({
  4111          path: `/subnet/registration-token`,
  4112          method: "GET",
  4113          secure: true,
  4114          format: "json",
  4115          ...params,
  4116        }),
  4117  
  4118      /**
  4119       * No description
  4120       *
  4121       * @tags Subnet
  4122       * @name SubnetInfo
  4123       * @summary Subnet info
  4124       * @request GET:/subnet/info
  4125       * @secure
  4126       */
  4127      subnetInfo: (params: RequestParams = {}) =>
  4128        this.request<License, ApiError>({
  4129          path: `/subnet/info`,
  4130          method: "GET",
  4131          secure: true,
  4132          format: "json",
  4133          ...params,
  4134        }),
  4135  
  4136      /**
  4137       * No description
  4138       *
  4139       * @tags Subnet
  4140       * @name SubnetApiKey
  4141       * @summary Subnet api key
  4142       * @request GET:/subnet/apikey
  4143       * @secure
  4144       */
  4145      subnetApiKey: (
  4146        query: {
  4147          token: string;
  4148        },
  4149        params: RequestParams = {},
  4150      ) =>
  4151        this.request<ApiKey, ApiError>({
  4152          path: `/subnet/apikey`,
  4153          method: "GET",
  4154          query: query,
  4155          secure: true,
  4156          format: "json",
  4157          ...params,
  4158        }),
  4159  
  4160      /**
  4161       * No description
  4162       *
  4163       * @tags Subnet
  4164       * @name SubnetRegister
  4165       * @summary Register cluster with Subnet
  4166       * @request POST:/subnet/register
  4167       * @secure
  4168       */
  4169      subnetRegister: (body: SubnetRegisterRequest, params: RequestParams = {}) =>
  4170        this.request<void, ApiError>({
  4171          path: `/subnet/register`,
  4172          method: "POST",
  4173          body: body,
  4174          secure: true,
  4175          type: ContentType.Json,
  4176          ...params,
  4177        }),
  4178  
  4179      /**
  4180       * No description
  4181       *
  4182       * @tags Subnet
  4183       * @name SubnetLogin
  4184       * @summary Login to SUBNET
  4185       * @request POST:/subnet/login
  4186       * @secure
  4187       */
  4188      subnetLogin: (body: SubnetLoginRequest, params: RequestParams = {}) =>
  4189        this.request<SubnetLoginResponse, ApiError>({
  4190          path: `/subnet/login`,
  4191          method: "POST",
  4192          body: body,
  4193          secure: true,
  4194          type: ContentType.Json,
  4195          format: "json",
  4196          ...params,
  4197        }),
  4198  
  4199      /**
  4200       * No description
  4201       *
  4202       * @tags Subnet
  4203       * @name SubnetLoginMfa
  4204       * @summary Login to SUBNET using mfa
  4205       * @request POST:/subnet/login/mfa
  4206       * @secure
  4207       */
  4208      subnetLoginMfa: (body: SubnetLoginMFARequest, params: RequestParams = {}) =>
  4209        this.request<SubnetLoginResponse, ApiError>({
  4210          path: `/subnet/login/mfa`,
  4211          method: "POST",
  4212          body: body,
  4213          secure: true,
  4214          type: ContentType.Json,
  4215          format: "json",
  4216          ...params,
  4217        }),
  4218    };
  4219    admin = {
  4220      /**
  4221       * No description
  4222       *
  4223       * @tags System
  4224       * @name AdminInfo
  4225       * @summary Returns information about the deployment
  4226       * @request GET:/admin/info
  4227       * @secure
  4228       */
  4229      adminInfo: (
  4230        query?: {
  4231          /** @default false */
  4232          defaultOnly?: boolean;
  4233        },
  4234        params: RequestParams = {},
  4235      ) =>
  4236        this.request<AdminInfoResponse, ApiError>({
  4237          path: `/admin/info`,
  4238          method: "GET",
  4239          query: query,
  4240          secure: true,
  4241          format: "json",
  4242          ...params,
  4243        }),
  4244  
  4245      /**
  4246       * No description
  4247       *
  4248       * @tags System
  4249       * @name DashboardWidgetDetails
  4250       * @summary Returns information about the deployment
  4251       * @request GET:/admin/info/widgets/{widgetId}
  4252       * @secure
  4253       */
  4254      dashboardWidgetDetails: (
  4255        widgetId: number,
  4256        query?: {
  4257          start?: number;
  4258          end?: number;
  4259          /** @format int32 */
  4260          step?: number;
  4261        },
  4262        params: RequestParams = {},
  4263      ) =>
  4264        this.request<WidgetDetails, ApiError>({
  4265          path: `/admin/info/widgets/${widgetId}`,
  4266          method: "GET",
  4267          query: query,
  4268          secure: true,
  4269          format: "json",
  4270          ...params,
  4271        }),
  4272  
  4273      /**
  4274       * No description
  4275       *
  4276       * @tags System
  4277       * @name ArnList
  4278       * @summary Returns a list of active ARNs in the instance
  4279       * @request GET:/admin/arns
  4280       * @secure
  4281       */
  4282      arnList: (params: RequestParams = {}) =>
  4283        this.request<ArnsResponse, ApiError>({
  4284          path: `/admin/arns`,
  4285          method: "GET",
  4286          secure: true,
  4287          format: "json",
  4288          ...params,
  4289        }),
  4290  
  4291      /**
  4292       * No description
  4293       *
  4294       * @tags Configuration
  4295       * @name NotificationEndpointList
  4296       * @summary Returns a list of active notification endpoints
  4297       * @request GET:/admin/notification_endpoints
  4298       * @secure
  4299       */
  4300      notificationEndpointList: (params: RequestParams = {}) =>
  4301        this.request<NotifEndpointResponse, ApiError>({
  4302          path: `/admin/notification_endpoints`,
  4303          method: "GET",
  4304          secure: true,
  4305          format: "json",
  4306          ...params,
  4307        }),
  4308  
  4309      /**
  4310       * No description
  4311       *
  4312       * @tags Configuration
  4313       * @name AddNotificationEndpoint
  4314       * @summary Allows to configure a new notification endpoint
  4315       * @request POST:/admin/notification_endpoints
  4316       * @secure
  4317       */
  4318      addNotificationEndpoint: (
  4319        body: NotificationEndpoint,
  4320        params: RequestParams = {},
  4321      ) =>
  4322        this.request<SetNotificationEndpointResponse, ApiError>({
  4323          path: `/admin/notification_endpoints`,
  4324          method: "POST",
  4325          body: body,
  4326          secure: true,
  4327          type: ContentType.Json,
  4328          format: "json",
  4329          ...params,
  4330        }),
  4331  
  4332      /**
  4333       * No description
  4334       *
  4335       * @tags SiteReplication
  4336       * @name GetSiteReplicationInfo
  4337       * @summary Get list of Replication Sites
  4338       * @request GET:/admin/site-replication
  4339       * @secure
  4340       */
  4341      getSiteReplicationInfo: (params: RequestParams = {}) =>
  4342        this.request<SiteReplicationInfoResponse, ApiError>({
  4343          path: `/admin/site-replication`,
  4344          method: "GET",
  4345          secure: true,
  4346          format: "json",
  4347          ...params,
  4348        }),
  4349  
  4350      /**
  4351       * No description
  4352       *
  4353       * @tags SiteReplication
  4354       * @name SiteReplicationInfoAdd
  4355       * @summary Add a Replication Site
  4356       * @request POST:/admin/site-replication
  4357       * @secure
  4358       */
  4359      siteReplicationInfoAdd: (
  4360        body: SiteReplicationAddRequest,
  4361        params: RequestParams = {},
  4362      ) =>
  4363        this.request<SiteReplicationAddResponse, ApiError>({
  4364          path: `/admin/site-replication`,
  4365          method: "POST",
  4366          body: body,
  4367          secure: true,
  4368          type: ContentType.Json,
  4369          format: "json",
  4370          ...params,
  4371        }),
  4372  
  4373      /**
  4374       * No description
  4375       *
  4376       * @tags SiteReplication
  4377       * @name SiteReplicationEdit
  4378       * @summary Edit a Replication Site
  4379       * @request PUT:/admin/site-replication
  4380       * @secure
  4381       */
  4382      siteReplicationEdit: (body: PeerInfo, params: RequestParams = {}) =>
  4383        this.request<PeerSiteEditResponse, ApiError>({
  4384          path: `/admin/site-replication`,
  4385          method: "PUT",
  4386          body: body,
  4387          secure: true,
  4388          type: ContentType.Json,
  4389          format: "json",
  4390          ...params,
  4391        }),
  4392  
  4393      /**
  4394       * No description
  4395       *
  4396       * @tags SiteReplication
  4397       * @name SiteReplicationRemove
  4398       * @summary Remove a Replication Site
  4399       * @request DELETE:/admin/site-replication
  4400       * @secure
  4401       */
  4402      siteReplicationRemove: (body: PeerInfoRemove, params: RequestParams = {}) =>
  4403        this.request<PeerSiteRemoveResponse, ApiError>({
  4404          path: `/admin/site-replication`,
  4405          method: "DELETE",
  4406          body: body,
  4407          secure: true,
  4408          type: ContentType.Json,
  4409          format: "json",
  4410          ...params,
  4411        }),
  4412  
  4413      /**
  4414       * No description
  4415       *
  4416       * @tags SiteReplication
  4417       * @name GetSiteReplicationStatus
  4418       * @summary Display overall site replication status
  4419       * @request GET:/admin/site-replication/status
  4420       * @secure
  4421       */
  4422      getSiteReplicationStatus: (
  4423        query?: {
  4424          /**
  4425           * Include Bucket stats
  4426           * @default true
  4427           */
  4428          buckets?: boolean;
  4429          /**
  4430           * Include Group stats
  4431           * @default true
  4432           */
  4433          groups?: boolean;
  4434          /**
  4435           * Include Policies stats
  4436           * @default true
  4437           */
  4438          policies?: boolean;
  4439          /**
  4440           * Include Policies stats
  4441           * @default true
  4442           */
  4443          users?: boolean;
  4444          /** Entity Type to lookup */
  4445          entityType?: string;
  4446          /** Entity Value to lookup */
  4447          entityValue?: string;
  4448        },
  4449        params: RequestParams = {},
  4450      ) =>
  4451        this.request<SiteReplicationStatusResponse, ApiError>({
  4452          path: `/admin/site-replication/status`,
  4453          method: "GET",
  4454          query: query,
  4455          secure: true,
  4456          format: "json",
  4457          ...params,
  4458        }),
  4459  
  4460      /**
  4461       * No description
  4462       *
  4463       * @tags Tiering
  4464       * @name TiersList
  4465       * @summary Returns a list of tiers for ilm
  4466       * @request GET:/admin/tiers
  4467       * @secure
  4468       */
  4469      tiersList: (params: RequestParams = {}) =>
  4470        this.request<TierListResponse, ApiError>({
  4471          path: `/admin/tiers`,
  4472          method: "GET",
  4473          secure: true,
  4474          format: "json",
  4475          ...params,
  4476        }),
  4477  
  4478      /**
  4479       * No description
  4480       *
  4481       * @tags Tiering
  4482       * @name AddTier
  4483       * @summary Allows to configure a new tier
  4484       * @request POST:/admin/tiers
  4485       * @secure
  4486       */
  4487      addTier: (body: Tier, params: RequestParams = {}) =>
  4488        this.request<void, ApiError>({
  4489          path: `/admin/tiers`,
  4490          method: "POST",
  4491          body: body,
  4492          secure: true,
  4493          type: ContentType.Json,
  4494          ...params,
  4495        }),
  4496  
  4497      /**
  4498       * No description
  4499       *
  4500       * @tags Tiering
  4501       * @name GetTier
  4502       * @summary Get Tier
  4503       * @request GET:/admin/tiers/{type}/{name}
  4504       * @secure
  4505       */
  4506      getTier: (
  4507        type: "s3" | "gcs" | "azure" | "minio",
  4508        name: string,
  4509        params: RequestParams = {},
  4510      ) =>
  4511        this.request<Tier, ApiError>({
  4512          path: `/admin/tiers/${type}/${name}`,
  4513          method: "GET",
  4514          secure: true,
  4515          format: "json",
  4516          ...params,
  4517        }),
  4518  
  4519      /**
  4520       * No description
  4521       *
  4522       * @tags Tiering
  4523       * @name EditTierCredentials
  4524       * @summary Edit Tier Credentials
  4525       * @request PUT:/admin/tiers/{type}/{name}/credentials
  4526       * @secure
  4527       */
  4528      editTierCredentials: (
  4529        type: "s3" | "gcs" | "azure" | "minio",
  4530        name: string,
  4531        body: TierCredentialsRequest,
  4532        params: RequestParams = {},
  4533      ) =>
  4534        this.request<void, ApiError>({
  4535          path: `/admin/tiers/${type}/${name}/credentials`,
  4536          method: "PUT",
  4537          body: body,
  4538          secure: true,
  4539          type: ContentType.Json,
  4540          ...params,
  4541        }),
  4542  
  4543      /**
  4544       * No description
  4545       *
  4546       * @tags Inspect
  4547       * @name Inspect
  4548       * @summary Inspect Files on Drive
  4549       * @request GET:/admin/inspect
  4550       * @secure
  4551       */
  4552      inspect: (
  4553        query: {
  4554          file: string;
  4555          volume: string;
  4556          encrypt?: boolean;
  4557        },
  4558        params: RequestParams = {},
  4559      ) =>
  4560        this.request<File, ApiError>({
  4561          path: `/admin/inspect`,
  4562          method: "GET",
  4563          query: query,
  4564          secure: true,
  4565          ...params,
  4566        }),
  4567    };
  4568    nodes = {
  4569      /**
  4570       * No description
  4571       *
  4572       * @tags System
  4573       * @name ListNodes
  4574       * @summary Lists Nodes
  4575       * @request GET:/nodes
  4576       * @secure
  4577       */
  4578      listNodes: (params: RequestParams = {}) =>
  4579        this.request<SelectedUsers, ApiError>({
  4580          path: `/nodes`,
  4581          method: "GET",
  4582          secure: true,
  4583          format: "json",
  4584          ...params,
  4585        }),
  4586    };
  4587    remoteBuckets = {
  4588      /**
  4589       * No description
  4590       *
  4591       * @tags Bucket
  4592       * @name ListRemoteBuckets
  4593       * @summary List Remote Buckets
  4594       * @request GET:/remote-buckets
  4595       * @secure
  4596       */
  4597      listRemoteBuckets: (params: RequestParams = {}) =>
  4598        this.request<ListRemoteBucketsResponse, ApiError>({
  4599          path: `/remote-buckets`,
  4600          method: "GET",
  4601          secure: true,
  4602          format: "json",
  4603          ...params,
  4604        }),
  4605  
  4606      /**
  4607       * No description
  4608       *
  4609       * @tags Bucket
  4610       * @name AddRemoteBucket
  4611       * @summary Add Remote Bucket
  4612       * @request POST:/remote-buckets
  4613       * @secure
  4614       */
  4615      addRemoteBucket: (body: CreateRemoteBucket, params: RequestParams = {}) =>
  4616        this.request<void, ApiError>({
  4617          path: `/remote-buckets`,
  4618          method: "POST",
  4619          body: body,
  4620          secure: true,
  4621          type: ContentType.Json,
  4622          ...params,
  4623        }),
  4624  
  4625      /**
  4626       * No description
  4627       *
  4628       * @tags Bucket
  4629       * @name RemoteBucketDetails
  4630       * @summary Remote Bucket Details
  4631       * @request GET:/remote-buckets/{name}
  4632       * @secure
  4633       */
  4634      remoteBucketDetails: (name: string, params: RequestParams = {}) =>
  4635        this.request<RemoteBucket, ApiError>({
  4636          path: `/remote-buckets/${name}`,
  4637          method: "GET",
  4638          secure: true,
  4639          format: "json",
  4640          ...params,
  4641        }),
  4642  
  4643      /**
  4644       * No description
  4645       *
  4646       * @tags Bucket
  4647       * @name DeleteRemoteBucket
  4648       * @summary Delete Remote Bucket
  4649       * @request DELETE:/remote-buckets/{source-bucket-name}/{arn}
  4650       * @secure
  4651       */
  4652      deleteRemoteBucket: (
  4653        sourceBucketName: string,
  4654        arn: string,
  4655        params: RequestParams = {},
  4656      ) =>
  4657        this.request<void, ApiError>({
  4658          path: `/remote-buckets/${sourceBucketName}/${arn}`,
  4659          method: "DELETE",
  4660          secure: true,
  4661          ...params,
  4662        }),
  4663    };
  4664    logs = {
  4665      /**
  4666       * No description
  4667       *
  4668       * @tags Logging
  4669       * @name LogSearch
  4670       * @summary Search the logs
  4671       * @request GET:/logs/search
  4672       * @secure
  4673       */
  4674      logSearch: (
  4675        query?: {
  4676          /** Filter Parameters */
  4677          fp?: string[];
  4678          /**
  4679           * @format int32
  4680           * @default 10
  4681           */
  4682          pageSize?: number;
  4683          /**
  4684           * @format int32
  4685           * @default 0
  4686           */
  4687          pageNo?: number;
  4688          /** @default "timeDesc" */
  4689          order?: "timeDesc" | "timeAsc";
  4690          timeStart?: string;
  4691          timeEnd?: string;
  4692        },
  4693        params: RequestParams = {},
  4694      ) =>
  4695        this.request<LogSearchResponse, ApiError>({
  4696          path: `/logs/search`,
  4697          method: "GET",
  4698          query: query,
  4699          secure: true,
  4700          format: "json",
  4701          ...params,
  4702        }),
  4703    };
  4704    kms = {
  4705      /**
  4706       * No description
  4707       *
  4708       * @tags KMS
  4709       * @name KmsStatus
  4710       * @summary KMS status
  4711       * @request GET:/kms/status
  4712       * @secure
  4713       */
  4714      kmsStatus: (params: RequestParams = {}) =>
  4715        this.request<KmsStatusResponse, ApiError>({
  4716          path: `/kms/status`,
  4717          method: "GET",
  4718          secure: true,
  4719          format: "json",
  4720          ...params,
  4721        }),
  4722  
  4723      /**
  4724       * No description
  4725       *
  4726       * @tags KMS
  4727       * @name KmsMetrics
  4728       * @summary KMS metrics
  4729       * @request GET:/kms/metrics
  4730       * @secure
  4731       */
  4732      kmsMetrics: (params: RequestParams = {}) =>
  4733        this.request<KmsMetricsResponse, ApiError>({
  4734          path: `/kms/metrics`,
  4735          method: "GET",
  4736          secure: true,
  4737          format: "json",
  4738          ...params,
  4739        }),
  4740  
  4741      /**
  4742       * No description
  4743       *
  4744       * @tags KMS
  4745       * @name KmsapIs
  4746       * @summary KMS apis
  4747       * @request GET:/kms/apis
  4748       * @secure
  4749       */
  4750      kmsapIs: (params: RequestParams = {}) =>
  4751        this.request<KmsAPIsResponse, ApiError>({
  4752          path: `/kms/apis`,
  4753          method: "GET",
  4754          secure: true,
  4755          format: "json",
  4756          ...params,
  4757        }),
  4758  
  4759      /**
  4760       * No description
  4761       *
  4762       * @tags KMS
  4763       * @name KmsVersion
  4764       * @summary KMS version
  4765       * @request GET:/kms/version
  4766       * @secure
  4767       */
  4768      kmsVersion: (params: RequestParams = {}) =>
  4769        this.request<KmsVersionResponse, ApiError>({
  4770          path: `/kms/version`,
  4771          method: "GET",
  4772          secure: true,
  4773          format: "json",
  4774          ...params,
  4775        }),
  4776  
  4777      /**
  4778       * No description
  4779       *
  4780       * @tags KMS
  4781       * @name KmsCreateKey
  4782       * @summary KMS create key
  4783       * @request POST:/kms/keys
  4784       * @secure
  4785       */
  4786      kmsCreateKey: (body: KmsCreateKeyRequest, params: RequestParams = {}) =>
  4787        this.request<void, ApiError>({
  4788          path: `/kms/keys`,
  4789          method: "POST",
  4790          body: body,
  4791          secure: true,
  4792          type: ContentType.Json,
  4793          ...params,
  4794        }),
  4795  
  4796      /**
  4797       * No description
  4798       *
  4799       * @tags KMS
  4800       * @name KmsListKeys
  4801       * @summary KMS list keys
  4802       * @request GET:/kms/keys
  4803       * @secure
  4804       */
  4805      kmsListKeys: (
  4806        query?: {
  4807          /** pattern to retrieve keys */
  4808          pattern?: string;
  4809        },
  4810        params: RequestParams = {},
  4811      ) =>
  4812        this.request<KmsListKeysResponse, ApiError>({
  4813          path: `/kms/keys`,
  4814          method: "GET",
  4815          query: query,
  4816          secure: true,
  4817          format: "json",
  4818          ...params,
  4819        }),
  4820  
  4821      /**
  4822       * No description
  4823       *
  4824       * @tags KMS
  4825       * @name KmsKeyStatus
  4826       * @summary KMS key status
  4827       * @request GET:/kms/keys/{name}
  4828       * @secure
  4829       */
  4830      kmsKeyStatus: (name: string, params: RequestParams = {}) =>
  4831        this.request<KmsKeyStatusResponse, ApiError>({
  4832          path: `/kms/keys/${name}`,
  4833          method: "GET",
  4834          secure: true,
  4835          format: "json",
  4836          ...params,
  4837        }),
  4838  
  4839      /**
  4840       * No description
  4841       *
  4842       * @tags KMS
  4843       * @name KmsDeleteKey
  4844       * @summary KMS delete key
  4845       * @request DELETE:/kms/keys/{name}
  4846       * @secure
  4847       */
  4848      kmsDeleteKey: (name: string, params: RequestParams = {}) =>
  4849        this.request<void, ApiError>({
  4850          path: `/kms/keys/${name}`,
  4851          method: "DELETE",
  4852          secure: true,
  4853          ...params,
  4854        }),
  4855  
  4856      /**
  4857       * No description
  4858       *
  4859       * @tags KMS
  4860       * @name KmsImportKey
  4861       * @summary KMS import key
  4862       * @request POST:/kms/keys/{name}/import
  4863       * @secure
  4864       */
  4865      kmsImportKey: (
  4866        name: string,
  4867        body: KmsImportKeyRequest,
  4868        params: RequestParams = {},
  4869      ) =>
  4870        this.request<void, ApiError>({
  4871          path: `/kms/keys/${name}/import`,
  4872          method: "POST",
  4873          body: body,
  4874          secure: true,
  4875          type: ContentType.Json,
  4876          ...params,
  4877        }),
  4878  
  4879      /**
  4880       * No description
  4881       *
  4882       * @tags KMS
  4883       * @name KmsSetPolicy
  4884       * @summary KMS set policy
  4885       * @request POST:/kms/policies
  4886       * @secure
  4887       */
  4888      kmsSetPolicy: (body: KmsSetPolicyRequest, params: RequestParams = {}) =>
  4889        this.request<void, ApiError>({
  4890          path: `/kms/policies`,
  4891          method: "POST",
  4892          body: body,
  4893          secure: true,
  4894          type: ContentType.Json,
  4895          ...params,
  4896        }),
  4897  
  4898      /**
  4899       * No description
  4900       *
  4901       * @tags KMS
  4902       * @name KmsListPolicies
  4903       * @summary KMS list policies
  4904       * @request GET:/kms/policies
  4905       * @secure
  4906       */
  4907      kmsListPolicies: (
  4908        query?: {
  4909          /** pattern to retrieve policies */
  4910          pattern?: string;
  4911        },
  4912        params: RequestParams = {},
  4913      ) =>
  4914        this.request<KmsListPoliciesResponse, ApiError>({
  4915          path: `/kms/policies`,
  4916          method: "GET",
  4917          query: query,
  4918          secure: true,
  4919          format: "json",
  4920          ...params,
  4921        }),
  4922  
  4923      /**
  4924       * No description
  4925       *
  4926       * @tags KMS
  4927       * @name KmsGetPolicy
  4928       * @summary KMS get policy
  4929       * @request GET:/kms/policies/{name}
  4930       * @secure
  4931       */
  4932      kmsGetPolicy: (name: string, params: RequestParams = {}) =>
  4933        this.request<KmsGetPolicyResponse, ApiError>({
  4934          path: `/kms/policies/${name}`,
  4935          method: "GET",
  4936          secure: true,
  4937          format: "json",
  4938          ...params,
  4939        }),
  4940  
  4941      /**
  4942       * No description
  4943       *
  4944       * @tags KMS
  4945       * @name KmsDeletePolicy
  4946       * @summary KMS delete policy
  4947       * @request DELETE:/kms/policies/{name}
  4948       * @secure
  4949       */
  4950      kmsDeletePolicy: (name: string, params: RequestParams = {}) =>
  4951        this.request<void, ApiError>({
  4952          path: `/kms/policies/${name}`,
  4953          method: "DELETE",
  4954          secure: true,
  4955          ...params,
  4956        }),
  4957  
  4958      /**
  4959       * No description
  4960       *
  4961       * @tags KMS
  4962       * @name KmsAssignPolicy
  4963       * @summary KMS assign policy
  4964       * @request POST:/kms/policies/{name}/assign
  4965       * @secure
  4966       */
  4967      kmsAssignPolicy: (
  4968        name: string,
  4969        body: KmsAssignPolicyRequest,
  4970        params: RequestParams = {},
  4971      ) =>
  4972        this.request<void, ApiError>({
  4973          path: `/kms/policies/${name}/assign`,
  4974          method: "POST",
  4975          body: body,
  4976          secure: true,
  4977          type: ContentType.Json,
  4978          ...params,
  4979        }),
  4980  
  4981      /**
  4982       * No description
  4983       *
  4984       * @tags KMS
  4985       * @name KmsDescribePolicy
  4986       * @summary KMS describe policy
  4987       * @request GET:/kms/policies/{name}/describe
  4988       * @secure
  4989       */
  4990      kmsDescribePolicy: (name: string, params: RequestParams = {}) =>
  4991        this.request<KmsDescribePolicyResponse, ApiError>({
  4992          path: `/kms/policies/${name}/describe`,
  4993          method: "GET",
  4994          secure: true,
  4995          format: "json",
  4996          ...params,
  4997        }),
  4998  
  4999      /**
  5000       * No description
  5001       *
  5002       * @tags KMS
  5003       * @name KmsDeleteIdentity
  5004       * @summary KMS delete identity
  5005       * @request DELETE:/kms/identities/{name}
  5006       * @secure
  5007       */
  5008      kmsDeleteIdentity: (name: string, params: RequestParams = {}) =>
  5009        this.request<void, ApiError>({
  5010          path: `/kms/identities/${name}`,
  5011          method: "DELETE",
  5012          secure: true,
  5013          ...params,
  5014        }),
  5015  
  5016      /**
  5017       * No description
  5018       *
  5019       * @tags KMS
  5020       * @name KmsDescribeIdentity
  5021       * @summary KMS describe identity
  5022       * @request GET:/kms/identities/{name}/describe
  5023       * @secure
  5024       */
  5025      kmsDescribeIdentity: (name: string, params: RequestParams = {}) =>
  5026        this.request<KmsDescribeIdentityResponse, ApiError>({
  5027          path: `/kms/identities/${name}/describe`,
  5028          method: "GET",
  5029          secure: true,
  5030          format: "json",
  5031          ...params,
  5032        }),
  5033  
  5034      /**
  5035       * No description
  5036       *
  5037       * @tags KMS
  5038       * @name KmsDescribeSelfIdentity
  5039       * @summary KMS describe self identity
  5040       * @request GET:/kms/describe-self/identity
  5041       * @secure
  5042       */
  5043      kmsDescribeSelfIdentity: (params: RequestParams = {}) =>
  5044        this.request<KmsDescribeSelfIdentityResponse, ApiError>({
  5045          path: `/kms/describe-self/identity`,
  5046          method: "GET",
  5047          secure: true,
  5048          format: "json",
  5049          ...params,
  5050        }),
  5051  
  5052      /**
  5053       * No description
  5054       *
  5055       * @tags KMS
  5056       * @name KmsListIdentities
  5057       * @summary KMS list identities
  5058       * @request GET:/kms/identities
  5059       * @secure
  5060       */
  5061      kmsListIdentities: (
  5062        query?: {
  5063          /** pattern to retrieve identities */
  5064          pattern?: string;
  5065        },
  5066        params: RequestParams = {},
  5067      ) =>
  5068        this.request<KmsListIdentitiesResponse, ApiError>({
  5069          path: `/kms/identities`,
  5070          method: "GET",
  5071          query: query,
  5072          secure: true,
  5073          format: "json",
  5074          ...params,
  5075        }),
  5076    };
  5077    idp = {
  5078      /**
  5079       * No description
  5080       *
  5081       * @tags idp
  5082       * @name CreateConfiguration
  5083       * @summary Create IDP Configuration
  5084       * @request POST:/idp/{type}
  5085       * @secure
  5086       */
  5087      createConfiguration: (
  5088        type: string,
  5089        body: IdpServerConfiguration,
  5090        params: RequestParams = {},
  5091      ) =>
  5092        this.request<SetIDPResponse, ApiError>({
  5093          path: `/idp/${type}`,
  5094          method: "POST",
  5095          body: body,
  5096          secure: true,
  5097          type: ContentType.Json,
  5098          format: "json",
  5099          ...params,
  5100        }),
  5101  
  5102      /**
  5103       * No description
  5104       *
  5105       * @tags idp
  5106       * @name ListConfigurations
  5107       * @summary List IDP Configurations
  5108       * @request GET:/idp/{type}
  5109       * @secure
  5110       */
  5111      listConfigurations: (type: string, params: RequestParams = {}) =>
  5112        this.request<IdpListConfigurationsResponse, ApiError>({
  5113          path: `/idp/${type}`,
  5114          method: "GET",
  5115          secure: true,
  5116          format: "json",
  5117          ...params,
  5118        }),
  5119  
  5120      /**
  5121       * No description
  5122       *
  5123       * @tags idp
  5124       * @name GetConfiguration
  5125       * @summary Get IDP Configuration
  5126       * @request GET:/idp/{type}/{name}
  5127       * @secure
  5128       */
  5129      getConfiguration: (
  5130        name: string,
  5131        type: string,
  5132        params: RequestParams = {},
  5133      ) =>
  5134        this.request<IdpServerConfiguration, ApiError>({
  5135          path: `/idp/${type}/${name}`,
  5136          method: "GET",
  5137          secure: true,
  5138          format: "json",
  5139          ...params,
  5140        }),
  5141  
  5142      /**
  5143       * No description
  5144       *
  5145       * @tags idp
  5146       * @name DeleteConfiguration
  5147       * @summary Delete IDP Configuration
  5148       * @request DELETE:/idp/{type}/{name}
  5149       * @secure
  5150       */
  5151      deleteConfiguration: (
  5152        name: string,
  5153        type: string,
  5154        params: RequestParams = {},
  5155      ) =>
  5156        this.request<SetIDPResponse, ApiError>({
  5157          path: `/idp/${type}/${name}`,
  5158          method: "DELETE",
  5159          secure: true,
  5160          format: "json",
  5161          ...params,
  5162        }),
  5163  
  5164      /**
  5165       * No description
  5166       *
  5167       * @tags idp
  5168       * @name UpdateConfiguration
  5169       * @summary Update IDP Configuration
  5170       * @request PUT:/idp/{type}/{name}
  5171       * @secure
  5172       */
  5173      updateConfiguration: (
  5174        name: string,
  5175        type: string,
  5176        body: IdpServerConfiguration,
  5177        params: RequestParams = {},
  5178      ) =>
  5179        this.request<SetIDPResponse, ApiError>({
  5180          path: `/idp/${type}/${name}`,
  5181          method: "PUT",
  5182          body: body,
  5183          secure: true,
  5184          type: ContentType.Json,
  5185          format: "json",
  5186          ...params,
  5187        }),
  5188    };
  5189    ldapEntities = {
  5190      /**
  5191       * No description
  5192       *
  5193       * @tags idp
  5194       * @name GetLdapEntities
  5195       * @summary Get LDAP Entities
  5196       * @request POST:/ldap-entities
  5197       * @secure
  5198       */
  5199      getLdapEntities: (body: LdapEntitiesRequest, params: RequestParams = {}) =>
  5200        this.request<LdapEntities, ApiError>({
  5201          path: `/ldap-entities`,
  5202          method: "POST",
  5203          body: body,
  5204          secure: true,
  5205          type: ContentType.Json,
  5206          format: "json",
  5207          ...params,
  5208        }),
  5209    };
  5210    releases = {
  5211      /**
  5212       * No description
  5213       *
  5214       * @tags release
  5215       * @name ListReleases
  5216       * @summary Get repo releases for a given version
  5217       * @request GET:/releases
  5218       * @secure
  5219       */
  5220      listReleases: (
  5221        query: {
  5222          /** repo name */
  5223          repo: string;
  5224          /** Current Release */
  5225          current?: string;
  5226          /** search content */
  5227          search?: string;
  5228          /** filter releases */
  5229          filter?: string;
  5230        },
  5231        params: RequestParams = {},
  5232      ) =>
  5233        this.request<ReleaseListResponse, ApiError>({
  5234          path: `/releases`,
  5235          method: "GET",
  5236          query: query,
  5237          secure: true,
  5238          format: "json",
  5239          ...params,
  5240        }),
  5241    };
  5242    support = {
  5243      /**
  5244       * No description
  5245       *
  5246       * @tags Support
  5247       * @name GetCallHomeOptionValue
  5248       * @summary Get Callhome current status
  5249       * @request GET:/support/callhome
  5250       * @secure
  5251       */
  5252      getCallHomeOptionValue: (params: RequestParams = {}) =>
  5253        this.request<CallHomeGetResponse, ApiError>({
  5254          path: `/support/callhome`,
  5255          method: "GET",
  5256          secure: true,
  5257          format: "json",
  5258          ...params,
  5259        }),
  5260  
  5261      /**
  5262       * No description
  5263       *
  5264       * @tags Support
  5265       * @name SetCallHomeStatus
  5266       * @summary Sets callhome status
  5267       * @request PUT:/support/callhome
  5268       * @secure
  5269       */
  5270      setCallHomeStatus: (body: CallHomeSetStatus, params: RequestParams = {}) =>
  5271        this.request<void, ApiError>({
  5272          path: `/support/callhome`,
  5273          method: "PUT",
  5274          body: body,
  5275          secure: true,
  5276          type: ContentType.Json,
  5277          ...params,
  5278        }),
  5279    };
  5280    downloadSharedObject = {
  5281      /**
  5282       * No description
  5283       *
  5284       * @tags Public
  5285       * @name DownloadSharedObject
  5286       * @summary Downloads an object from a presigned url
  5287       * @request GET:/download-shared-object/{url}
  5288       */
  5289      downloadSharedObject: (url: string, params: RequestParams = {}) =>
  5290        this.request<File, ApiError>({
  5291          path: `/download-shared-object/${url}`,
  5292          method: "GET",
  5293          ...params,
  5294        }),
  5295    };
  5296  }