/* Seaweedfs Master Server API The Seaweedfs Master Server API allows you to store blobs API version: 3.43.0 */ // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. package openapi import ( "bytes" "context" "io" "net/http" "net/url" ) // DefaultApiService DefaultApi service type DefaultApiService service type ApiDirAssignRequest struct { ctx context.Context ApiService *DefaultApiService count *interface{} collection *interface{} dataCenter *interface{} rack *interface{} dataNode *interface{} disk *interface{} replication *interface{} ttl *interface{} preallocate *interface{} memoryMapMaxSizeMb *interface{} writableVolumeCount *interface{} } // how many file ids to assign. Use <fid>_1, <fid>_2 for the assigned additional file ids. e.g. 3,01637037d6_1, 3,01637037d6_2 func (r ApiDirAssignRequest) Count(count interface{}) ApiDirAssignRequest { r.count = &count return r } // required collection name func (r ApiDirAssignRequest) Collection(collection interface{}) ApiDirAssignRequest { r.collection = &collection return r } // preferred data center func (r ApiDirAssignRequest) DataCenter(dataCenter interface{}) ApiDirAssignRequest { r.dataCenter = &dataCenter return r } // preferred rack func (r ApiDirAssignRequest) Rack(rack interface{}) ApiDirAssignRequest { r.rack = &rack return r } // preferred volume server, e.g. 127.0.0.1:8080 func (r ApiDirAssignRequest) DataNode(dataNode interface{}) ApiDirAssignRequest { r.dataNode = &dataNode return r } // If you have disks labelled, this must be supplied to specify the disk type to allocate on. func (r ApiDirAssignRequest) Disk(disk interface{}) ApiDirAssignRequest { r.disk = &disk return r } // replica placement strategy func (r ApiDirAssignRequest) Replication(replication interface{}) ApiDirAssignRequest { r.replication = &replication return r } // file expiration time limit, example: 3m for 3 minutes. units: m-minute, h-hour, d-day, w-week, M-month, y-year func (r ApiDirAssignRequest) Ttl(ttl interface{}) ApiDirAssignRequest { r.ttl = &ttl return r } // If no matching volumes, pre-allocate this number of bytes on disk for new volumes. func (r ApiDirAssignRequest) Preallocate(preallocate interface{}) ApiDirAssignRequest { r.preallocate = &preallocate return r } // Only implemented for windows. Use memory mapped files with specified size for new volumes. func (r ApiDirAssignRequest) MemoryMapMaxSizeMb(memoryMapMaxSizeMb interface{}) ApiDirAssignRequest { r.memoryMapMaxSizeMb = &memoryMapMaxSizeMb return r } // If no matching volumes, create specified number of new volumes. func (r ApiDirAssignRequest) WritableVolumeCount(writableVolumeCount interface{}) ApiDirAssignRequest { r.writableVolumeCount = &writableVolumeCount return r } func (r ApiDirAssignRequest) Execute() (*FileKey, *http.Response, error) { return r.ApiService.DirAssignExecute(r) } /* DirAssign Assign a file key This operation is very cheap. Just increase a number in master server's memory. @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). @return ApiDirAssignRequest */ func (a *DefaultApiService) DirAssign(ctx context.Context) ApiDirAssignRequest { return ApiDirAssignRequest{ ApiService: a, ctx: ctx, } } // Execute executes the request // // @return FileKey func (a *DefaultApiService) DirAssignExecute(r ApiDirAssignRequest) (*FileKey, *http.Response, error) { var ( localVarHTTPMethod = http.MethodGet localVarPostBody interface{} formFiles []formFile localVarReturnValue *FileKey ) localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "DefaultApiService.DirAssign") if err != nil { return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()} } localVarPath := localBasePath + "/dir/assign" localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} if r.count != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "count", r.count, "") } if r.collection != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "collection", r.collection, "") } if r.dataCenter != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "dataCenter", r.dataCenter, "") } if r.rack != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "rack", r.rack, "") } if r.dataNode != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "dataNode", r.dataNode, "") } if r.disk != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "disk", r.disk, "") } if r.replication != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "replication", r.replication, "") } if r.ttl != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "ttl", r.ttl, "") } if r.preallocate != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "preallocate", r.preallocate, "") } if r.memoryMapMaxSizeMb != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "memoryMapMaxSizeMb", r.memoryMapMaxSizeMb, "") } if r.writableVolumeCount != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "writableVolumeCount", r.writableVolumeCount, "") } // to determine the Content-Type header localVarHTTPContentTypes := []string{} // set Content-Type header localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes) if localVarHTTPContentType != "" { localVarHeaderParams["Content-Type"] = localVarHTTPContentType } // to determine the Accept header localVarHTTPHeaderAccepts := []string{"application/json"} // set Accept header localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts) if localVarHTTPHeaderAccept != "" { localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept } req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles) if err != nil { return localVarReturnValue, nil, err } localVarHTTPResponse, err := a.client.callAPI(req) if err != nil || localVarHTTPResponse == nil { return localVarReturnValue, localVarHTTPResponse, err } localVarBody, err := io.ReadAll(localVarHTTPResponse.Body) localVarHTTPResponse.Body.Close() localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) if err != nil { return localVarReturnValue, localVarHTTPResponse, err } if localVarHTTPResponse.StatusCode >= 300 { newErr := &GenericOpenAPIError{ body: localVarBody, error: localVarHTTPResponse.Status, } return localVarReturnValue, localVarHTTPResponse, newErr } err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) if err != nil { newErr := &GenericOpenAPIError{ body: localVarBody, error: err.Error(), } return localVarReturnValue, localVarHTTPResponse, newErr } return localVarReturnValue, localVarHTTPResponse, nil } type ApiDirLookupRequest struct { ctx context.Context ApiService *DefaultApiService volumeId *interface{} collection *interface{} fileId *interface{} read *interface{} } // volume id func (r ApiDirLookupRequest) VolumeId(volumeId interface{}) ApiDirLookupRequest { r.volumeId = &volumeId return r } // optionally to speed up the lookup func (r ApiDirLookupRequest) Collection(collection interface{}) ApiDirLookupRequest { r.collection = &collection return r } // If provided, this returns the fileId location and a JWT to update or delete the file. func (r ApiDirLookupRequest) FileId(fileId interface{}) ApiDirLookupRequest { r.fileId = &fileId return r } // works together with \"fileId\", if read=yes, JWT is generated for reads. func (r ApiDirLookupRequest) Read(read interface{}) ApiDirLookupRequest { r.read = &read return r } func (r ApiDirLookupRequest) Execute() (interface{}, *http.Response, error) { return r.ApiService.DirLookupExecute(r) } /* DirLookup Lookup volume We would need to find out whether the volumes have moved. @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). @return ApiDirLookupRequest */ func (a *DefaultApiService) DirLookup(ctx context.Context) ApiDirLookupRequest { return ApiDirLookupRequest{ ApiService: a, ctx: ctx, } } // Execute executes the request // // @return interface{} func (a *DefaultApiService) DirLookupExecute(r ApiDirLookupRequest) (interface{}, *http.Response, error) { var ( localVarHTTPMethod = http.MethodGet localVarPostBody interface{} formFiles []formFile localVarReturnValue interface{} ) localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "DefaultApiService.DirLookup") if err != nil { return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()} } localVarPath := localBasePath + "/dir/lookup" localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} if r.volumeId != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "volumeId", r.volumeId, "") } if r.collection != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "collection", r.collection, "") } if r.fileId != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "fileId", r.fileId, "") } if r.read != nil { parameterAddToHeaderOrQuery(localVarQueryParams, "read", r.read, "") } // to determine the Content-Type header localVarHTTPContentTypes := []string{} // set Content-Type header localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes) if localVarHTTPContentType != "" { localVarHeaderParams["Content-Type"] = localVarHTTPContentType } // to determine the Accept header localVarHTTPHeaderAccepts := []string{"application/json"} // set Accept header localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts) if localVarHTTPHeaderAccept != "" { localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept } req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles) if err != nil { return localVarReturnValue, nil, err } localVarHTTPResponse, err := a.client.callAPI(req) if err != nil || localVarHTTPResponse == nil { return localVarReturnValue, localVarHTTPResponse, err } localVarBody, err := io.ReadAll(localVarHTTPResponse.Body) localVarHTTPResponse.Body.Close() localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody)) if err != nil { return localVarReturnValue, localVarHTTPResponse, err } if localVarHTTPResponse.StatusCode >= 300 { newErr := &GenericOpenAPIError{ body: localVarBody, error: localVarHTTPResponse.Status, } return localVarReturnValue, localVarHTTPResponse, newErr } err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type")) if err != nil { newErr := &GenericOpenAPIError{ body: localVarBody, error: err.Error(), } return localVarReturnValue, localVarHTTPResponse, newErr } return localVarReturnValue, localVarHTTPResponse, nil }