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